Vidu API Documentation

Last updated: May 8, 2026 ยท Base URL: https://api.imagine-future.com ยท Alternate: https://api.futurelabsai.dev

๐ŸŒ Base URL

Primary: https://api.imagine-future.com
Alternate: https://api.futurelabsai.dev
Both domains point to the same API service. You can use either one. If the primary domain is unreachable, switch to the alternate.

Table of Contents

Video Generating

Other Generating

Task Management

Solutions

Kling AI


Video Generating

Text to Video

POST https://api.imagine-future.com/ai/avu/text2video

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model String Required Model name. Accepted values:
  • viduq3-turbo โ€” Faster generation speed than viduq3-pro
  • viduq3-pro โ€” Supports audio-visual synchronization, supports video shot segmentation
  • viduq2 โ€” New Model
  • viduq1 โ€” Clear image, smooth transition, stable camera operation
style String Optional The style of output video. Defaults to general.
  • general โ€” General style. Allows style control through prompts
  • anime โ€” Anime style. Optimized for anime aesthetics
โš ๏ธ This parameter is not effective when using q2 or q3 models
prompt String Required Text prompt. A textual description for video generation, with a maximum length of 5000 characters
duration Int Optional Video duration (seconds):
  • viduq3-pro, viduq3-turbo: default 5s, range 1โ€“16
  • viduq2: default 5s, range 1โ€“10
  • viduq1: default 5s, only 5s
seed Int Optional Random seed. Defaults to a random seed number. Manually set values will override the default
aspect_ratio String Optional The aspect ratio of the output video. Defaults to 16:9. Accepted: 16:9, 9:16, 3:4, 4:3, 1:1
โš ๏ธ 3:4 & 4:3 only support q2 & q3 models
resolution String Optional Resolution:
  • viduq3-pro, viduq3-turbo (1-16s): default 720p, available: 540p, 720p, 1080p
  • viduq2 (1-10s): default 720p, available: 540p, 720p, 1080p
  • viduq1 (5s): default 1080p, available: 1080p
movement_amplitude String Optional The movement amplitude of objects in the frame. Defaults to auto. Accepted: auto, small, medium, large
โš ๏ธ This parameter does not take effect when using q2 & q3 models
bgm Bool Optional Whether to add background music. Default: false
โš ๏ธ q3 model not available; BGM does not take effect when q2 duration is 9 or 10 seconds
audio Bool Optional Whether to use direct audio-video generation capability. Default: true
  • false โ€” No direct audio-video generation, outputs silent video
  • true โ€” Requires audio-video synchronization, outputs video with sound
โš ๏ธ Only q3 models support this parameter
payload String Optional Transparent transmission parameters. No processing, only data transmission, max 1048576 characters
off_peak Bool Optional Off-peak mode. Default: false
  • true โ€” Off-peak generate mode (lower points, 48h completion)
  • false โ€” Normal generate mode
callback_url String Optional Callback URL for task status updates

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "viduq3-pro",
  "prompt": "In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene.",
  "duration": 5,
  "seed": 0,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "movement_amplitude": "auto",
  "off_peak": false
}' \
  https://api.imagine-future.com/ai/avu/text2video

Response Example

JSON โ€” 200 OK
{
  "task_id": "916198978159124480",
  "type": "text2video",
  "state": "created",
  "model": "viduq3-pro",
  "style": "general",
  "prompt": "In an ultra-realistic fashion photography style...",
  "duration": 5,
  "seed": 1920759782,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "movement_amplitude": "auto",
  "created_at": "2026-02-03T09:19:33.696Z",
  "credits": 80,
  "off_peak": false
}

Image to Video

