Generate dynamic videos from static images using the Wan 2.6 Image to Video model. The process consists of two steps: create a generation task and query task status and results.
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.
market/wan/2-6-image-to-video.json post /api/v1/jobs/createTask
openapi: 3.0.0info: title: Wan API description: Apikley Wan API Documentation - Image to Video version: 1.0.0 contact: name: Technical Support email: support@apikley.ruservers: - url: https://api.apikley.ru description: API Serversecurity: - BearerAuth: []paths: /api/v1/jobs/createTask: post: summary: Generate videos from images using wan/2-6-image-to-video operationId: wan-2-6-image-to-video requestBody: required: true content: application/json: schema: type: object required: - model properties: model: type: string enum: - wan/2-6-image-to-video default: wan/2-6-image-to-video description: |- The model name to use for generation. Required field. - Must be `wan/2-6-image-to-video` for this endpoint example: wan/2-6-image-to-video callBackUrl: type: string format: uri description: >- 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: type: object description: Input parameters for the generation task properties: prompt: description: >- Text prompts for video generation. Supports both Chinese and English, with a minimum of 2 characters and a maximum of 5,000 characters. (Max length: 5000 characters) type: string maxLength: 5000 example: >- Anthopmopric fox singing a Christmas song at the rubbish dump in the rain. image_urls: description: >- Upload an image file to use as input for the API (File URL after upload, not file content; Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB) type: array items: type: string format: uri maxItems: 1 example: - >- https://static.aiquickdraw.com/tools/example/1765957673717_awiBAidD.webp duration: description: The duration of the generated video in seconds type: string enum: - '5' - '10' - '15' default: '5' example: '5' resolution: description: Video resolution tier type: string enum: - 720p - 1080p default: 1080p example: 1080p required: - prompt - image_urls example: model: wan/2-6-image-to-video callBackUrl: https://your-domain.com/api/callback input: prompt: >- Anthopmopric fox singing a Christmas song at the rubbish dump in the rain. image_urls: - >- https://static.aiquickdraw.com/tools/example/1765957673717_awiBAidD.webp duration: '5' resolution: 1080p responses: '200': description: Request successful content: application/json: schema: allOf: - $ref: '#/components/schemas/ApiResponse' - type: object properties: data: type: object properties: taskId: type: string description: >- Task ID, can be used with Get Task Details endpoint to query task status example: task_wan_1765967723871 example: code: 200 msg: success data: taskId: task_wan_1765967723871 '500': $ref: '#/components/responses/Error'components: schemas: ApiResponse: type: object properties: code: type: integer enum: - 200 - 401 - 402 - 404 - 422 - 429 - 455 - 500 - 501 - 505 description: >- 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 msg: type: string description: Response message, error description when failed example: success responses: Error: description: Server Error securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: API Key description: >- All APIs require authentication via Bearer Token. Get API Key: 1. Visit [API Key Management Page](https://app.apikley.ru/keys) to get your API Key Usage: Add to request header: Authorization: Bearer APIKLEY_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