Generate a new episode (asynchronous)
/v1/episodes/generateAuthorizationBearer token · headerrequiredAPI key issued from /settings/api-keys in the Jellypod studio. Send as Authorization: Bearer <key>.
idempotency-keystringOptional key for one logical generation command. Reuse the same key and input after a lost or uncertain response. After a proven rejection before work starts, follow recovery.idempotency_key. Omit it to start a new generation on every request.
application/jsonhost_idsstring[]Hosts to use for generation. In script mode, every segment host_id must be included here, or omit host_ids to infer them from the script.
languagestringenesfrhiptzhdejaarrukoiditnltrplsvfilmsroukelcsdafinobghrsktaaceafaksqamhyasawaazbanbjnbaeubebembnbhobsbugmyyuecackbhnenycrhdyudzetgllgkagnguhthahehuisiggajvkabkamknkskkkmkirwkgkyloltglvltlbmkmagmaimlmtmnimrminlusmnnensoorpagpsfapasatsrsdsislsoswsstgtethtiuruguzvicyoptionsobjectPrompt-mode generation options. These are not used when script is provided.
Show propertiesHide properties
episode_lengthstringepisode_length_minutesintegerweb_searchbooleanpromptstringPrompt used to write the episode script. Omit it to write the episode from source_ids alone. Provide prompt, source_ids, or both, or script instead.
scriptImportedEpisodeScriptStructured script input for episode generation. Script mode skips prompt-based script writing. Limits: 75000 total text characters, 50 chapters, 200 segments per chapter, 600 total segments, and 5000 characters per segment.
Show propertiesHide properties
chaptersImportedScriptChapter[]requiredOrdered script chapters. Maximum 50 chapters.
Show propertiesHide properties
ImportedScriptChaptersegmentsImportedScriptSegment[]requiredSpoken turns in this chapter. Maximum 200 segments.
Show propertiesHide properties
ImportedScriptSegmenthost_idstringrequiredHost ID for the speaker of this segment.
textstringrequiredText to synthesize for this segment. Maximum 5000 characters.
titlestringOptional chapter title.
source_idsstring<uuid>[]Source documents for prompt-based generation. Not supported when script is provided.
podcast_idstring<uuid>requiredPodcast that will own the generated episode.
outputsstring[]Files to produce: audio (MP3), video (MP4 with sound), both, or [] for an editable draft. Each requested file becomes downloadable independently. Do not combine with render. Omission preserves legacy render behavior.
renderbooleandeprecatedDeprecated: use outputs. True produces audio and video; false or omission leaves an editable draft. Do not combine with outputs.
Episode queued for generation
dataobjectrequiredShow propertiesHide properties
created_atstringrequiredhost_idsstring[]requiredidstringrequiredpodcast_idstringrequiredstatusstringrequiredgeneratingupdated_atstringrequiredworkflow_run_idstringrequiredValidation failed or malformed request.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorMissing or invalid API key.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorAuthenticated, but this API key does not have access to this resource.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorResource not found.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorRequest Content-Type is not supported for this endpoint.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorRate limit exceeded. Wait Retry-After seconds before retrying; RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset describe the window.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorInternal server error.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorThe API could not enqueue the downstream asynchronous workflow.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error