SDK@ear3/voice-config-cli

@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 key

Analyze 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 AI

Or 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 embed

One 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

FlagEnvDefault
--key sk_…EAR3_CONFIG_CLI_KEYstored by ear3 login
--api-base <url>EAR3_API_BASEhttps://app.ear3.ai
--name <text>asked interactively
--prompt <text>asked interactively
--language <code>en
--max-questions10 (3–30)
--respondents10
--duration (min)5
--jsonraw 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.


Built by Ear3 — voice interviews for any app.
⌘/