> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skills.video/llms.txt
> Use this file to discover all available pages before exploring further.

# Wan V2.6

Cinematic, multi-shot, audio-visual sync, up to 15s.


## OpenAPI

````yaml /openapi.json post /generation/wan-video/wan-v2.6
openapi: 3.1.0
info:
  title: skills.video OpenAPI
  version: 1.0.0
  description: OpenAPI schema for skills.video API endpoints.
servers:
  - url: https://open.skills.video/api/v1
security: []
paths:
  /generation/wan-video/wan-v2.6:
    post:
      summary: Wan V2.6
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/wan_wan_v2_6CreateRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/wan_wan_v2_6MultipartCreateRequest'
      responses:
        '200':
          description: Generation submission accepted
          content:
            application/json:
              example:
                id: gen_123
                status: IN_QUEUE
                input:
                  prompt: a cat walking through neon rain
                  duration: 5
                  aspect_ratio: '16:9'
                  'n': 1
                usage:
                  total: 20
                  subscription: 20
                  permanent: 0
              schema:
                $ref: '#/components/schemas/wan_wan_v2_6Prediction'
        '400':
          description: >-
            Video generation request was rejected as invalid or model is not
            supported.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_INVALID_INPUT
                code: VIDEO_GENERATION_INVALID_INPUT
                message: '''prompt'' parameter is required'
              schema:
                anyOf:
                  - $ref: '#/components/schemas/VideoGenerationErrorResponse'
                  - $ref: '#/components/schemas/TemplateErrorResponse'
                  - $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required or failed
          content:
            application/json:
              example:
                error: UNAUTHORIZED
                code: UNAUTHORIZED
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Workspace does not have enough credits to run this generation.
          content:
            application/json:
              example:
                error: INSUFFICIENT_CREDITS
                code: VIDEO_GENERATION_INSUFFICIENT_CREDITS
                message: Insufficient credits for this generation.
              schema:
                $ref: '#/components/schemas/VideoGenerationErrorResponse'
        '403':
          description: Workspace access is forbidden or Seedance verification is required.
          content:
            application/json:
              example:
                error: WORKSPACE_FORBIDDEN
                code: WORKSPACE_FORBIDDEN
                message: You do not have access to this workspace.
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/SeedanceVerificationErrorResponse'
        '404':
          description: Resource, model, or template not found.
          content:
            application/json:
              example:
                error: TEMPLATE_NOT_FOUND
                code: TEMPLATE_NOT_FOUND
                message: Template not found.
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/TemplateErrorResponse'
        '422':
          description: Upstream moderation rejected the request content.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_CONTENT_REJECTED
                code: VIDEO_GENERATION_CONTENT_REJECTED
                message: Request content was rejected by the moderation policy.
              schema:
                $ref: '#/components/schemas/VideoGenerationErrorResponse'
        '429':
          description: Generation rate limit exceeded upstream.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_RATE_LIMITED
                code: VIDEO_GENERATION_RATE_LIMITED
                message: Rate limit exceeded. Please retry later.
              schema:
                $ref: '#/components/schemas/VideoGenerationErrorResponse'
        '500':
          description: >-
            Video generation failed before provider execution completed.
            Response includes code and message fields.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_FAILED
                code: VIDEO_GENERATION_FAILED
                message: Generation failed.
              schema:
                anyOf:
                  - $ref: '#/components/schemas/VideoGenerationErrorResponse'
                  - $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: >-
            Video generation failed. Returned when the upstream provider reports
            a generic failure.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_FAILED
                code: VIDEO_GENERATION_FAILED
                message: Generation failed.
              schema:
                $ref: '#/components/schemas/VideoGenerationErrorResponse'
        '503':
          description: Upstream generation provider is unavailable.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_PROVIDER_UNAVAILABLE
                code: VIDEO_GENERATION_PROVIDER_UNAVAILABLE
                message: Upstream generation provider is temporarily unavailable.
              schema:
                $ref: '#/components/schemas/VideoGenerationErrorResponse'
        '504':
          description: Video generation exceeded the upstream timeout.
          content:
            application/json:
              example:
                error: VIDEO_GENERATION_TIMEOUT
                code: VIDEO_GENERATION_TIMEOUT
                message: Generation timed out.
              schema:
                $ref: '#/components/schemas/VideoGenerationErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    wan_wan_v2_6CreateRequest:
      anyOf:
        - type: object
          properties:
            seed:
              description: Random seed for reproducible generation
              title: Seed
              order: 8
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            prompt:
              description: Text prompt for video generation
              title: Prompt
              order: 1
              type: string
            audio:
              description: >-
                Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music
                synchronization
              title: Audio
              format: uri
              order: 3
              anyOf:
                - format: uri
                  type: string
                - type: 'null'
            first_frame_url:
              description: Input image for video generation
              title: Image
              format: uri
              order: 0
              type: string
            video_refs:
              description: Reference videos for reference-to-video
              title: References
              xMax: 3
              type: array
              items:
                type: string
            duration:
              description: Duration of the generated video in seconds
              title: duration
              order: 5
              default: 5
              anyOf:
                - type: number
                  const: 5
                - type: number
                  const: 10
                - type: number
                  const: 15
            resolution:
              description: Video resolution
              title: resolution
              order: 4
              default: 720p
              type: string
              enum:
                - 720p
                - 1080p
            multi_shots:
              description: >-
                Enable intelligent multi-shot segmentation (only active when
                enable_prompt_expansion is enabled). True enables multi-shot
                segmentation, false generates single-shot content.
              title: Multi Shots
              order: 7
              default: false
              type: boolean
            negative_prompt:
              description: Negative prompt to avoid certain elements
              title: Negative Prompt
              order: 2
              default: ''
              type: string
            enable_prompt_expansion:
              description: If set to true, the prompt optimizer will be enabled
              title: Enable Prompt Expansion
              order: 6
              default: true
              type: boolean
            'n':
              default: 1
              description: Number of results to generate (1-4)
              type: integer
              minimum: 1
              maximum: 4
          required:
            - prompt
          additionalProperties: false
        - type: object
          properties:
            seed:
              description: Random seed for reproducible generation
              title: Seed
              order: 7
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            size:
              description: Video resolution and aspect ratio
              title: size
              order: 3
              default: 1280*720
              type: string
              enum:
                - 1280*720
                - 720*1280
                - 1920*1080
                - 1080*1920
            audio:
              description: >-
                Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music
                synchronization
              title: Audio
              format: uri
              order: 2
              anyOf:
                - format: uri
                  type: string
                - type: 'null'
            prompt:
              description: Text prompt for video generation
              title: Prompt
              order: 0
              type: string
            duration:
              description: Duration of the generated video in seconds
              title: duration
              order: 4
              default: 5
              anyOf:
                - type: number
                  const: 5
                - type: number
                  const: 10
                - type: number
                  const: 15
            multi_shots:
              description: >-
                Enable intelligent multi-shot segmentation (only active when
                enable_prompt_expansion is enabled). True enables multi-shot
                segmentation, false generates single-shot content.
              title: Multi Shots
              order: 6
              default: false
              type: boolean
            negative_prompt:
              description: Negative prompt to avoid certain elements
              title: Negative Prompt
              order: 1
              default: ''
              type: string
            enable_prompt_expansion:
              description: If set to true, the prompt optimizer will be enabled
              title: Enable Prompt Expansion
              order: 5
              default: true
              type: boolean
            'n':
              default: 1
              description: Number of results to generate (1-4)
              type: integer
              minimum: 1
              maximum: 4
          required:
            - prompt
          additionalProperties: false
    wan_wan_v2_6MultipartCreateRequest:
      anyOf:
        - type: object
          properties:
            seed:
              description: Random seed for reproducible generation
              title: Seed
              order: 8
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            prompt:
              description: Text prompt for video generation
              title: Prompt
              order: 1
              type: string
            audio:
              description: >-
                Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music
                synchronization When using application/json, send a public URL.
                When using multipart/form-data, send either a public URL or a
                binary file upload.
              title: Audio
              order: 3
              anyOf:
                - anyOf:
                    - format: uri
                      type: string
                    - format: binary
                      type: string
                - type: 'null'
            first_frame_url:
              description: >-
                Input image for video generation When using application/json,
                send a public URL. When using multipart/form-data, send either a
                public URL or a binary file upload.
              title: Image
              order: 0
              x-cli-aliases:
                - first-frame
                - start-frame
              anyOf:
                - format: uri
                  type: string
                - format: binary
                  type: string
            video_refs:
              description: Reference videos for reference-to-video
              title: References
              xMax: 3
              type: array
              items:
                type: string
            duration:
              description: Duration of the generated video in seconds
              title: duration
              order: 5
              default: 5
              anyOf:
                - type: number
                  const: 5
                - type: number
                  const: 10
                - type: number
                  const: 15
            resolution:
              description: Video resolution
              title: resolution
              order: 4
              default: 720p
              type: string
              enum:
                - 720p
                - 1080p
            multi_shots:
              description: >-
                Enable intelligent multi-shot segmentation (only active when
                enable_prompt_expansion is enabled). True enables multi-shot
                segmentation, false generates single-shot content.
              title: Multi Shots
              order: 7
              default: false
              type: boolean
            negative_prompt:
              description: Negative prompt to avoid certain elements
              title: Negative Prompt
              order: 2
              default: ''
              type: string
            enable_prompt_expansion:
              description: If set to true, the prompt optimizer will be enabled
              title: Enable Prompt Expansion
              order: 6
              default: true
              type: boolean
            'n':
              default: 1
              description: Number of results to generate (1-4)
              type: integer
              minimum: 1
              maximum: 4
          required:
            - prompt
          additionalProperties: false
        - type: object
          properties:
            seed:
              description: Random seed for reproducible generation
              title: Seed
              order: 7
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            size:
              description: Video resolution and aspect ratio
              title: size
              order: 3
              default: 1280*720
              type: string
              enum:
                - 1280*720
                - 720*1280
                - 1920*1080
                - 1080*1920
            audio:
              description: >-
                Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music
                synchronization When using application/json, send a public URL.
                When using multipart/form-data, send either a public URL or a
                binary file upload.
              title: Audio
              order: 2
              anyOf:
                - anyOf:
                    - format: uri
                      type: string
                    - format: binary
                      type: string
                - type: 'null'
            prompt:
              description: Text prompt for video generation
              title: Prompt
              order: 0
              type: string
            duration:
              description: Duration of the generated video in seconds
              title: duration
              order: 4
              default: 5
              anyOf:
                - type: number
                  const: 5
                - type: number
                  const: 10
                - type: number
                  const: 15
            multi_shots:
              description: >-
                Enable intelligent multi-shot segmentation (only active when
                enable_prompt_expansion is enabled). True enables multi-shot
                segmentation, false generates single-shot content.
              title: Multi Shots
              order: 6
              default: false
              type: boolean
            negative_prompt:
              description: Negative prompt to avoid certain elements
              title: Negative Prompt
              order: 1
              default: ''
              type: string
            enable_prompt_expansion:
              description: If set to true, the prompt optimizer will be enabled
              title: Enable Prompt Expansion
              order: 5
              default: true
              type: boolean
            'n':
              default: 1
              description: Number of results to generate (1-4)
              type: integer
              minimum: 1
              maximum: 4
          required:
            - prompt
          additionalProperties: false
    wan_wan_v2_6Prediction:
      type: object
      properties:
        id:
          description: Generation id.
          type: string
        status:
          $ref: '#/components/schemas/QueueState'
        input:
          $ref: '#/components/schemas/wan_wan_v2_6Input'
          description: Normalized input payload for the generation task.
        usage:
          $ref: '#/components/schemas/Usage'
        code:
          $ref: '#/components/schemas/__schema1'
        message:
          $ref: '#/components/schemas/__schema2'
      required:
        - id
        - status
        - input
        - usage
      additionalProperties: false
    VideoGenerationErrorResponse:
      type: object
      properties:
        error:
          description: >-
            Legacy machine-readable error field. Prefer `code` for new
            integrations.
          type: string
        code:
          description: >-
            Video generation error code. `*_FAILED` is the generic fallback;
            more specific codes (`*_TIMEOUT`, `*_RATE_LIMITED`,
            `*_PROVIDER_UNAVAILABLE`, `*_UNSUPPORTED_MODEL`, `*_INVALID_INPUT`,
            `*_INSUFFICIENT_CREDITS`, `*_CONTENT_REJECTED`) are surfaced when
            applicable.
          type: string
          enum:
            - VIDEO_GENERATION_FAILED
            - VIDEO_GENERATION_TIMEOUT
            - VIDEO_GENERATION_RATE_LIMITED
            - VIDEO_GENERATION_PROVIDER_UNAVAILABLE
            - VIDEO_GENERATION_UNSUPPORTED_MODEL
            - VIDEO_GENERATION_INVALID_INPUT
            - VIDEO_GENERATION_INSUFFICIENT_CREDITS
            - VIDEO_GENERATION_CONTENT_REJECTED
        message:
          description: Human readable error message. Upstream vendor names are redacted.
          type: string
        errors:
          description: Field-level validation errors when available.
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
              code:
                type: string
            required:
              - path
              - message
              - code
            additionalProperties: false
        details:
          description: Additional structured error details when available.
        requested:
          description: Requested credits when the error is insufficient credits.
          type: number
        available:
          description: Available credits when the error is insufficient credits.
          type: number
      required:
        - code
        - message
      additionalProperties: false
    TemplateErrorResponse:
      type: object
      properties:
        error:
          description: >-
            Legacy machine-readable error field. Prefer `code` for new
            integrations.
          type: string
        code:
          description: Template error code.
          type: string
          enum:
            - TEMPLATE_NOT_FOUND
            - TEMPLATE_MODEL_MISMATCH
            - TEMPLATE_INVALID_INPUT
            - TEMPLATE_TRANSFORM_FAILED
        message:
          description: Human readable template error message.
          type: string
        errors:
          description: Field-level template validation errors when available.
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
              code:
                type: string
            required:
              - path
              - message
              - code
            additionalProperties: false
        details:
          description: Additional structured error details when available.
      required:
        - code
        - message
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        error:
          description: >-
            Legacy machine-readable error field. Prefer `code` for new
            integrations. This may contain an unprefixed compatibility code for
            older clients.
          type: string
        code:
          description: Machine-readable error code. Use this to branch in client code.
          type: string
        message:
          description: Human readable error message.
          type: string
        errors:
          description: Field-level validation errors when available.
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
              code:
                type: string
            required:
              - path
              - message
              - code
            additionalProperties: false
        details:
          description: Additional structured error details when available.
      required:
        - code
        - message
      additionalProperties: false
    SeedanceVerificationErrorResponse:
      type: object
      properties:
        error:
          description: >-
            Legacy machine-readable error field. Prefer `code` for new
            integrations.
          type: string
        code:
          description: Seedance verification error code.
          type: string
          const: SEEDANCE_VERIFICATION_REQUIRED
        message:
          description: Human readable verification error message.
          type: string
        verification:
          description: Current Seedance verification state when available.
          anyOf:
            - {}
            - type: 'null'
      required:
        - code
        - message
      additionalProperties: false
    QueueState:
      description: Queue status
      type: string
      enum:
        - IN_QUEUE
        - IN_PROGRESS
        - COMPLETED
        - FAILED
        - CANCELED
    wan_wan_v2_6Input:
      $ref: '#/components/schemas/__schema63'
      description: Supports both image+prompt and prompt-only inputs for Wan V2.6
    Usage:
      description: Credit usage breakdown for the request
      type: object
      properties:
        total:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        subscription:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        permanent:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - total
        - subscription
        - permanent
      additionalProperties: false
    __schema1:
      description: >-
        Machine-readable generation error code. Present when `status` is
        `FAILED`.
      type: string
    __schema2:
      description: >-
        Sanitized human-readable failure message. Present when `status` is
        `FAILED`.
      type: string
    __schema63:
      description: Supports both image+prompt and prompt-only inputs for Wan V2.6
      anyOf:
        - description: Image + prompt to video
          title: Input
          type: object
          properties:
            seed:
              description: Random seed for reproducible generation
              title: Seed
              order: 8
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            prompt:
              description: Text prompt for video generation
              title: Prompt
              order: 1
              type: string
            audio:
              description: >-
                Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music
                synchronization
              title: Audio
              format: uri
              order: 3
              anyOf:
                - format: uri
                  type: string
                - type: 'null'
            first_frame_url:
              description: Input image for video generation
              title: Image
              format: uri
              order: 0
              type: string
            video_refs:
              description: Reference videos for reference-to-video
              title: References
              xMax: 3
              type: array
              items:
                type: string
            duration:
              description: Duration of the generated video in seconds
              title: duration
              order: 5
              default: 5
              anyOf:
                - type: number
                  const: 5
                - type: number
                  const: 10
                - type: number
                  const: 15
            resolution:
              description: Video resolution
              title: resolution
              order: 4
              default: 720p
              type: string
              enum:
                - 720p
                - 1080p
            multi_shots:
              description: >-
                Enable intelligent multi-shot segmentation (only active when
                enable_prompt_expansion is enabled). True enables multi-shot
                segmentation, false generates single-shot content.
              title: Multi Shots
              order: 7
              default: false
              type: boolean
            negative_prompt:
              description: Negative prompt to avoid certain elements
              title: Negative Prompt
              order: 2
              default: ''
              type: string
            enable_prompt_expansion:
              description: If set to true, the prompt optimizer will be enabled
              title: Enable Prompt Expansion
              order: 6
              default: true
              type: boolean
          required:
            - prompt
          additionalProperties: {}
        - description: Prompt-only to video
          title: Input
          type: object
          properties:
            seed:
              description: Random seed for reproducible generation
              title: Seed
              order: 7
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: 'null'
            size:
              description: Video resolution and aspect ratio
              title: size
              order: 3
              default: 1280*720
              type: string
              enum:
                - 1280*720
                - 720*1280
                - 1920*1080
                - 1080*1920
            audio:
              description: >-
                Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music
                synchronization
              title: Audio
              format: uri
              order: 2
              anyOf:
                - format: uri
                  type: string
                - type: 'null'
            prompt:
              description: Text prompt for video generation
              title: Prompt
              order: 0
              type: string
            duration:
              description: Duration of the generated video in seconds
              title: duration
              order: 4
              default: 5
              anyOf:
                - type: number
                  const: 5
                - type: number
                  const: 10
                - type: number
                  const: 15
            multi_shots:
              description: >-
                Enable intelligent multi-shot segmentation (only active when
                enable_prompt_expansion is enabled). True enables multi-shot
                segmentation, false generates single-shot content.
              title: Multi Shots
              order: 6
              default: false
              type: boolean
            negative_prompt:
              description: Negative prompt to avoid certain elements
              title: Negative Prompt
              order: 1
              default: ''
              type: string
            enable_prompt_expansion:
              description: If set to true, the prompt optimizer will be enabled
              title: Enable Prompt Expansion
              order: 5
              default: true
              type: boolean
          required:
            - prompt
          additionalProperties: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API Key for API endpoints

````