New: 13 caption styles
Jellypod Docs

Create a voiceover

POST
/v1/voiceovers

Authorization

bearerAuth
headerAuthorizationBearer <token>

API key issued from /settings/api-keys in the Jellypod studio. Send as Authorization: Bearer <key>.

Header Parameters

idempotency-key?string

Optional 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.

Match^[\x21-\x7e]+$
Length1 <= length <= 255

Request Body

application/json
  1. body
host_id?string

Narrator Host ID. Required unless host_ids is given. Do not combine with host_ids.

Length1 <= length
language?string

Narration language code. Defaults to en.

Value in"en""es""fr""hi""pt""zh""de""ja""ar""ru""ko""id""it""nl""tr""pl""sv""fil""ms""ro""uk""el""cs""da""fi""no""bg""hr""sk""ta""ace""af""ak""sq""am""hy""as""awa""az""ban""bjn""ba""eu""be""bem""bn""bho""bs""bug""my""yue""ca""ckb""hne""ny""crh""dyu""dz""et""gl""lg""ka""gn""gu""ht""ha""he""hu""is""ig""ga""jv""kab""kam""kn""ks""kk""km""ki""rw""kg""ky""lo""ltg""lv""lt""lb""mk""mag""mai""ml""mt""mni""mr""min""lus""mn""ne""nso""or""pag""ps""fa""pa""sat""sr""sd""si""sl""so""sw""ss""tg""te""th""ti""ur""ug""uz""vi""cy"
orientation?string

Output orientation. Omit for AUTO, which follows the product policy.

Value in"AUTO""PORTRAIT""LANDSCAPE""SQUARE"
captions_enabled?boolean

Show narration captions.

Defaultfalse
direction?string

Optional narration instructions for the uploaded visuals.

Lengthlength <= 4000
host_ids?array<>

Ordered Voiceover Host IDs. Supports up to four. Generation assigns each paragraph to one of them; reassign paragraphs in the editor. Do not combine with host_id.

Items1 <= items <= 4
source_ids*array<>

Uploaded document or image Sources, in presentation order.

Items1 <= items <= 10
target_duration_seconds?||||||||

Supported narration duration. Omit for automatic duration based on source content.

visual_motion?string

Zoom effect. Auto zooms image sources and holds document pages still, dynamic zooms every visual, static zooms none.

Default"auto"
Value in"auto""dynamic""static"

Response Body

Generation accepted. Check the status URL until generation finishes.

application/json
  1. response
data*
curl -X POST 'https://api.jellypod.com/v1/voiceovers' \  -H 'Content-Type: application/json' \  -d '{  "source_ids": [    "0ef3b708-5992-473f-8907-de8eaa4f1ec9"  ]}'
{  "data": {    "background_music": true,    "created_at": "string",    "error": "string",    "generation_id": "string",    "host_id": "string",    "host_ids": [      "string"    ],    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "language": "en",    "object": "voiceover",    "orientation": "LANDSCAPE",    "phase": "string",    "status": "idle",    "studio_url": "http://example.com",    "style_id": "string",    "target_duration_seconds": 0,    "title": "string",    "updated_at": "string"  }}

Was this page helpful?