---
title: "Create a dubbing job"
method: POST
path: "/api/dubbing/jobs"
tags: ["Video Dubbing"]
---

# Create a dubbing job

`POST /api/dubbing/jobs`

Submit a video for dubbing. The video will be processed asynchronously. Poll `GET /api/dubbing/jobs/{id}` to track progress. Typical processing time is 2-5 minutes per minute of input video.

## Request body

- CreateJobRequest
  - `source_url` string, uri, required — URL of the video to dub. Either a public URL or the `source_url` from the upload endpoint.
  - `target_lang` 'en' | 'es' | 'fr' | 'de' | 'it' | 'pt' | 'ru' | 'ja' | 'ko' | 'zh', required — Target language code
  - `source_lang` 'auto' | 'en' | 'es' | 'fr' | 'de' | 'it' | 'pt' | 'ru' | 'ja' | 'ko' | 'zh' — Source language code, or "auto" for auto-detection.

## Response `201`

Job created

- CreateJobResponse
  - `job_id` string, required — Unique identifier for the dubbing job
  - `status` 'pending', required — Initial job status (always "pending")
  - `source_lang` string, required — Source language (or "auto")
  - `target_lang` string, required — Target language code
  - `created_at` string, date-time, required — ISO 8601 timestamp
  - `limits` object
    - `max_duration_sec` integer — Maximum input video duration in seconds
    - `max_file_size_bytes` integer — Maximum file size in bytes

## Other responses

- `400` — Invalid request
- `401` — Invalid or expired API token
- `402` — Insufficient balance
- `429` — Too many requests (max 10 per minute)

---

[API](https://skmtc.dev/startpinch/apis/pinch-api.md) · [All operations](https://skmtc.dev/startpinch/apis/pinch-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/startpinch/pinch-api/revisions/a0d3acb9ed16/schema)