POST https://api.imagine-future.com/ai/avu/img2video

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model String Required Model name. Accepted values: viduq3-turbo, viduq3-pro, viduq2, viduq1
images Array Required Array of image URLs. The input image(s) to generate video from. Accepts 1 image URL
prompt String Required Text prompt describing the desired video motion and content, max 5000 characters
duration Int Optional Video duration (seconds). Same ranges as Text to Video
seed Int Optional Random seed
aspect_ratio String Optional Output aspect ratio. Defaults to 16:9
resolution String Optional Resolution. Default 720p. Available: 540p, 720p, 1080p
movement_amplitude String Optional Movement amplitude. Default: auto. Accepted: auto, small, medium, large
off_peak Bool Optional Off-peak mode. Default: false
callback_url String Optional Callback URL for task status updates

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "viduq3-pro",
  "images": [
    "https://your-image-url.com/image.png"
  ],
  "prompt": "The astronaut waved and the camera moved up.",
  "duration": 5,
  "seed": 0,
  "resolution": "1080p",
  "movement_amplitude": "auto",
  "off_peak": false
}' \
  https://api.imagine-future.com/ai/avu/img2video

Response Example

JSON โ€” 200 OK
{
  "task_id": "916201234567890123",
  "type": "img2video",
  "state": "created",
  "model": "viduq3-pro",
  "images": ["https://your-image-url.com/image.png"],
  "prompt": "The astronaut waved and the camera moved up.",
  "duration": 5,
  "seed": 1920759782,
  "resolution": "1080p",
  "movement_amplitude": "auto",
  "created_at": "2026-02-03T09:25:00.000Z",
  "credits": 80,
  "off_peak": false
}

Start End to Video

Generate a video by providing both a start frame and an end frame. The model interpolates between them to create smooth transition video.

POST https://api.imagine-future.com/ai/avu/start-end2video

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model String Required Model name. Accepted values: viduq3-turbo, viduq3-pro, viduq2, viduq1
images Array Required Array of exactly 2 image URLs โ€” [start_frame, end_frame]
prompt String Optional Text prompt describing the desired transition, max 5000 characters
duration Int Optional Video duration (seconds). Same ranges as Text to Video
seed Int Optional Random seed
resolution String Optional Resolution. Default 720p
off_peak Bool Optional Off-peak mode. Default: false
callback_url String Optional Callback URL for task status updates

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "viduq3-pro",
  "images": [
    "https://your-images.com/start-frame.jpg",
    "https://your-images.com/end-frame.jpg"
  ],
  "prompt": "Smooth transition from day to night",
  "duration": 5,
  "seed": 0,
  "resolution": "720p",
  "off_peak": false
}' \
  https://api.imagine-future.com/ai/avu/start-end2video

Reference to Video

Generate a video using reference images for subject/style consistency. The model maintains visual elements from the reference while creating new motion.

POST https://api.imagine-future.com/ai/avu/reference2video

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model String Required Model name. Accepted values: viduq3-turbo, viduq3-pro, viduq2, viduq1
images Array Required Array of reference image URLs (1โ€“4 images)
prompt String Required Text prompt for video generation, max 5000 characters
duration Int Optional Video duration (seconds). Default 5s
seed Int Optional Random seed
aspect_ratio String Optional Output aspect ratio. Default 16:9
resolution String Optional Resolution. Default 720p
off_peak Bool Optional Off-peak mode. Default: false
callback_url String Optional Callback URL for task status updates

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "viduq3-pro",
  "images": [
    "https://your-images.com/reference-character.jpg"
  ],
  "prompt": "The character walks through a garden, camera following from behind",
  "duration": 5,
  "seed": 0,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "off_peak": false
}' \
  https://api.imagine-future.com/ai/avu/reference2video

Template Generating

Generate videos based on predefined templates. Templates provide structured prompts and motion presets for consistent output.

POST https://api.imagine-future.com/ai/avu/template2video

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model String Required Model name
template_id String Required Template ID for the desired generation template
images Array Required Array of image URLs to use with the template
prompt String Optional Additional text prompt to modify template output
duration Int Optional Video duration (seconds)
resolution String Optional Resolution. Default 720p
callback_url String Optional Callback URL for task status updates

Image Generating

Reference to Image

Generate images using reference images for subject/style consistency.

