API DocsAI Model APIsVideosKling 2.6

Text-to-Video

Generate video from a text prompt, with optional native audio. Supports 720p / 1080p resolution and 5 or 10 second duration. This is an async task-based API: submit a request to receive a task id, poll for status, then download the video when complete. Only Kling 2.6 is supported.

Base URL

  • https://api.autorouter.top — Production

Authentication

BearerAuth: http (bearer) Authenticate using a Bearer Token. Format: Authorization: Bearer sk-xxxxxx

Endpoints

POST /kling/text-to-video/kling-2.6

Create Video Generation Task

Create a video generation task from a text prompt.

Headers

NameTypeRequiredDefaultDescription
Content-TypestringYesapplication/jsonData exchange format
AuthorizationstringYes-Auth header. Format: Bearer sk-xxxxxx

Request Body

Content-Type: application/json

Example:

{
  "prompt": "A girl sat on the train, looking out the window with a melancholic expression, her head swaying with the train.",
  "settings": {
    "resolution": "1080p",
    "aspect_ratio": "9:16",
    "duration": 10
  },
  "options": {
    "callback_url": "https://xxx/callback",
    "external_task_id": "",
    "watermark_info": {
      "enabled": true
    }
  }
}

Properties:

NameTypeRequiredDefaultEnumDescription
promptstringYes--Prompt with positive and negative descriptions
settingsobjectNo--Output configuration such as resolution and duration
settings.audiostringNooffnative, offWhether to generate audio for the video
settings.resolutionstringNo720p720p, 1080pResolution of the generated video
settings.aspect_ratiostringNo16:916:9, 9:16, 1:1Aspect ratio (width:height) of generated frames
settings.durationintNo55, 10Video duration in seconds
optionsobjectNo--General config such as callback URL and watermark
options.callback_urlstringNo--Callback URL for task status change notifications
options.external_task_idstringNo--Custom task ID
options.watermark_infoobjectNo--Whether to also generate a watermarked result

promptstring(Required)

Text prompt, which may include positive and negative descriptions. Maximum length: 2500 characters.

Example: A girl sat on the train, looking out the window with a melancholic expression, her head swaying with the train.

settingsobject(Optional)

Output configuration such as resolution and duration.

audiostring(Optional)

Whether to generate audio for the video. Default off.

  • native: Include native audio matching the visuals
  • off: No audio

Note: When generating videos with native audio, only 1080p resolution is supported.

resolutionstring(Optional)

Output video resolution. Default 720p.

  • 720p: 720P output
  • 1080p: 1080P output

Note: When generating videos with native audio, only 1080p is supported.

aspect_ratiostring(Optional)

Aspect ratio of generated video frames. Default 16:9.

Options: 16:9, 9:16, 1:1

durationint(Optional)

Video duration in seconds. Default 5.

Options: 5, 10

optionsobject(Optional)

General configurations such as callback URL and watermark.

{
  "callback_url": "https://example.com/cb",
  "external_task_id": "string",
  "watermark_info": {
    "enabled": false
  }
}

callback_urlstring(Optional)

Callback URL for task result notifications. If set, the server sends a notification when the task status changes.

external_task_idstring(Optional)

Custom task ID. Does not overwrite the system-generated task ID and can be used for querying. Must be unique within the account.

watermark_infoobject(Optional)

Whether to also generate a watermarked result, controlled by enabled:

{
  "enabled": false
}
  • true: Include watermarked result
  • false (default): No watermark

Custom watermarks are not supported.

Responses

200: Task created successfully

Content-Type: application/json

Request Example

curl -X POST "https://api.autorouter.top/kling/text-to-video/kling-2.6" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxx" \
  -d '{
  "prompt": "A girl sat on the train, looking out the window with a melancholic expression, her head swaying with the train.",
  "settings": {
    "resolution": "1080p",
    "aspect_ratio": "9:16",
    "duration": 10
  },
  "options": {
    "callback_url": "https://xxx/callback",
    "external_task_id": "",
    "watermark_info": {
      "enabled": true
    }
  }
}'

