@ear3/voice-config-cli
Create and deploy an AI voice interview from the terminal — no dashboard round-trip and no key copy-pasting:
npx @ear3/voice-config-cli login # opens the dashboard, one Approve click
npx @ear3/voice-config-cli create \
--name "Coffee habits" \
--prompt "3 quick questions about how people brew and drink coffee"~30 seconds later the AI has generated the questions and deployed the interview. The output is paste-ready:
- a public URL you can share immediately (no code needed),
- the
interviewId(deployment id) plus env-file lines and snippets for@ear3/voice-interviewer.
Run it with no flags for interactive prompts. --json prints the raw
API response for scripting. More commands:
ear3 create --no-deploy # generate a draft only — deploy it later
ear3 deploy <id> # deploy an existing interview → interviewId + link
ear3 edit <id> # open the dashboard editor for an interview
ear3 list # deployed interviews (id = interviewId, status, responses)
ear3 responses <id> # pull all responses + transcripts to the terminal
ear3 insights <id> "<q>" # ask an AI question about the responses
ear3 session <sessionId> # one session: status, response, transcript key
ear3 logout # forget the stored keyAnalyze responses from the terminal
Pull an interview’s conversations straight into your shell — the voice transcript comes inline, so a coding agent can read and theme them without extra calls:
ear3 responses <interviewId> --transcripts # print every conversation
ear3 responses <interviewId> --json # feed the payload to an AIOr let Ear3’s own insight model answer a question over the whole response set, synchronously (summary + confidence + verbatim quotes):
ear3 insights <interviewId> "What do respondents value most?"Draft, then deploy
By default create deploys immediately. Pass --no-deploy to generate
the interview without a live deployment — useful to review or tweak it
first. You then get its interview id (a survey id) and can:
ear3 edit <interviewId> # refine it in the dashboard
ear3 deploy <interviewId> --respondents 50 # deploy → get the interviewId to embedOne interview can be deployed more than once (different limits,
channels). deploy returns the deployment id — that is the
interviewId you pass to @ear3/voice-interviewer.
How login works
ear3 login starts a device flow: it prints (and opens) a dashboard
link; you sign in and click Approve (choosing a test or live key);
the CLI polls until the freshly minted secret key is handed over —
exactly once — and stores it in ~/.ear3/config.json (mode 0600).
The CLI needs a secret key (sk_…) — creating interviews is not
for browser-safe pk_ keys. ear3 login mints one for you via the
browser approval; alternatively pass --key / EAR3_CONFIG_CLI_KEY
manually (where keys live). Resolution order:
--key → env → login store.
Options
| Flag | Env | Default |
|---|---|---|
--key sk_… | EAR3_CONFIG_CLI_KEY | stored by ear3 login |
--api-base <url> | EAR3_API_BASE | https://app.ear3.ai |
--name <text> | asked interactively | |
--prompt <text> | asked interactively | |
--language <code> | en | |
--max-questions | 10 (3–30) | |
--respondents | 10 | |
--duration (min) | 5 | |
--json | raw API response |
Under the hood
One call to POST /api/v1/interviews (secret-key auth): generates the
survey from your prompt with AI, persists it, creates an ACTIVE
public-link deployment, and returns
{ interview, deployment, public_url } — deployment.id is the
interviewId every SDK expects.
Related
- Get your keys — where
sk_keys live @ear3/voice-interviewer— embed the interview you just created@ear3/server— fetch results, verify webhooks