POST https://api.imagine-future.com/ai/avu/ref2image/nano

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model String Required Model name
images Array Required Array of reference image URLs
prompt String Required Text prompt for image generation
aspect_ratio String Optional Output aspect ratio. Default 16:9
resolution String Optional Resolution
seed Int Optional Random seed
callback_url String Optional Callback URL for task status updates

Task Management

Get Creation

Retrieve the details and current status of a specific task by its task ID.

GET https://api.imagine-future.com/ai/avu/tasks/{task_id}/creations

Request Headers

FieldValueDescription
AuthorizationToken {your api key}Replace {} with your API Key

Path Parameters

FieldTypeRequiredDescription
task_id String Required The task ID returned from any generation request

Response Fields

FieldTypeDescription
task_idStringTask ID
typeStringTask type (text2video, img2video, etc.)
stateStringTask state: created, queueing, processing, success, failed
modelStringModel used
promptStringInput prompt
creationsArrayArray of generated outputs (available when state is success)
creations[].urlStringDownload URL for the generated video/image
creations[].cover_urlStringCover image URL
created_atStringTask creation time (ISO 8601)
creditsNumberCredits consumed
err_codeStringError code (when state is failed)

Example Request

cURL
curl -H "Authorization: Token {your_api_key}" \
  https://api.imagine-future.com/ai/avu/tasks/916198978159124480/creations

Response Example (Success)

JSON โ€” 200 OK
{
  "task_id": "916198978159124480",
  "type": "text2video",
  "state": "success",
  "model": "viduq3-pro",
  "prompt": "An astronaut walking through fog...",
  "creations": [
    {
      "url": "https://cdn.imagine-future.com/video/result.mp4",
      "cover_url": "https://cdn.imagine-future.com/video/cover.jpg"
    }
  ],
  "created_at": "2026-02-03T09:19:33.696Z",
  "credits": 80
}
๐Ÿ’ก Polling Recommendation

Poll the Get Creation endpoint every 5โ€“10 seconds until state changes to success or failed.


Get Task List

Retrieve a list of all tasks with optional filtering and pagination.

GET https://api.imagine-future.com/ai/avu/tasks/{task_id}/creations
๐Ÿ’ก Note

To query a specific task, use GET /ai/avu/tasks/{task_id}/creations. There is no bulk task list endpoint โ€” query tasks individually by their task_id.

Request Headers

FieldValueDescription
AuthorizationToken {your api key}Replace {} with your API Key

Query Parameters

FieldTypeRequiredDescription
task_id String Required The task ID to query (path parameter)

Example Request

cURL
curl -H "Authorization: Token {your_api_key}" \
  "https://api.imagine-future.com/ai/avu/tasks/916198978159124480/creations"

Cancel Generation

Cancel a pending or processing task. Only tasks in created or queueing state can be cancelled.

POST https://api.imagine-future.com/ai/avu/tasks/{task_id}/cancel

Request Headers

FieldValueDescription
AuthorizationToken {your api key}Replace {} with your API Key

Path Parameters

FieldTypeRequiredDescription
task_id String Required The task ID to cancel

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  https://api.imagine-future.com/ai/avu/tasks/916198978159124480/cancel
โš ๏ธ Note

Credits consumed by tasks that have already started processing may not be fully refunded upon cancellation.


Solutions

One Click AI MV

One Click AI MV is a complete solution that generates music videos from images and audio. It supports creating MV tasks, querying progress, editing individual shots, and composing final videos.

๐Ÿ’ก Base URL

All One Click AI MV endpoints use https://api.imagine-future.com/ai/avu/one-click/mv as the base path.

1. Create MV Task

POST https://api.imagine-future.com/ai/avu/one-click/mv

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {your api key} with your token

Request Body Parameters

FieldTypeRequiredDescription
images Array[String] Required Model images or style images for MV generation.
  • Supports Base64-encoded images or image URLs (must be accessible)
  • Supports 1 to 7 images
  • Formats: png, jpeg, jpg, webp
  • Aspect ratio must be less than 1:4 or 4:1
  • Max image size: 50 MB (base64 decoded โ‰ค 10M)
