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

Videos

Cancel video

Cancel a video job before generation starts

POST/v1/videos/{video_id}/cancel

Cancels a job that is still waiting to start. A cancelled job is never billed.

A job is sent for generation as soon as it is created, so a cancel usually succeeds only right after the create. Once generation has started, cancelling returns 409 with code: "video_not_cancellable", even if the job still reports queued. The job then runs to the end and is billed if it completes. To discard its video, delete the job once it has finished.

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.