---
title: "Create a translated video or audio project"
method: POST
path: "/actions/translations_create"
tags: ["projects"]
---

# Create a translated video or audio project

`POST /actions/translations_create`

## Request

- Base URL: `https://api.voicecheap.ai/v1`
- URL: `https://api.voicecheap.ai/v1/actions/translations_create`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Create a project from your uploaded fileKey, transcribe and translate it, then synthesize its speech. Supports caller SRT, voices, subtitles and optional lip sync. Uses the normal media credits. An optional webhookUrl receives processing events. Poll projects_status.

## Headers

- `Idempotency-Key` string, uuid

## Request body

- object
  - `fileKey` string, required
  - `targetLanguage` 'afrikaans' | 'albanian' | 'amharic' | 'arabic' | 'armenian' | 'assamese' | 'azerbaijani' | 'basque' | 'belarusian' | 'bengali' | 'bosnian' | 'bulgarian' | 'catalan' | 'croatian' | 'czech' | 'danish' | 'dutch' | 'english' | 'british english' | 'estonian' | 'finnish' | 'french' | 'french canadian' | 'galician' | 'german' | 'greek' | 'gujarati' | 'hebrew' | 'hindi' | 'hungarian' | 'icelandic' | 'indonesian' | 'irish' | 'italian' | 'japanese' | 'kannada' | 'kazakh' | 'khmer' | 'korean' | 'lao' | 'latvian' | 'lithuanian' | 'macedonian' | 'malay' | 'malayalam' | 'mandarin' | 'marathi' | 'mongolian' | 'nepali' | 'norwegian' | 'persian' | 'polish' | 'portuguese' | 'brazilian portuguese' | 'pt_brazil' | 'punjabi' | 'romanian' | 'russian' | 'serbian' | 'slovak' | 'slovenian' | 'spanish' | 'swahili' | 'swedish' | 'tagalog' | 'tamil' | 'telugu' | 'thai' | 'turkish' | 'ukrainian' | 'urdu' | 'vietnamese' | 'welsh' | 'yoruba' | 'zulu', required
  - `originalLanguage` 'af' | 'sq' | 'am' | 'ar' | 'hy' | 'as' | 'ast' | 'az' | 'ba' | 'eu' | 'be' | 'bn' | 'bs' | 'br' | 'bg' | 'my' | 'ca' | 'ceb' | 'zh' | 'hr' | 'cs' | 'da' | 'nl' | 'en' | 'eo' | 'at' | 'et' | 'fil' | 'fo' | 'fi' | 'fr' | 'fr-CA' | 'fy' | 'ff' | 'gd' | 'gl' | 'lg' | 'ka' | 'de' | 'el' | 'gu' | 'ht' | 'ha' | 'haw' | 'he' | 'hi' | 'hu' | 'is' | 'ig' | 'ilo' | 'id' | 'ia' | 'ga' | 'it' | 'ja' | 'jv' | 'kea' | 'kn' | 'kk' | 'km' | 'kur' | 'kir' | 'ko' | 'lo' | 'la' | 'luo' | 'lv' | 'lb' | 'ln' | 'lt' | 'mk' | 'mg' | 'ms' | 'ml' | 'mt' | 'mi' | 'mr' | 'mo' | 'mn' | 'ne' | 'no' | 'nn' | 'nso' | 'nya' | 'oc' | 'or' | 'pa' | 'ps' | 'fa' | 'pl' | 'pt' | 'ro' | 'ru' | 'sa' | 'sr' | 'sn' | 'sd' | 'si' | 'sk' | 'sl' | 'so' | 'es' | 'su' | 'sw' | 'ss' | 'sv' | 'tl' | 'tg' | 'ta' | 'tt' | 'te' | 'th' | 'bo' | 'tn' | 'tr' | 'tk' | 'ug' | 'uk' | 'umb' | 'ur' | 'uz' | 'vi' | 'cy' | 'wo' | 'xh' | 'yi' | 'yo' | 'zu' | 'cmn' | 'yue' | 'en-GB' | 'en-US' | 'en-AU' | 'auto-detect'
  - `projectName` string
  - `numberOfSpeakers` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32' | 'auto-detect'
  - `brandVocabulary` string[]
  - `removeFillerWords` boolean
  - `sourceSrt` string
  - `webhookUrl` string, uri
  - `requestId` string, uuid: UUID v4 for this action. Reuse the same ID with identical arguments on retries.
  - `keepBackgroundMusic` boolean
  - `keepOriginalVoice` boolean
  - `originalVoiceVolume` number
  - `voiceMode` 'cloning' | 'custom'
  - `voiceId` string
  - `subtitles` boolean
  - `subtitlesSource` 'translated' | 'original'
  - `voiceIsolatorOption` 'studio' | 'realistic'
  - `lipSyncMode` 'standard' | 'pro' | 'studio'
  - `activeSpeakerDetectionEnabled` boolean
  - `voiceCloningSettings` object
    - `stability` number, required
    - `similarity` number, required
  - `translationTimeSkips` object[]
    - `startTime` number, required
    - `endTime` number, required
  - `translatedSrt` string

## Response `200`

Completed result or saved request state.

- object
  - `data` unknown, required
  - `requestId` string, uuid

## Other responses

- `202`: The action is running. Poll action_request_get with requestId and operation.
- `400`: Invalid arguments.
- `401`: Invalid or expired API key.
- `403`: Permission or subscription required.
- `409`: Idempotency conflict or account concurrency limit.
- `429`: Shared account rate or monthly limit reached.

---

[API](https://skmtc.dev/voicecheap/apis/voicecheap-api.md) · [All operations](https://skmtc.dev/voicecheap/apis/voicecheap-api/llms.txt) · [OpenAPI document](https://skmtc.dev/voicecheap/apis/voicecheap-api/revisions/0cb50268f31a?raw)