audio_url String Required Audio for MV generation.
  • Supports Base64 encoding or audio URL
  • Supports 1 audio file
  • Formats: mp3, wav, aac, m4a
  • Synthesized audio output: 10โ€“180 seconds
  • Shot list only output: 10โ€“300 seconds
  • Base64 decoded โ‰ค 20M
prompt String Optional Text description for the MV video. Max 3000 characters
aspect_ratio String Optional Output aspect ratio. Default: 16:9. Accepted: 1:1, 16:9, 9:16, 4:3, 3:4
resolution String Optional Clarity. Default: 720p. Available: 540p, 720p, 1080p
add_subtitle Bool Optional Whether subtitles are needed. Default: false
srt_url String Optional Subtitle file URL
language String Optional Audio language type. Default: automatic. Enum: en, zh
callback_url String Optional Callback URL for task status updates. Vidu will POST status changes (processing, success, failed) to this URL. Retries 3 times on failure
lip_sync Bool Optional Whether to enable lip-sync (digital human). Default: false
  • true โ€” Enable lip-sync, adds 4 credits per second
  • false โ€” No lip-sync
โš ๏ธ Note 1: Does not support non-real-person content
โš ๏ธ Note 2: Does not support non-frontal-face video clips

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "images": ["https://your-image-url.com/image.png"],
  "prompt": "",
  "audio_url": "https://your-audio-url.com/audio.mp3",
  "duration": 15,
  "aspect_ratio": "16:9",
  "lip_sync": false
}' \
  https://api.imagine-future.com/ai/avu/one-click/mv

Response Example

JSON โ€” 200 OK
{
  "id": "your_id_here"
}

2. Query MV Task

GET https://api.imagine-future.com/ai/avu/one-click/mv/{id}

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {your api key} with your token

Path Parameters

FieldTypeRequiredDescription
id String Required Clip ID or Subtask ID

Example Request

cURL
curl -X GET \
  -H "Authorization: Token {your_api_key}" \
  https://api.imagine-future.com/ai/avu/one-click/mv/{id}

Response Fields

FieldSubfieldTypeDescription
idStringTask ID
stateStringProcessing status: created, processing, success, failed
err_codeStringError code (see error code table for details)
err_msgStringError-related information
created_atStringCreation time (ISO 8601)
signed_urlStringURL of generated video (available if video is less than 3 minutes)
job_recordsArrayShot list + Composite Video records
typeStringgenerate_video (Video Storyboard) or compose (Compose All Storyboards)
indexIntShot Index
jobsArraySingle shot modification history
jobs[].idStringJob ID
jobs[].stateStringcreated, processing, success, failed
jobs[].signed_urlStringURL of the storyboard or composite product

Response Example

JSON โ€” 200 OK
{
  "id": "901243326567555072",
  "type": "mv",
  "state": "success",
  "job_records": [
    {
      "type": "generate_video",
      "jobs": [
        {
          "id": "901245331704909824",
          "type": "generate_video",
          "state": "success",
          "signed_url": "signed_url",
          "mv_generate_video_input": {
            "duration": 3,
            "prompt": "2.5d building style, bright tones...",
            "lyric_text": "Intro"
          },
          "index": 0
        }
      ],
      "index": 0
    },
    {
      "type": "compose",
      "jobs": [
        {
          "id": "901245503243554816",
          "type": "compose",
          "state": "success",
          "signed_url": "signed_url",
          "index": 0
        }
      ],
      "index": 0
    }
  ],
  "created_at": "2025-12-24T02:51:34.070650Z",
  "signed_url": "signed_url"
}

3. Edit MV Task

Edit a specific shot in the MV by providing a new prompt. This regenerates the selected shot while keeping others intact.

POST https://api.imagine-future.com/ai/avu/one-click/mv/{id}/edit

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {your api key} with your token

