Submit an episode from text
Queues a multi-speaker audio episode rendered from the text you supply. Returns as soon as the episode is accepted — poll GET /v1/podcast/jobs/{podcast_id} for the audio. Rendering spends LLM and text-to-speech credits, so treat a submission as a billed operation.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Request
Language name (Hindi, english) or locale code (hi-IN, en-IN), any case. Normalized to the locale code the voice providers expect; an unrecognized value is rejected with 400.
Container of the finished episode. mp3 is audio only. mp4 carries the same audio (AAC) with a still black H.264 video track cut to the audio’s length, for platforms that only ingest video, such as Cloudflare Stream.
Text-to-speech provider that voices the episode. elevenlabs renders the voices on the ElevenLabs account behind your workspace’s connection. sarvam renders 37 bulbul:v3 speakers and 222 bulbul:v4-flash persona voices across eleven Indic languages plus Indian English. smallest renders 249 voices across 30+ languages. vakyam renders Vakyam’s Indic voices and speaks Hindi unless language is set. The connection behind the provider is resolved server-side from your own workspace, so no connection id is accepted. Omit it to use your deployment’s default provider.
Text-to-speech model. Must be selectable for tts_provider: eleven_multilingual_v2 (default), eleven_flash_v2_5, eleven_turbo_v2_5, eleven_v4 or eleven_v4_turbo for elevenlabs; bulbul:v3 (default) or bulbul:v4-flash for sarvam; lightning_v3.1_pro for smallest; raaga-v1 for vakyam. Omit it and the provider’s default (its first model) is used. A model that does not belong to the chosen provider is rejected at submit with 400 invalid_request; nothing is rendered or billed.
Response
Always pending on submit — rendering runs asynchronously.
