> ## Documentation Index
> Fetch the complete documentation index at: https://docs.akool.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Video Translation

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

Create a video translation job to translate your video content into one or multiple target languages. The API supports automatic source language detection, custom AI voices, lip-sync, and various caption options.

<Note>
  The `merge_interval` and `face_enhance` parameters have been deprecated and are no longer supported.
</Note>


## OpenAPI

````yaml POST /api/open/v3/content/video/createbytranslate
openapi: 3.0.3
info:
  title: Video Translation API
  description: >-
    API for translating videos into multiple languages with AI voices and
    lip-sync
  version: 1.0.0
servers:
  - url: https://openapi.akool.com
    description: Production server
security:
  - ApiKeyAuth: []
  - BearerAuth: []
paths:
  /api/open/v3/content/video/createbytranslate:
    post:
      tags:
        - Video Translation
      summary: Create Video Translation
      description: Translate videos into multiple languages with AI voices and lip-sync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoTranslationRequest'
            example:
              url: >-
                https://d11fbe263bhqij.cloudfront.net/agicontent/video/translate/cut3_content_create_EN_01.mp4
              language: ja,zh-CN-shandong,zh-CN-sichuan
              source_language: en
              lipsync: false
              speaker_num: 1
              webhookUrl: ''
              remove_bgm: true
              caption_type: 2
              caption_url: >-
                https://drz0f01yeq1cx.cloudfront.net/1759979948074-b14aeb874a4547ca81373d140edd02d2-1758273867083fa8fa1ca7cfe409ab7fb07abdb931660translatedsubtitles.srt
              studio_voice:
                no_translate_words:
                  - kaka
                  - lal
                fixed_words:
                  hi: hello
                  bad: good
                pronounced_words:
                  lel: lele
                  gga: gaga
                style: professional
              dynamic_duration: false
      responses:
        '200':
          description: Video translation request submitted successfully
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/VideoTranslationResult'
components:
  schemas:
    VideoTranslationRequest:
      type: object
      required:
        - url
        - language
      properties:
        url:
          type: string
          description: The video URL address you want to translate
        source_language:
          type: string
          default: DEFAULT
          description: >-
            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:
          type: string
          description: >-
            Target language(s) for translation. For multiple languages, separate
            with commas (e.g., "ja,zh-CN-shandong,zh-CN-sichuan")
        lipsync:
          type: boolean
          default: false
          description: >-
            Enable synchronized mouth movements with the audio track in
            translated video
        webhookUrl:
          type: string
          description: >-
            Callback URL address for HTTP notifications when processing
            completes
        speaker_num:
          type: integer
          default: 0
          description: Number of speakers in the video (0 = Auto Detect)
        remove_bgm:
          type: boolean
          default: false
          description: Whether to remove background music from the video
        caption_type:
          type: integer
          default: 0
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
          description: >-
            Caption handling: 0=none, 1=add original subtitle, 2=add target
            subtitle, 3=translate and replace original subtitle, 4=add
            translated subtitle
        caption_url:
          type: string
          description: Subtitle file URL (supports SRT or ASS files)
        studio_voice:
          type: object
          description: Advanced voice and translation settings
          properties:
            no_translate_words:
              type: array
              items:
                type: string
              description: List of words that should not be translated
            style:
              type: string
              default: professional
              enum:
                - affectionate
                - angry
                - calm
                - cheerful
                - depressed
                - disgruntled
                - embarrassed
                - empathetic
                - excited
                - fearful
                - friendly
                - unfriendly
                - sad
                - serious
                - relaxed
                - professional
              description: Translation style
            fixed_words:
              type: object
              additionalProperties:
                type: string
              description: Translation word mapping table for corrections
            pronounced_words:
              type: object
              additionalProperties:
                type: string
              description: Pronunciation correction word mapping table
        dynamic_duration:
          type: boolean
          default: false
          description: Control the dynamic duration of the video
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          description: Business status code (1000 = success)
        msg:
          type: string
          description: Status message
    VideoTranslationResult:
      type: object
      properties:
        _id:
          type: string
          description: Unique task identifier
        video_status:
          type: integer
          description: >-
            Video processing status: 1=queueing, 2=processing, 3=completed,
            4=failed
        video:
          type: string
          description: Generated video URL (available when status = 3)
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    BearerAuth:
      type: http
      scheme: bearer

````