Skip to content

Wan - Text to Video

OpenAPI Specification

yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /api/v1/jobs/createTask:
    post:
      summary: Wan - Text to Video
      deprecated: false
      description: >-
        High-quality video generation from text descriptions powered by Wan's
        advanced AI model

        ## 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
        

        ::: tip[]

        For production use, we recommend using the `callBackUrl` parameter to
        receive automatic notifications when generation completes, rather than
        polling the status endpoint.

        :::

        ## Related Resources

        
          

**Market Overview**

            Explore all available models
          

          

**Common API**

            Check credits and account usage
          

        
      operationId: wan-2-2-a14b-text-to-video-turbo
      tags:
        - docs/en/Market/Video Models/Wan
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - model
              properties:
                model:
                  type: string
                  enum:
                    - wan/2-2-a14b-text-to-video-turbo
                  default: wan/2-2-a14b-text-to-video-turbo
                  description: >-
                    The model name to use for generation. Required field.

                    - Must be `wan/2-2-a14b-text-to-video-turbo` for this
                    endpoint
                  examples:
                    - wan/2-2-a14b-text-to-video-turbo
                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

                    - To ensure callback security, see [Webhook Verification
                    Guide](/common-api/webhook-verification) for signature
                    verification implementation
                  examples:
                    - https://your-domain.com/api/callback
                input:
                  type: object
                  description: Input parameters for the generation task
                  properties:
                    prompt:
                      description: >-
                        The text prompt to guide video generation. (Max length:
                        5000 characters)
                      type: string
                      maxLength: 5000
                      examples:
                        - >-
                          Drone shot, fast traversal, starting inside a cracked,
                          frosty circular pipe. The camera bursts upward through
                          the pipe to reveal a vast polar landscape bathed in
                          golden sunrise light. Workers in orange suits operate
                          steaming machinery. The camera tilts up, revealing the
                          scene from the perspective of a rising hot air
                          balloon. It continues ascending into a glowing sky,
                          the balloon trailing steam and displaying the letters
                          "KIE AI" as it rises into breathtaking polar majesty.
                    resolution:
                      description: >-
                        Resolution of the generated video (480p or 720p).
                        Default value: "720p"
                      type: string
                      enum:
                        - 480p
                        - 720p
                      default: 720p
                      examples:
                        - 720p
                    aspect_ratio:
                      description: >-
                        Aspect ratio of the generated video (16:9 or 9:16).
                        Default value: "16:9"
                      type: string
                      enum:
                        - '16:9'
                        - '9:16'
                      default: '16:9'
                      examples:
                        - '16:9'
                    enable_prompt_expansion:
                      description: >-
                        Whether to enable prompt expansion. This will use a
                        large language model to expand the prompt with
                        additional details while maintaining the original
                        meaning. (Boolean value (true/false))
                      type: boolean
                      examples:
                        - false
                    seed:
                      description: >-
                        Random seed for reproducibility. If None, a random seed
                        is chosen. (Min: 0, Max: 2147483647, Step: 1) (step: 1)
                      type: number
                      minimum: 0
                      maximum: 2147483647
                      default: 0
                      examples:
                        - 0
                    acceleration:
                      description: >-
                        Acceleration level to use. The more acceleration, the
                        faster the generation, but with lower quality. The
                        recommended value is 'none'. Default value: "none"
                      type: string
                      enum:
                        - none
                        - regular
                      default: none
                      examples:
                        - none
                    nsfw_checker:
                      type: boolean
                      description: >-
                        Defaults to false. You can set it to false based on your
                        needs. If set to false, our content filtering will be
                        disabled, and all results will be returned directly by
                        the model itself.
                  required:
                    - prompt
                  x-apidog-orders:
                    - prompt
                    - resolution
                    - aspect_ratio
                    - enable_prompt_expansion
                    - seed
                    - acceleration
                    - nsfw_checker
                  x-apidog-ignore-properties: []
              x-apidog-orders:
                - model
                - callBackUrl
                - input
              x-apidog-ignore-properties: []
            example:
              model: wan/2-2-a14b-text-to-video-turbo
              callBackUrl: https://your-domain.com/api/callback
              input:
                prompt: >-
                  Drone shot, fast traversal, starting inside a cracked, frosty
                  circular pipe. The camera bursts upward through the pipe to
                  reveal a vast polar landscape bathed in golden sunrise light.
                  Workers in orange suits operate steaming machinery. The camera
                  tilts up, revealing the scene from the perspective of a rising
                  hot air balloon. It continues ascending into a glowing sky,
                  the balloon trailing steam and displaying the letters "KIE AI"
                  as it rises into breathtaking polar majesty.
                resolution: 720p
                aspect_ratio: '16:9'
                enable_prompt_expansion: false
                seed: 0
                acceleration: none
                nsfw_checker: false
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
              example:
                code: 200
                msg: success
                data:
                  taskId: task_wan_1765172502514
          headers: {}
          x-apidog-name: ''
        '500':
          description: request failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    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

                      - **408**: Upstream is currently experiencing service
                      issues. No result has been returned for over 10 minutes.

                      - **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
                  data:
                    type: object
                    properties: {}
                    x-apidog-orders: []
                    x-apidog-ignore-properties: []
                x-apidog-orders:
                  - code
                  - msg
                  - data
                required:
                  - code
                  - msg
                  - data
                x-apidog-ignore-properties: []
              example:
                code: 500
                msg: >-
                  Server Error - An unexpected error occurred while processing
                  the request
                data: null
          headers: {}
          x-apidog-name: 'Error '
      security:
        - BearerAuth: []
          x-apidog:
            schemeGroups:
              - id: kn8M4YUlc5i0A0179ezwx
                schemeIds:
                  - BearerAuth
            required: true
            use:
              id: kn8M4YUlc5i0A0179ezwx
            scopes:
              kn8M4YUlc5i0A0179ezwx:
                BearerAuth: []
      x-apidog-folder: docs/en/Market/Video Models/Wan
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/1184766/apis/api-28506418-run
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          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

            - **433**: Request Limit - Sub-key Usage Exceeds Limit

            - **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
          enum:
            - 200
            - 401
            - 402
            - 404
            - 422
            - 429
            - 433
            - 455
            - 500
            - 501
            - 505
          x-apidog-enum:
            - value: 200
              name: ''
              description: ''
            - value: 401
              name: ''
              description: ''
            - value: 402
              name: ''
              description: ''
            - value: 404
              name: ''
              description: ''
            - value: 422
              name: ''
              description: ''
            - value: 429
              name: ''
              description: ''
            - value: 433
              name: ''
              description: ''
            - value: 455
              name: ''
              description: ''
            - value: 500
              name: ''
              description: ''
            - value: 501
              name: ''
              description: ''
            - value: 505
              name: ''
              description: ''
        msg:
          type: string
          description: Response message, error description when failed
          examples:
            - success
        data:
          type: object
          properties:
            taskId:
              type: string
              description: >-
                Task ID, can be used with Get Task Details endpoint to query
                task status
          x-apidog-orders:
            - taskId
          required:
            - taskId
          x-apidog-ignore-properties: []
      x-apidog-orders:
        - code
        - msg
        - data
      title: response not with recordId
      required:
        - data
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes:
    BearerAuth:
      type: bearer
      scheme: bearer
      bearerFormat: API Key
      description: |-
        所有 API 都需要通过 Bearer Token 进行身份验证。

        获取 API Key:
        1. 访问 API Key 管理页面 获取您的 API Key

        使用方法:
        在请求头中添加:
        Authorization: Bearer YOUR_API_KEY

        注意事项:
        - 请妥善保管您的 API Key,切勿泄露给他人
        - 若怀疑 API Key 泄露,请立即在管理页面重置
    BearerAuth1:
      type: bearer
      scheme: bearer
      bearerFormat: API Key
      description: |-
        所有 API 都需要通过 Bearer Token 进行身份验证。

        获取 API Key:
        1. 访问 API Key 管理页面 获取您的 API Key

        使用方法:
        在请求头中添加:
        Authorization: Bearer YOUR_API_KEY

        注意事项:
        - 请妥善保管您的 API Key,切勿泄露给他人
        - 若怀疑 API Key 泄露,请立即在管理页面重置
servers:
  - url: https://api.kie.ai
    description: 正式环境
security:
  - BearerAuth: []
    x-apidog:
      schemeGroups:
        - id: kn8M4YUlc5i0A0179ezwx
          schemeIds:
            - BearerAuth
      required: true
      use:
        id: kn8M4YUlc5i0A0179ezwx
      scopes:
        kn8M4YUlc5i0A0179ezwx:
          BearerAuth: []

Self-contained reference. Not affiliated with kie.ai.