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

# Wan Animate Video Generation

> AI-powered character animation and replacement based on Alibaba's Wan2.2-Animate model

<Tip>
  1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`.
  2. Regardless of whether `callback_url` is provided, you can retrieve the response result through the unified [Query Task Status](/api-manual/task-management/status) endpoint.
</Tip>

# Wan Animate Video Generation

Wan Animate is powered by Alibaba's Wan2.2-Animate model, a 14B parameter open-source model for digital human video generation. It accurately captures facial expressions and body movements from a reference video and applies them to a target image, enabling seamless character animation and replacement with realistic lighting and color preservation.

## Available Models

* **wan-animate-replace** - Replace a character in a video with one from a source image while preserving expressions and movements
* **wan-animate-move** - Animate a character image using motion from a reference video

## Resolution Options

* **480p** - Standard definition (default)
* **580p** - Enhanced definition
* **720p** - HD quality


## OpenAPI

````yaml /api-manual/video-series/wan-animate.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Wan Animate API
  description: >-
    AI-powered character animation and replacement based on Alibaba's
    Wan2.2-Animate model
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
    description: Production server
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Wan Animate
      summary: Submit Wan Animate Task
      description: >-
        AI-powered character animation and replacement. Accurately captures
        facial expressions and body movements from reference video and applies
        them to a target image
      operationId: submitWanAnimateTask
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitRequest'
            examples:
              wan-animate-replace:
                summary: Wan Animate Replace
                value:
                  model: wan-animate-replace
                  callback_url: https://your-domain.com/callback
                  input:
                    video_url: https://example.com/source.mp4
                    image_urls:
                      - https://example.com/replace.jpg
                    resolution: 480p
              wan-animate-move:
                summary: Wan Animate Move
                value:
                  model: wan-animate-move
                  callback_url: https://your-domain.com/callback
                  input:
                    video_url: https://example.com/source.mp4
                    image_urls:
                      - https://example.com/move.jpg
                    resolution: 480p
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitResponse'
components:
  schemas:
    SubmitRequest:
      type: object
      required:
        - model
        - input
      properties:
        model:
          type: string
          description: Wan Animate model identifier
          enum:
            - wan-animate-replace
            - wan-animate-move
        callback_url:
          type: string
          format: uri
          description: Webhook callback URL for result notifications
          example: https://your-domain.com/callback
        input:
          type: object
          required:
            - video_url
            - image_urls
          description: Input parameters for animation
          properties:
            video_url:
              type: string
              format: uri
              description: Source video URL to extract motion from
              example: https://example.com/source.mp4
            image_urls:
              type: array
              items:
                type: string
                format: uri
              minItems: 1
              maxItems: 1
              description: Target image URL to animate (only 1 image allowed)
              example:
                - https://example.com/target.jpg
            resolution:
              type: string
              description: Output video resolution
              enum:
                - 480p
                - 580p
                - 720p
              default: 480p
              example: 480p
    SubmitResponse:
      type: object
      required:
        - code
        - data
      properties:
        code:
          type: integer
          example: 200
          description: HTTP status code
        data:
          type: object
          required:
            - task_id
            - status
            - created_time
          properties:
            task_id:
              type: string
              example: task-unified-1757165031-uyujaw3d
              description: Unique task identifier for status tracking
            status:
              type: string
              enum:
                - not_started
              example: not_started
              description: Initial task status
            created_time:
              type: string
              format: date-time
              example: '2025-11-12T10:30:00'
              description: ISO 8601 timestamp when the task was created
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        All API endpoints require Bearer Token authentication


        Get your API Key:


        Visit the [API Key Management
        Page](https://vidgo.ai/apis/dashboard/api-key) to get your API Key


        Add it to the request header:


        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````