Request Body Parameters

FieldTypeRequiredDescription
id String Required Task ID (placed in the URL path)
job_id String Required ID of the shot to be edited
prompt String Required New text description for the shot. Max 3000 characters
callback_url String Optional Callback URL for task status updates

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "job_id": "901334076999344129",
  "prompt": "2.5D modeling style, cheerful atmosphere, close-up, the protagonist dances on the beach, waves lapping at the ankles, camera follows the spinning motion"
}' \
  https://api.imagine-future.com/ai/avu/one-click/mv/{your_id}/edit

Response Example

JSON โ€” 200 OK
{
  "id": "your_job_id_here"
}

4. Compose MV Task

Compose (synthesize) selected shots into the final MV video. Provide the list of shot job IDs to include in the final composition.

POST https://api.imagine-future.com/ai/avu/one-click/mv/{id}/compose

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {your api key} with your token

Request Body Parameters

FieldTypeRequiredDescription
id String Required Task ID (placed in the URL path)
job_ids Array[String] Required List of shot job IDs to be synthesized into the final video
callback_url String Optional Callback URL for task status updates

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "job_ids": [
    "id1",
    "id2",
    "id3",
    "id4",
    "id5",
    "id6"
  ]
}' \
  https://api.imagine-future.com/ai/avu/one-click/mv/{your_id}/compose

Response Example

JSON โ€” 200 OK
{
  "id": "your_job_id_here"
}
๐Ÿ’ก MV Workflow

The typical workflow is: Create MV Task โ†’ Query Task (poll until shots are generated) โ†’ Edit Task (optional, refine individual shots) โ†’ Compose Task (combine shots into final video).


Kling AI

Kling AI integration provides Motion Control (apply motion from a reference video to a static image) and Avatar/Digital Human (generate lip-synced video from image + text/audio) capabilities.

๐Ÿ”‘ Authentication

Kling endpoints use the same authentication as other API endpoints: Authorization: Token {your_api_key}

Motion Control

Apply the motion from a reference video to a static image, generating a new video that combines the image content with the reference motion.

POST https://api.imagine-future.com/ai/kling/v1/videos/motion-control

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model_name String Optional Model name, e.g. kling-v2-6. If not provided, the server will use the default model
image_url String Required Reference image URL or Base64 encoded string. Formats: jpg/jpeg/png, max 10MB, size 300pxโ€“65536px, aspect ratio 1:2.5โ€“2.5:1
video_url String Required Motion reference video URL. Formats: mp4/mov, max 100MB, size 340pxโ€“3850px, duration 3โ€“30s (depends on character_orientation)
mode String Required Generation mode:
  • std โ€” Standard mode (cost-effective)
  • pro โ€” Professional mode (high quality)
character_orientation String Required Character orientation:
  • image โ€” Based on image orientation (video โ‰ค 10s)
  • video โ€” Based on video orientation (video โ‰ค 30s)
prompt String Optional Text prompt, max 2500 characters. Describe scene content, camera movements, etc.
keep_original_sound String Optional Whether to keep original sound from reference video. yes = keep, no = remove
callback_url String Optional Callback URL. Task status changes will be POST-ed to this URL
external_task_id String Optional Custom task ID, must be unique per user. If not provided, the system will automatically use the internal task ID

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v2-6",
  "image_url": "https://your-image-url.com/person.jpg",
  "video_url": "https://your-video-url.com/dance-motion.mp4",
  "mode": "pro",
  "character_orientation": "image",
  "prompt": "A person dancing gracefully in a garden",
  "keep_original_sound": "no"
}' \
  https://api.imagine-future.com/ai/kling/v1/videos/motion-control

Response Example

JSON โ€” 200 OK
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "req_abc123def456",
  "data": {
    "task_id": "881704293106061404",
    "task_status": "submitted",
    "task_status_msg": "",
    "task_info": {
      "external_task_id": "your_custom_id_or_system_id"
    },
    "created_at": 1715180000000,
    "updated_at": 1715180000000
  }
}

