Realtime TTS-2 is live. Built for realtime conversation that feels human. Read the Realtime TTS-2 announcement

Videos

Retrieve video

Check a video job's status and get a download link once it is complete

GET/v1/videos/{video_id}

Returns the job's current status. When status is completed, the response also includes output.videos[0].url, a signed link to the MP4. The link is valid for up to an hour (url_expires_at), and every call returns a new one, so retrieve the job again whenever you need a fresh link. The video stays available until the job's expires_at, 7 days after it finished.

Poll every 10 to 20 seconds while the job is queued or in_progress. See polling for the result.

Authorizations

Authorizationstringrequired

Your authentication credentials. For Basic authentication, populate Basic $INWORLD_API_KEY.

Path Parameters

video_idstringrequired

The id of a video job your workspace created (video_ followed by 32 hexadecimal characters).

Response

200 - application/json

idstringrequired

The job id.

objectenum<string>required

Available options:video

modelstringrequired

statusenum<string>required

queued: accepted; waiting for or being submitted for generation, so cancellation may already be unavailable. in_progress: generating. completed: generation succeeded; download available until expires_at. failed: see error. cancelled: cancelled before generation started. The last three are terminal.

Available options:queuedin_progresscompletedfailedcancelled

created_atintegerrequired

When the job was created, in Unix seconds.

completed_atinteger

When the video finished, in Unix seconds. Present once status is completed.

expires_atinteger

Until when the video can be downloaded, in Unix seconds: 7 days after it finished. Present only when status is completed.

secondsintegerrequired

The requested clip length, with the model's default filled in.

resolutionstringrequired

The requested resolution, with the model's default filled in.

aspect_ratiostringrequired

The requested aspect ratio, with the model's default filled in.

operationstring

The job's long-running operation. Poll it with GET https://api.inworld.ai/lro/v1alpha/{operation} as an alternative to retrieving the job. The operation reports progress and the outcome but never the download link. See Poll the operation instead.

errorobject

Why the job failed. Present only when status is failed.

Show child attributes

codeenum<string>

content_filtered: the prompt or the generated video was blocked by the model provider's content policy. invalid_request: the model provider rejected the request. generation_failed: generation failed for another reason. generation_timeout: generation did not finish in time.

Available options:content_filteredinvalid_requestgeneration_failedgeneration_timeout

messagestring

outputobject

The finished video. Returned only by Retrieve video, only while status is completed and before expires_at.

Show child attributes

videosobject[]

Show child attributes

indexinteger

content_typestring

bytesinteger

File size in bytes.

urlstring

A signed HTTPS link to the MP4. Anyone with the link can download the file until url_expires_at, so treat it like a secret.

url_expires_atinteger

When url stops working, in Unix seconds: up to an hour after the request, and never after the job's expires_at.