Response Example

{
  "code": 0,
  "message": "string",
  "request_id": "string",
  "data": {
    "id": "string",
    "status": "submitted",
    "create_time": 1781080778802,
    "update_time": 1781080794151,
    "external_id": "string"
  }
}

Response fields:

NameTypeDescription
codeintegerError code; 0 means success
messagestringError information
request_idstringRequest ID generated by the system
data.idstringSystem-generated task ID
data.statusstringTask status: submitted, processing, succeeded, failed
data.create_timeintegerTask creation time, Unix timestamp (ms)
data.update_timeintegerTask update time, Unix timestamp (ms)
data.external_idstringCustom task ID for this task, if any

GET /kling/tasks

Query Video Generation Task (By task ID)

Query async task status and results by system task ID or custom task ID.

The API currently supports querying async tasks only.

  • Use either task_ids or external_task_ids, not both
  • Batch queries are supported; separate multiple IDs with ,
  • Generated results are cleared after about 30 days; save them promptly

Headers

NameTypeRequiredDefaultDescription
Content-TypestringYesapplication/jsonData exchange format
AuthorizationstringYes-Auth header. Format: Bearer sk-xxxxxx

Query Params

NameTypeRequiredDescription
task_idsstringNoSystem-generated task IDs, comma-separated
external_task_idsstringNoCustom task IDs, comma-separated

Responses

200: Task queried successfully

Content-Type: application/json

Request Example

curl -X GET "https://api.autorouter.top/kling/tasks?task_ids={id}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxx"

Response Example

Full response schema for reference. Fields under each outputs item differ by type (video / image / audio / voice / element). Text-to-video success typically returns only a type=video item.

{
  "code": 0,
  "message": "string",
  "request_id": "string",
  "data": [
    {
      "id": "893605946402811985",
      "status": "succeeded",
      "message": "string",
      "create_time": 1781080778802,
      "update_time": 1781080794151,
      "external_id": "string",
      "outputs": [
        {
          "type": "video",
          "id": "string",
          "url": "string",
          "watermark_url": "string",
          "duration": "string"
        },
        {
          "type": "image",
          "url": "string",
          "watermark_url": "string",
          "group_id": "string"
        },
        {
          "type": "audio",
          "id": "string",
          "mp3_url": "string",
          "wav_url": "string",
          "mp3_duration": "string",
          "wav_duration": "string"
        },
        {
          "type": "voice",
          "id": "string",
          "name": "string",
          "url": "string",
          "owned_by": "string",
          "status": "succeeded"
        },
        {
          "type": "element",
          "id": "string",
          "name": "string",
          "description": "string",
          "element_type": "string",
          "references": [
            {
              "type": "image",
              "role": "string",
              "url": "string"
            },
            {
              "type": "video",
              "role": "refer",
              "url": "string"
            },
            {
              "type": "voice",
              "role": "refer",
              "url": "string",
              "id": "string",
              "name": "string",
              "owned_by": "string"
            }
          ],
          "owned_by": "string",
          "status": "string",
          "tags": [
            {
              "id": 1,
              "name": "string",
              "description": "string"
            }
          ]
        }
      ],
      "billing": [
        {
          "charge_type": "string",
          "cash_type": "string",
          "amount": "string",
          "package_type": "string",
          "list_price": "string"
        }
      ]
    }
  ]
}

Response fields:

NameTypeDescription
codeintegerError code; 0 means success
messagestringError information
request_idstringRequest ID generated by the system, used for tracing and troubleshooting
dataobject[]Task list
data[].idstringTask ID being queried
data[].statusstringTask status: submitted, processing, succeeded, failed
data[].messagestringStatus message; failure reason when failed (e.g. content risk control)
data[].create_timeintegerTask creation time, Unix timestamp (ms)
data[].update_timeintegerTask update time, Unix timestamp (ms)
data[].external_idstringCustom task ID, if any
data[].outputsobject[]Generated results; fields vary by type, see below
data[].outputs[].typestringResult type: image, video, audio, element, voice
data[].billingobject[]Billing details, see below
data[].billing[].charge_typestringAccount type: cash (balance) or unit (resource package)
data[].billing[].cash_typestringBalance type, only when charge_type=cash: balance, test_balance
data[].billing[].amountstringDeduction amount; discounted price for balance, units for resource package
data[].billing[].package_typestringPackage type, only when charge_type=unit: video, image, audio
data[].billing[].list_pricestringBalance list price, only when charge_type=cash