Avatar (Digital Human)

Generate a lip-synced digital human video from a reference image combined with text (TTS) or audio input. The model produces natural facial expressions and lip movements.

POST https://api.imagine-future.com/ai/kling/v1/videos/avatar/image2video

Request Headers

FieldValueDescription
Content-Typeapplication/jsonData Exchange Format
AuthorizationToken {your api key}Replace {} with your API Key

Request Body Parameters

FieldTypeRequiredDescription
model_name String Optional Model name, e.g. kling-v2-6. If not provided, the server will use the default model
image String Required Person reference image URL or Base64. Must contain a clear face
sound_file String Optional Audio file URL. Drives lip-sync and motion from audio. Either sound_file or text must be provided
text String Optional Text for TTS-driven lip-sync. The system converts text to speech and generates corresponding lip animation. Either text or sound_file must be provided
prompt String Optional Action description prompt. Guides body language and facial expressions of the digital human
mode String Required Generation mode:
  • std โ€” Standard mode
  • pro โ€” Professional mode
callback_url String Optional Callback URL. Task status changes will be POST-ed to this URL
external_task_id String Optional Custom task ID, must be unique per user. If not provided, the system will automatically use the internal task ID
โš ๏ธ Important

Either text or sound_file must be provided. If both are omitted, the request will be rejected.

Example Request

cURL
curl -X POST \
  -H "Authorization: Token {your_api_key}" \
  -H "Content-Type: application/json" \
  -d '{
  "model_name": "kling-v2-6",
  "image": "https://your-image-url.com/portrait.jpg",
  "text": "Hello everyone, welcome to our product demonstration.",
  "mode": "pro",
  "prompt": "The person speaks confidently with natural hand gestures"
}' \
  https://api.imagine-future.com/ai/kling/v1/videos/avatar/image2video

Response Example

JSON โ€” 200 OK
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "req_xyz789abc012",
  "data": {
    "task_id": "882901234567890123",
    "task_status": "submitted",
    "task_status_msg": "",
    "task_info": {
      "external_task_id": "your_custom_id_or_system_id"
    },
    "created_at": 1715180100000,
    "updated_at": 1715180100000
  }
}

Query Kling Task

Query the current status of a Kling task. Supports querying by either the system task ID or the Kling-assigned task ID. The system automatically syncs task state and handles credit deduction when the task reaches a terminal state.

GET https://api.imagine-future.com/ai/kling/v1/tasks/{taskId}?endpoint=videos/motion-control

Request Headers

FieldValueDescription
AuthorizationToken {your api key}Replace {} with your API Key

Path Parameters

FieldTypeRequiredDescription
taskId String Required Task ID โ€” can be either the system's internal task ID or the Kling-assigned task_id

Query Parameters

FieldTypeRequiredDescription
endpoint String Optional Query endpoint. Default: videos/motion-control. For Avatar tasks use: videos/avatar/image2video

Response Fields

FieldTypeDescription
codeIntegerResponse code. 0 = success
messageStringResponse message
data.task_idStringKling task ID
data.task_statusStringTask status: submitted, processing, succeed, failed
data.task_status_msgStringStatus description or error message
data.task_info.external_task_idStringExternal task ID (your custom ID or system-assigned)
data.task_result.videosArrayGenerated video list (available when task_status is succeed)
data.task_result.videos[].urlStringVideo download URL (expires in 30 minutes)
data.task_result.videos[].durationStringVideo duration in seconds
data.created_atLongTask creation timestamp (ms)
data.updated_atLongLast update timestamp (ms)

Example Request โ€” Motion Control Task

cURL
curl -H "Authorization: Token {your_api_key}" \
  "https://api.imagine-future.com/ai/kling/v1/tasks/881704293106061404?endpoint=videos/motion-control"

Example Request โ€” Avatar Task

cURL
curl -H "Authorization: Token {your_api_key}" \
  "https://api.imagine-future.com/ai/kling/v1/tasks/882901234567890123?endpoint=videos/avatar/image2video"

