Submit an episode from an uploaded PDF
Queues an episode whose source material is extracted from a PDF already uploaded through POST /v1/podcast/uploads. The PDF is read from storage server-side and must be 10 MB or smaller; a larger file is rejected as 400.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Request
Key returned by POST /v1/podcast/uploads.
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.
