Setting the file. One moment.
Subchapter 135.5
concepts/auth-and-processing-modes.mdMarkdown3 KBView on GitHub
Scribe uses a Build-platform JWT bearer token.
JWT shape:
HS256Node example:
import { KJUR } from 'jsrsasign';
export function generateJWT(apiKey, apiSecret) {
const iat = Math.round(Date.now() / 1000) - 30;
const exp = iat + 60 * 60;
return KJUR.jws.JWS.sign(
'HS256',
JSON.stringify({ alg: 'HS256', typ: 'JWT' }),
JSON.stringify({ iss: apiKey, iat, exp }),
apiSecret,
);
}Zoom docs currently use inconsistent labels across AI Services pages:
API key / API secretSDK key / SDK secretBuild platform credentialsFor implementation, treat them as the Build-platform JWT issuer/secret pair used to sign Scribe requests. Verify the exact labels in the current portal UI before shipping.
| Mode | Best for | Transport | Result timing |
|---|---|---|---|
| Fast mode | One short file, interactive UX | POST /transcribe | Immediate synchronous JSON |
| Batch mode | Archives, long media, many files | POST /jobs then status/webhook | Asynchronous |
file, configlanguage, word_time_offsets, channel_separation, timestamps, output_format, profanity_filter, diarizationinput, output, configSINGLE, PREFIX, MANIFESTS3notifications.webhook_url + notifications.secretChoose fast mode when:
Choose batch mode when:
Scribe is file-oriented, so a browser microphone UX should be modeled as repeated short uploads, not a long-lived stream.
Recommended pattern:
MediaRecorderRecommended starting values:
5 seconds5-10 seconds2-3Why this works:
504 on longer synchronous requestsGuardrail:
rtms