---
title: "Create Video Translation"
method: POST
path: "/api/open/v3/content/video/createbytranslate"
tags: ["Video Translation"]
---

# Create Video Translation

`POST /api/open/v3/content/video/createbytranslate`

Translate videos into multiple languages with AI voices and lip-sync

## Request body

- VideoTranslationRequest
  - `url` string, required — The video URL address you want to translate
  - `source_language` string — The original language of the video. Use "DEFAULT" for automatic language detection, or specify a language code (e.g., "en" for English, "zh" for Chinese, "es" for Spanish)
  - `language` string, required — Target language(s) for translation. For multiple languages, separate with commas (e.g., "ja,zh-CN-shandong,zh-CN-sichuan")
  - `lipsync` boolean — Enable synchronized mouth movements with the audio track in translated video
  - `webhookUrl` string — Callback URL address for HTTP notifications when processing completes
  - `speaker_num` integer — Number of speakers in the video (0 = Auto Detect)
  - `remove_bgm` boolean — Whether to remove background music from the video
  - `caption_type` 0 | 1 | 2 | 3 | 4 — Caption handling: 0=none, 1=add original subtitle, 2=add target subtitle, 3=translate and replace original subtitle, 4=add translated subtitle
  - `caption_url` string — Subtitle file URL (supports SRT or ASS files)
  - `studio_voice` object — Advanced voice and translation settings
    - `no_translate_words` string[] — List of words that should not be translated
    - `style` 'affectionate' | 'angry' | 'calm' | 'cheerful' | 'depressed' | 'disgruntled' | 'embarrassed' | 'empathetic' | 'excited' | 'fearful' | 'friendly' | 'unfriendly' | 'sad' | 'serious' | 'relaxed' | 'professional' — Translation style
    - `fixed_words` object — Translation word mapping table for corrections
    - `pronounced_words` object — Pronunciation correction word mapping table
  - `dynamic_duration` boolean — Control the dynamic duration of the video

## Response `200`

Video translation request submitted successfully

- object
  - `code` integer, required — Interface returns business status code (1000: success)
  - `msg` string, required — Interface returns status information
  - `data` VideoTranslationResult
    - `_id` string — Unique task identifier
    - `video_status` integer — Video processing status: 1=queueing, 2=processing, 3=completed, 4=failed
    - `video` string — Generated video URL (available when status = 3)

---

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