> ## 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 2.5 Text to Video

> Create 5 or 10 second videos from text with synchronized audio and landscape or portrait output up to 1080p.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. Save the returned `task_id` to track generation.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. With a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task reaches `finished` or `failed`.
</Tip>

# Wan 2.5 Text to Video

Create 5 or 10 second videos from text with synchronized audio and landscape or portrait output up to 1080p.

## Available Model

* `alibaba/wan-2.5/text-to-video`: Generate a video scene from a text prompt.

## Request Parameters

Set `model` and optional `callback_url` at the request root. Place the following generation parameters inside `input`.

### prompt

* `prompt` (string, required): Describe the subject, scene, and motion. Use 1–1500 characters after trimming surrounding whitespace.

### aspect\_ratio

* `aspect_ratio` (string, required): Frame dimensions in pixels (`width*height`): `832*480`, `480*832`, `1280*720`, `720*1280`, `1920*1080`, `1080*1920`.

### duration

* `duration` (integer, optional): Video duration: 5 or 10 seconds. Default: 5.

### audio

* `audio` (string, optional): Optional audio file URL to supply a recording for the video.

### negative\_prompt

* `negative_prompt` (string, optional): Optional description of elements to exclude from the scene.

### seed

* `seed` (integer, optional): Optional integer random seed for reusing generation settings.

## Retrieve the Video

Query the task with `task_id`. Continue polling while `status` is `not_started` or `running`. At `finished`, read the video URL from `data.files[].file_url`. At `failed`, read `data.error_message` for the error details.


## OpenAPI

````yaml api-manual/video-series/alibaba-wan-2-5-text-to-video.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Wan 2.5 Text to Video
  description: >-
    Create 5 or 10 second video scenes from text with Wan 2.5, with audio input
    and prompt controls to shape the look of each clip.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Video Series
      summary: Submit Wan 2.5 Text to Video Task
      description: >-
        Send only the fields shown for this workflow. Parameters from other
        workflows are rejected before credits are deducted.


        When supplied, prompt must not be blank.


        Set duration to 5 or 10 seconds. If omitted, duration defaults to 5
        seconds.
      operationId: submit_alibaba_wan_2_5_text_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: alibaba/wan-2.5/text-to-video
                input:
                  type: object
                  required:
                    - aspect_ratio
                    - prompt
                  properties:
                    prompt:
                      type: string
                      maxLength: 1500
                      minLength: 1
                      description: >-
                        Describe the subject, scene, and motion. Use 1–1500
                        characters after trimming surrounding whitespace.
                    aspect_ratio:
                      type: string
                      enum:
                        - 832*480
                        - 480*832
                        - 1280*720
                        - 720*1280
                        - 1920*1080
                        - 1080*1920
                      description: >-
                        Frame dimensions in pixels (`width*height`): `832*480`,
                        `480*832`, `1280*720`, `720*1280`, `1920*1080`,
                        `1080*1920`.
                    duration:
                      type: integer
                      enum:
                        - 5
                        - 10
                      default: 5
                      description: 'Video duration: 5 or 10 seconds. Default: 5.'
                    audio:
                      type: string
                      description: >-
                        Optional audio file URL to supply a recording for the
                        video.
                      example: https://example.com/audio.mp3
                    negative_prompt:
                      type: string
                      description: >-
                        Optional description of elements to exclude from the
                        scene.
                    seed:
                      type: integer
                      description: >-
                        Optional integer random seed for reusing generation
                        settings.
                  additionalProperties: false
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint for task completion
                    notifications. HTTPS is recommended. Omit, use null, or use
                    an empty string to disable callbacks.
              description: >-
                Set model and optional callback_url at the request root. Place
                generation parameters inside input.
            examples:
              basic:
                summary: Basic workflow
                value:
                  model: alibaba/wan-2.5/text-to-video
                  input:
                    aspect_ratio: 832*480
                    prompt: >-
                      A quiet forest under soft morning light, with natural
                      detail.
                    duration: 5
              callback:
                summary: 10-second video with a completion callback
                value:
                  model: alibaba/wan-2.5/text-to-video
                  input:
                    aspect_ratio: 832*480
                    prompt: >-
                      A quiet forest under soft morning light, with natural
                      detail.
                    duration: 10
                  callback_url: https://your-domain.com/callback
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: task-unified-example
                  status: running
                  created_time: '2026-09-10T08:00:00'
        '400':
          description: Input validation, media access, or account balance error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Generation task creation error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration or capability is not approved
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````