Skip to content

fix(realtime-transcriber-01): correct Scribe model id to scribe_v2_realtime - #83

Open
humanagent wants to merge 1 commit into
elevenlabs:mainfrom
humanagent:fix/scribe-realtime-model-id
Open

fix(realtime-transcriber-01): correct Scribe model id to scribe_v2_realtime#83
humanagent wants to merge 1 commit into
elevenlabs:mainfrom
humanagent:fix/scribe-realtime-model-id

Conversation

@humanagent

Copy link
Copy Markdown

Fixes #82.

realtime-transcriber-01 passes scribe_realtime_v2. The realtime API expects scribe_v2_realtime.

Why it is worth a look beyond the two characters

The socket opens, and is then closed by the server, so it presents as a broken microphone rather than a rejected parameter:

{"message_type":"invalid_request",
 "error":"The model_id 'scribe_realtime_v2' is invalid. Supported models:
          'scribe_v2_realtime', 'scribe_v2_realtime_turbo', 'scribe_v2_realtime_lite'."}
closed 1008 invalid_request

Nothing before that point fails, so the natural read is a permissions or device problem. I spent most of a day on the microphone before reading the close frame.

The same value is baked into apps/www/public/r/realtime-transcriber-01.json, so shadcn add realtime-transcriber-01 installs it broken.

The change

Two occurrences, one of them generated:

  • apps/www/registry/elevenlabs-ui/blocks/realtime-transcriber-01/page.tsx:334
  • apps/www/public/r/realtime-transcriber-01.json (edited in place to match; happy to regenerate with pnpm registry:build instead if you prefer the diff come from the build)

registry/elevenlabs-ui/ui/speech-input.tsx already uses the correct id in both its default and its JSDoc, so this brings the block in line with the rest of the registry. No other occurrence of the wrong id remains.

Suggested follow-up, not included here

useScribe types the parameter as modelId?: string, which is why the transposition compiles. A string-literal union would turn this class of bug into a build error:

type ScribeRealtimeModelId =
  | "scribe_v2_realtime"
  | "scribe_v2_realtime_turbo"
  | "scribe_v2_realtime_lite"

Worth considering because the two orderings are equally plausible to read and to write — the as const on the block suggests the author expected a union to be checking them. Left out of this PR to keep it to the fix; glad to open it separately if useful.

…altime

The block passes `scribe_realtime_v2`, which the realtime API rejects. The
socket opens and is then closed by the server with 1008, so it presents as a
broken microphone rather than a bad parameter:

    {"message_type":"invalid_request",
     "error":"The model_id 'scribe_realtime_v2' is invalid. Supported models:
              'scribe_v2_realtime', 'scribe_v2_realtime_turbo',
              'scribe_v2_realtime_lite'."}
    closed 1008 invalid_request

The same value is baked into public/r/realtime-transcriber-01.json, so
`shadcn add` ships it broken. speech-input.tsx already uses the correct id.

Closes elevenlabs#82
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

@humanagent is attempting to deploy a commit to the ElevenLabs Team on Vercel.

A member of the Team first needs to authorize it.

@cursor

cursor Bot commented Aug 30, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Single-string constant fix in a demo block and its registry JSON; no auth or API contract changes beyond using the correct model name.

Overview
Fixes broken realtime transcription in the realtime-transcriber-01 block by changing the Scribe modelId from scribe_realtime_v2 to scribe_v2_realtime, which the ElevenLabs realtime API accepts.

The same correction is applied in the published registry artifact realtime-transcriber-01.json, so installs via shadcn add get a working model id instead of one that triggers an invalid_request websocket close (often mistaken for a mic/permissions issue).

Reviewed by Cursor Bugbot for commit 31b8ccc. Bugbot is set up for automated code reviews on this repo. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

realtime-transcriber-01 uses an invalid model_id (scribe_realtime_v2), so it never transcribes

1 participant