Dubbing
Cursor-paged Dubbing Project listing. project_id is required: this surface has no ambient Organization context, so the listing is scoped and authorized through the owning Project. Scoped credentials require jobs:read and check that Project inside their stored Organization.
Authorization
DeveloperCredential In: header
Query Parameters
1 <= length <= 128length <= 5121 <= value <= 10025Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/dubbing?project_id=string"{
"items": [
{
"id": "string",
"project_id": "string",
"source_artifact_id": "string",
"source_language": "string",
"target_languages": [
"string"
],
"tracks": [
{
"language": "string",
"stages": [
{
"stage": "transcribe",
"status": "pending",
"job_id": "stringstringstri",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"next_cursor": "string"
}Creates a Dubbing Project over a ready source Artifact. The owning Project supplies the Organization; bearer callers prove Membership, while scoped credentials require jobs:write and artifacts:read and check that Project in their stored Organization. A Project the caller cannot use is masked as 404.
Authorization
DeveloperCredential In: header
Header Parameters
Replay key bounded at 128 characters by the dubbing and lexicon surfaces. Reusing a key with a different request body is a 409 idempotency_conflict.
1 <= length <= 128Request Body
application/json
1 <= length <= 1281 <= length <= 128length <= 321 <= items <= 24Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/dubbing" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{
"project_id": "string",
"source_artifact_id": "string",
"target_languages": [
"string"
]
}'{
"id": "string",
"project_id": "string",
"source_artifact_id": "string",
"source_language": "string",
"target_languages": [
"string"
],
"tracks": [
{
"language": "string",
"stages": [
{
"stage": "transcribe",
"status": "pending",
"job_id": "stringstringstri",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}Scoped credentials require jobs:read and exact Dubbing Project ownership.
Authorization
DeveloperCredential In: header
Path Parameters
^[A-Za-z0-9_-]{16}$Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/dubbing/string"{
"id": "string",
"project_id": "string",
"source_artifact_id": "string",
"source_language": "string",
"target_languages": [
"string"
],
"tracks": [
{
"language": "string",
"stages": [
{
"stage": "transcribe",
"status": "pending",
"job_id": "stringstringstri",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}Deletes the Dubbing Project. The idempotency digest is bound to the target so the same key cannot be replayed against another project. Scoped credentials require jobs:write and exact object ownership.
Authorization
DeveloperCredential In: header
Path Parameters
^[A-Za-z0-9_-]{16}$Header Parameters
Replay key bounded at 128 characters by the dubbing and lexicon surfaces. Reusing a key with a different request body is a 409 idempotency_conflict.
1 <= length <= 128Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/dubbing/string" \
-H "Idempotency-Key: string"Admits one pipeline stage for the named target languages, or for every track when languages is omitted. A stage cannot be admitted before its predecessor succeeds, which answers 409 stage_order. Synthesis accepts exactly one language and an immutable approved model; its atomic prepared-plan admission and private CUDA runtime capability are enabled. Transcription's dormant audio contract targets every track with no languages field and requires an immutable approved ASR model plus mode fast or accurate. Translation's dormant contract accepts exactly one language, an immutable approved model, and quality fast, cinematic, or autofit. Transcribe, translate, and mux answer 503 workflow_unavailable until their runtime gates pass. Scoped credentials require jobs:write and artifacts:read plus exact Dubbing Project ownership.
Authorization
DeveloperCredential In: header
Path Parameters
^[A-Za-z0-9_-]{16}$Value in
- "transcribe"
- "translate"
- "synthesize"
- "mux"
Header Parameters
Replay key bounded at 128 characters by the dubbing and lexicon surfaces. Reusing a key with a different request body is a 409 idempotency_conflict.
1 <= length <= 128Request Body
application/json
An omitted or empty languages list admits the stage on every track of the project. Transcribe requires the list to be omitted or empty, one immutable approved ASR model, and an explicit mode. Translate and synthesize each require exactly one target language and one immutable approved model selection because each protected plan and Job belongs to one track. Translate also requires an explicit quality.
items <= 24Required for transcribe, translate, and synthesize; rejected for mux.
Required only for translate; rejected for other stages.
Value in
- "fast"
- "cinematic"
- "autofit"
Required only for transcribe; rejected for other stages.
Value in
- "fast"
- "accurate"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/dubbing/string/stages/transcribe" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{}'{
"id": "string",
"project_id": "string",
"source_artifact_id": "string",
"source_language": "string",
"target_languages": [
"string"
],
"tracks": [
{
"language": "string",
"stages": [
{
"stage": "transcribe",
"status": "pending",
"job_id": "stringstringstri",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}Cursor-paged source segments. Supplying lang additionally returns that track's translation, synthesis state, and reprocess flag per segment. Scoped credentials require jobs:read and artifacts:read and exact Dubbing Project ownership.
Authorization
DeveloperCredential In: header
Path Parameters
^[A-Za-z0-9_-]{16}$Query Parameters
length <= 32length <= 5121 <= value <= 20025Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/dubbing/string/segments"{
"items": [
{
"id": "string",
"index": 0,
"start_ms": 0,
"end_ms": 0,
"speaker": "string",
"source_text": "string",
"translated_text": "string",
"synthesis_state": "string",
"needs_reprocess": true
}
],
"next_cursor": "string"
}Bounded batch edit of source segments and their per-language translations. Only counts are returned, so the result is safe to store as audit metadata and as an idempotency replay record. Scoped credentials require jobs:write and exact Dubbing Project ownership.
Authorization
DeveloperCredential In: header
Path Parameters
^[A-Za-z0-9_-]{16}$Header Parameters
Replay key bounded at 128 characters by the dubbing and lexicon surfaces. Reusing a key with a different request body is a 409 idempotency_conflict.
1 <= length <= 128Request Body
application/json
1 <= items <= 100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/dubbing/string/segments" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{
"segments": [
{
"id": "string"
}
]
}'{
"edited_segments": 0,
"marked_track_segments": 0
}