statusstring

Task status:

  • submitted: Submitted
  • processing: Processing
  • succeeded: Succeeded
  • failed: Failed

Recommended poll interval: 3–5 seconds until status is succeeded or failed.

outputsobject[]

Generated results. Fields depend on type. Possible values: image, video, audio, element, voice. Text-to-video success typically returns type=video.

type=videoobject
NameTypeDescription
typestringAlways video
idstringVideo ID generated by the system
urlstringResult URL (hotlink-protected; cleared after ~30 days, save promptly)
watermark_urlstringWatermarked result URL (hotlink-protected)
durationstringGenerated video duration in seconds
type=imageobject
NameTypeDescription
typestringAlways image
urlstringResult URL (hotlink-protected; cleared after ~30 days)
watermark_urlstringWatermarked image download URL (hotlink-protected)
group_idstringAppears only for grouped images, marks grouping relationship
type=audioobject
NameTypeDescription
typestringAlways audio
idstringAudio ID generated by the system
mp3_urlstringMP3 result URL (hotlink-protected; cleared after ~30 days)
wav_urlstringWAV result URL (hotlink-protected; cleared after ~30 days)
mp3_durationstringMP3 duration in seconds
wav_durationstringWAV duration in seconds
type=voiceobject
NameTypeDescription
typestringAlways voice
idstringAudio ID generated by the system
namestringAudio name
urlstringMaterial download link
owned_bystringVoice source: kling for official library, numbers for creator IDs
statusstringStatus: succeeded, deleted
type=elementobject
NameTypeDescription
typestringAlways element
idstringElement ID generated by the system
namestringElement name
descriptionstringElement description
element_typestringElement type: video_character_elements, multi_image_elements
referencesobject[]Related materials
references[].typestringMaterial type: image, video, voice
references[].rolestringRole; image: frontal / reference; video and voice: refer
references[].urlstringMaterial download link
references[].idstringVoice ID (when type=voice)
references[].namestringVoice name (when type=voice)
references[].owned_bystringVoice source (when type=voice)
owned_bystringElement source: kling for official library, numbers for creator IDs
statusstringStatus: succeeded, deleted
tagsobject[]Element tags
tags[].idintegerTag ID
tags[].namestringTag name
tags[].descriptionstringTag description

billingobject[]

Billing details.

charge_typestring

Consumption account type:

  • cash: Balance deduction
  • unit: Resource package deduction
cash_typestring

Balance type, only when charge_type=cash:

  • balance: Official quota
  • test_balance: Test quota
amountstring

Deduction amount. For charge_type=cash, discounted balance price; for charge_type=unit, resource package units deducted (decimal string).

package_typestring

Resource package type, only when charge_type=unit. Fixed enum: video, image, audio.

list_pricestring

Balance list price, only when charge_type=cash.

Error Handling

HTTP 400 Parameter Errors

ScenarioSuggestion
Missing promptProvide the required field
Native audio with non-1080pSet settings.resolution to 1080p
Invalid duration / aspect_ratioUse documented enum values

HTTP 401 / 403 Auth Errors

  • 401 Unauthorized: Invalid or expired API Key
  • 403 Forbidden: API Key is not allowed to access this model

HTTP 402 Insufficient Balance

Insufficient balance. Please top up in the AutoRouter console.

Task failed Status

CauseSuggestion
Content moderation failedAdjust the prompt and avoid sensitive content
Invalid parameter combinationFollow the Request Body rules

When a task fails, AutoRouter automatically refunds your account.

On this page