Response Example (Success)

JSON โ€” 200 OK
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "req_query_001",
  "data": {
    "task_id": "881704293106061404",
    "task_status": "succeed",
    "task_status_msg": "",
    "task_info": {
      "external_task_id": "system_generated_task_id"
    },
    "task_result": {
      "videos": [
        {
          "id": "video_001",
          "url": "https://cdn.klingai.com/video/result_xxx.mp4",
          "duration": "8"
        }
      ]
    },
    "created_at": 1715180000000,
    "updated_at": 1715180500000
  }
}

Response Example (Processing)

JSON โ€” 200 OK
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "req_query_002",
  "data": {
    "task_id": "881704293106061404",
    "task_status": "processing",
    "task_status_msg": "",
    "task_info": {
      "external_task_id": "system_generated_task_id"
    },
    "task_result": null,
    "created_at": 1715180000000,
    "updated_at": 1715180200000
  }
}
๐Ÿ’ก Task Status Mapping

Kling uses different status names than our system internally. The mapping is:

  • submitted โ†’ Task created, waiting in queue
  • processing โ†’ Task is being processed
  • succeed โ†’ Generation complete, video available
  • failed โ†’ Task failed, check task_status_msg for details
๐Ÿ’ก Polling Recommendation

Poll the Query Task endpoint every 10โ€“15 seconds until task_status changes to succeed or failed. Video URLs expire after 30 minutes โ€” download promptly.


Pricing

Credits consumed per generation vary by model, resolution, duration, and features.

ViduQ3

ModelFeatureResolutionDurationCredits
viduq3-proText/Image/StartEnd/Ref to Video540p5s20
viduq3-proText/Image/StartEnd/Ref to Video720p5s40
viduq3-proText/Image/StartEnd/Ref to Video1080p5s80
viduq3-proText/Image/StartEnd/Ref to Video720p8s64
viduq3-proText/Image/StartEnd/Ref to Video1080p8s128
viduq3-proText/Image/StartEnd/Ref to Video720p16s128
viduq3-proText/Image/StartEnd/Ref to Video1080p16s256
viduq3-turboText/Image/StartEnd/Ref to Video720p5s20
viduq3-turboText/Image/StartEnd/Ref to Video1080p5s40
viduq3-turboText/Image/StartEnd/Ref to Video720p8s32
viduq3-turboText/Image/StartEnd/Ref to Video1080p8s64

ViduQ2

ModelFeatureResolutionDurationCredits
viduq2Text/Image to Video540p5s10
viduq2Text/Image to Video720p5s20
viduq2Text/Image to Video1080p5s40
viduq2Text/Image to Video720p8s32
viduq2Text/Image to Video1080p8s64
viduq2Text/Image to Video720p10s40
viduq2Text/Image to Video1080p10s80

ViduQ1

ModelFeatureResolutionDurationCredits
viduq1Text/Image to Video1080p5s40

Image General Features

FeatureDescriptionCredits
Reference to ImageGenerate image from reference images + prompt10

Template Features

FeatureDescriptionCredits
Template to VideoGenerate video from template + imagesVaries by template

Digital Human

FeatureDescriptionCredits
Digital Human VideoGenerate digital human video contentContact sales

Kling AI

FeatureModeDescriptionCredits
Motion ControlstdApply video motion to image (standard)Based on duration
Motion ControlproApply video motion to image (professional)Based on duration
AvatarstdDigital human lip-sync video (standard)Based on duration
AvatarproDigital human lip-sync video (professional)Based on duration

Video Extension & Multi Frame Generation

FeatureDescriptionCredits
Video ExtensionExtend existing video with additional framesSame as original generation
Multi Frame GenerationGenerate video with multiple keyframe controlBased on duration & resolution

Solutions

๐Ÿ’ผ Enterprise Solutions

For custom pricing plans, volume discounts, and enterprise solutions, please contact the Futurelabs AI sales team.