Skip to main content
POST
/
api
/
v1
/
jobs
/
createTask
Generate content using wan/2-6-video-to-video
curl --request POST \
  --url https://api.kie.ai/api/v1/jobs/createTask \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "wan/2-6-video-to-video",
  "callBackUrl": "https://your-domain.com/api/callback",
  "input": {
    "prompt": "The video drinks milk tea while doing some improvised dance moves to the music.",
    "video_urls": [
      "https://static.aiquickdraw.com/tools/example/1765957777782_cNJpvhRx.mp4"
    ],
    "duration": "5",
    "resolution": "1080p"
  }
}
'
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_wan_1765967743009"
  }
}

Overview

Transform existing videos by applying new text prompts using the Wan 2.6 Video to Video model. This allows you to modify or enhance videos with different styles, actions, or themes while preserving the original video structure.

File Upload Requirements

Before using this API, you need to upload your video files:
1

Upload Video

Use the File Upload API to upload your source video.

File Upload API

Learn how to upload videos and get file URLs
2

Get File URL

After upload, you’ll receive a file URL that you can use in the video_urls parameter.
  • Supported formats: MP4, QuickTime, Matroska
  • Maximum file size: 10MB
  • Maximum 3 video URLs per request
  • Video content should be appropriate and follow usage guidelines

Usage Examples

  • Use descriptive prompts to specify how you want the video to change
  • The model preserves the original video timing and structure
  • Experiment with different prompt styles to achieve desired results

Query Task Status

After submitting a task, use the unified query endpoint to check progress and retrieve results:

Get Task Details

Learn how to query task status and retrieve generation results
For production use, we recommend using the callBackUrl parameter to receive automatic notifications when generation completes, rather than polling the status endpoint.

Authorizations

Authorization
string
header
required

All APIs require authentication via Bearer Token.

Get API Key:

  1. Visit API Key Management Page to get your API Key

Usage: Add to request header: Authorization: Bearer YOUR_API_KEY

Note:

  • Keep your API Key secure and do not share it with others
  • If you suspect your API Key has been compromised, reset it immediately in the management page

Body

application/json
model
enum<string>
default:wan/2-6-video-to-video
required

The model name to use for generation. Required field.

  • Must be wan/2-6-video-to-video for this endpoint
Available options:
wan/2-6-video-to-video
Example:

"wan/2-6-video-to-video"

callBackUrl
string<uri>

The URL to receive generation task completion updates. Optional but recommended for production use.

  • System will POST task status and results to this URL when generation completes
  • Callback includes generated content URLs and task information
  • Your callback endpoint should accept POST requests with JSON payload containing results
  • Alternatively, use the Get Task Details endpoint to poll task status
Example:

"https://your-domain.com/api/callback"

input
object

Input parameters for the generation task

Response

Request successful

code
enum<integer>

Response status code

  • 200: Success - Request has been processed successfully
  • 401: Unauthorized - Authentication credentials are missing or invalid
  • 402: Insufficient Credits - Account does not have enough credits to perform the operation
  • 404: Not Found - The requested resource or endpoint does not exist
  • 422: Validation Error - The request parameters failed validation checks
  • 429: Rate Limited - Request limit has been exceeded for this resource
  • 455: Service Unavailable - System is currently undergoing maintenance
  • 500: Server Error - An unexpected error occurred while processing the request
  • 501: Generation Failed - Content generation task failed
  • 505: Feature Disabled - The requested feature is currently disabled
Available options:
200,
401,
402,
404,
422,
429,
455,
500,
501,
505
msg
string

Response message, error description when failed

Example:

"success"

data
object