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

# Submit Almighty Reference-to-Video Task

> Generate video using mixed references (images/videos/audios) and prompt.



## OpenAPI

````yaml /openapi-en.json post /v1/generation/almighty-reference-to-video
openapi: 3.0.3
info:
  title: WeryAI Generation API
  description: >
    WeryAI Open API provides AI-powered image and video generation capabilities.


    ## Authentication

    All API requests require Bearer token authentication:

    ```

    Authorization: Bearer YOUR_API_KEY

    ```


    ## Task Status

    Generation tasks are processed asynchronously. After submission, you'll
    receive a `task_id` to query the task status and results.


    Task status descriptions:

    - `waiting` - Waiting for processing

    - `processing` - In progress

    - `succeed` - Completed successfully

    - `failed` - Failed


    ## Webhook Callback

    If you provide a `webhook_url`, a POST request containing the task result
    will be sent to that address when the task is completed.
  version: 1.0.0
  contact:
    name: WeryAI Support
    url: https://weryai.com
    email: support@weryai.com
servers:
  - url: https://api.weryai.com
    description: Production Server
security: []
tags:
  - name: Image Generation
    description: Image generation related APIs
  - name: Image Tools
    description: Image editing and processing tool APIs
  - name: Video Generation
    description: Video generation related APIs
  - name: Podcast Generation
    description: Podcast generation related APIs
  - name: Chat
    description: Chat related APIs
  - name: Music Generation
    description: Music generation related APIs
  - name: Effect Template
    description: Effect template related APIs
  - name: File Upload
    description: File upload related APIs
  - name: Tasks
    description: Task query related APIs
  - name: Account
    description: Account related APIs
  - name: Video Tools
    description: Video processing and editing tools APIs
  - name: Audio Tools
    description: >-
      Audio processing and recognition tools APIs


      ## Voice Reference


      The following system voices are available for use with the `voice_id`
      parameter:


      ### English Voices


      | ID | Voice Name | Gender | Preview |

      |---|---|---|---|

      | 85 | Captivating Female | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/3987dd96b7ca46d94dd242cecf32663f.mp3)
      |

      | 84 | Playful Girl | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/cfdefca3904e8db50b05c35b0bbd5e45.mp3)
      |

      | 83 | Lovely Girl | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/2bea3739397fe4fb36346bf65e831d42.mp3)
      |

      | 82 | Cheerful Chloe | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/361f42d41f382276d2d64ec0e4851863.mp3)
      |

      | 81 | Wise Lady | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/df04fdbd3e78d00623b38dec086cf304.mp3)
      |

      | 75 | Southern Dude | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/b565f04d06b7a5f92d33f4edf8fee417.mp3)
      |

      | 74 | Lucky Robot | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/c663ca5b792ad462be53a429262eb974.mp3)
      |

      | 73 | Angry Pirate | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/dcc98bc48ce5cbc2c346878a0330acaa.mp3)
      |

      | 72 | Friendly Giant | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/54ba0fb660d8a7efac178ca7456a08a9.mp3)
      |

      | 71 | Man With Deep Voice | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/9493f3c864b5eabd18992cad528b67e5.mp3)
      |


      ### Chinese Voices


      | ID | Voice Name | Gender | Preview |

      |---|---|---|---|

      | 80 | Arrogant Miss | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/a84538991f639fb8b181d28af21c84eb.mp3)
      |

      | 79 | Kind-hearted Antie | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/00d27936559b4b35886c9e1060092227.mp3)
      |

      | 78 | Gentle Senior | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/ba07358a0a5027e7e74f2377137600a8.mp3)
      |

      | 77 | Intellectual Girl | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/091ae63f445f196f82571f6925ab8c5e.mp3)
      |

      | 76 | News Anchor | FEMALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/2b84f899ad50a01f3d3671ee55bed9d7.mp3)
      |

      | 70 | Stubborn Friend | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/18736aee7085e96d76b8755bf2ca181b.mp3)
      |

      | 69 | Reliable Executive | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/49e33c6f237fb98450ef2c1e1a30ec09.mp3)
      |

      | 68 | Lyrical Voice | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/bda4d4eb6bb331ec2e151eb3e1316bf1.mp3)
      |

      | 67 | Refreshing Young Man | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/f11374b6b82b1193f6429c3729420b1f.mp3)
      |

      | 66 | Pure-hearted Boy | MALE | [▶
      Preview](https://static.weryai.com/growth/audio/audio/4af3a0b6c87a04ec3b5ed096f1b56572.mp3)
      |
  - name: Deep Research
    description: Deep Research related APIs
paths:
  /v1/generation/almighty-reference-to-video:
    post:
      tags:
        - Video Generation
      summary: Submit Almighty Reference-to-Video Task
      description: Generate video using mixed references (images/videos/audios) and prompt.
      operationId: submitAlmightyReferenceToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlmightyReferenceToVideoRequest'
            example:
              model: WERYDANCE_2_0_FAST
              prompt: >-
                Use image 1 as opening frame, keep style of video 1, and use
                audio 1 as BGM.
              images:
                - https://example.com/image1.jpg
              videos:
                - https://example.com/video1.mp4
              audios:
                - https://example.com/audio1.mp3
              aspect_ratio: '16:9'
              resolution: 720p
              duration: 5
              generate_audio: 'false'
              video_number: 4
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              example:
                status: 0
                desc: success
                message: success
                data:
                  task_id: task_abc123
                  task_status: waiting
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - BearerAuth: []
components:
  schemas:
    AlmightyReferenceToVideoRequest:
      type: object
      required:
        - model
        - duration
      properties:
        model:
          type: string
          description: |-
            Model Key. Supported models for almighty-reference-to-video:

            | Model Name | Model Key |
            | --- | --- |
            | Werydance 2.0 | WERYDANCE_2_0 |
            | Werydance 2.0 Fast | WERYDANCE_2_0_FAST |
          example: WERYDANCE_2_0_FAST
        prompt:
          type: string
          description: Prompt text (max 2000 characters).
          maxLength: 2000
        images:
          type: array
          minItems: 1
          maxItems: 9
          items:
            type: string
            format: uri
          description: >-
            Reference image URLs (0~9). Optional, but at least one of `images`
            or `videos` must be provided.
        videos:
          type: array
          minItems: 1
          maxItems: 3
          items:
            type: string
            format: uri
          description: >-
            Reference video URLs (max 3; each 2~15s; total <= 15s). Optional,
            but at least one of `images` or `videos` must be provided.
        audios:
          type: array
          minItems: 1
          maxItems: 3
          items:
            type: string
            format: uri
          description: >-
            Reference audio URLs (max 3; each 2~15s; total <= 15s). Cannot be
            used alone without `images` or `videos`.
        aspect_ratio:
          type: string
          description: 'Video aspect ratio. Supported values: `1:1`, `9:16`, `16:9`.'
          example: '16:9'
        resolution:
          type: string
          description: >-
            Video resolution. Supported values: `480p`, `720p`. For Werydance
            2.0 model, `1080p` is also supported. Werydance 2.0 Fast does not
            support `1080p`.
          example: 720p
        duration:
          type: integer
          description: >-
            Generated video duration in seconds. Range: 4-15. Example values: 4,
            10, 15.
          minimum: 4
          maximum: 15
          example: 4
        generate_audio:
          type: string
          description: Whether to generate audio. Enter `true` or `false` manually.
          example: 'false'
        video_number:
          type: integer
          description: Number of videos to generate (1~4).
          default: 1
          enum:
            - 1
            - 2
            - 3
            - 4
        webhook_url:
          type: string
          format: uri
          description: Callback URL
        caller_id:
          type: integer
          format: int64
          description: Caller ID
    ApiResponse:
      type: object
      properties:
        status:
          type: integer
          description: Business status code (0 indicates success)
          example: 0
        desc:
          type: string
          description: Status description
          example: success
        message:
          type: string
          description: Multi-language message
          example: success
        data:
          $ref: '#/components/schemas/GenerationResult'
    GenerationResult:
      type: object
      properties:
        batch_id:
          type: integer
          format: int64
          description: Batch ID
          example: 123456789
        task_ids:
          type: array
          items:
            type: string
          description: Task ID list (returned when submitting tasks)
          example:
            - task_abc123
        task_id:
          type: string
          description: Task ID (returned when querying tasks)
          example: task_abc123
        cost_credits:
          type: number
          format: double
          description: Credits consumed by this task
          example: 12.5
        task_status:
          type: string
          description: |
            Task status:
            - `waiting` - Waiting for processing
            - `processing` - In progress
            - `succeed` - Completed successfully
            - `failed` - Failed
          example: succeed
        content_status:
          type: string
          description: >
            Content generation status for podcast tasks (only present for
            podcast generation tasks):

            - `text-success` - Text generation completed successfully, ready to
            generate audio

            - `text-fail` - Text generation failed, need to regenerate text

            - `audio-success` - Audio generation completed successfully, task
            fully finished

            - `audio-fail` - Audio generation failed, need to regenerate audio


            **Important**: When polling podcast tasks, check this field instead
            of `task_status`. Only proceed to audio generation when
            `content_status == "text-success"`.
          example: text-success
        msg:
          type: string
          description: Error message (returned when task fails)
          example: Content moderation failed
        images:
          type: array
          items:
            type: string
            format: uri
          description: Image result list (returned when image generation succeeds)
          example:
            - https://cdn.weryai.com/result/image1.png
        videos:
          type: array
          items:
            type: string
            format: uri
          description: Video result list (returned when video generation succeeds)
          example:
            - https://cdn.weryai.com/result/video1.mp4
        audios:
          type: array
          items:
            type: string
            format: uri
          description: Audio result list (returned when music/audio generation succeeds)
          example:
            - https://cdn.weryai.com/result/music1.mp3
        lyrics:
          type: string
          description: >-
            Generated lyrics (returned when vocal music generation succeeds,
            null for instrumental music)
          example: |-
            Sunshine on my face, wind in my hair
            Summer days without a care
        cover_url:
          type: string
          format: uri
          description: >-
            Generated cover image URL (returned when music generation succeeds,
            may be null for instrumental music)
          example: https://cdn.weryai.com/result/cover1.jpg
        duration_ms:
          type: integer
          format: int64
          description: >-
            Generated music duration in milliseconds (returned when music
            generation succeeds)
          example: 66000
        speech_text:
          type: string
          description: >-
            Full speech-to-text transcript (returned when speech recognition
            succeeds)
          example: Hello world, this is a sample transcription.
        speech_segments:
          type: array
          items:
            $ref: '#/components/schemas/SpeechSegment'
          description: >-
            Segment-level recognition results with timing (speech recognition
            tasks)
        speech_words:
          type: array
          items:
            $ref: '#/components/schemas/SpeechWord'
          description: Word- or character-level timestamps (speech recognition tasks)
        image_text:
          type: string
          description: >-
            Plain extracted text from image OCR (image text extraction tasks).
            These tasks do not return an `images` URL list in `data`.
          example: |-
            Invoice #12345
            Total: $99.00
        text_annotations:
          $ref: '#/components/schemas/ImageTextAnnotations'
        interaction_id:
          type: string
          description: >-
            Deep Research interaction ID (returned when Deep Research task
            succeeds)
          example: interaction_abc456
        deep_research_outputs:
          type: array
          items:
            $ref: '#/components/schemas/DeepResearchOutput'
          description: >-
            List of output items produced by the Deep Research session (returned
            when Deep Research task succeeds). Each item can be of type `text`
            or `thought`.
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: Business status code
          example: 1001
        desc:
          type: string
          description: Error description
          example: Parameter error
        message:
          type: string
          description: Error message
          example: Model does not exist
    SpeechSegment:
      type: object
      description: Speech recognition segment (aligned transcript slice with timing).
      properties:
        id:
          type: integer
          description: Segment ID
          example: 0
        seek:
          type: integer
          description: Seek offset in the decoded audio stream
          example: 0
        text:
          type: string
          description: Transcript text for this segment
          example: Hello world, this is a sample transcription.
        start:
          type: number
          format: double
          description: Start time in seconds
          example: 0
        end:
          type: number
          format: double
          description: End time in seconds
          example: 3.5
    SpeechWord:
      type: object
      description: Word- or character-level timestamp from speech recognition.
      properties:
        word:
          type: string
          description: Word or character
          example: Hello
        start:
          type: number
          format: double
          description: Start time in seconds
          example: 0
        end:
          type: number
          format: double
          description: End time in seconds
          example: 0.4
    ImageTextAnnotations:
      type: object
      description: >-
        Structured OCR output: provider, merged full text, and per-region
        annotations.
      properties:
        provider:
          type: string
          description: 'OCR engine identifier: `google` or `paddle`'
          example: google
        fullText:
          type: string
          description: Merged full text from all regions
          example: 'Invoice #12345 Total: $99.00'
        annotationCount:
          type: integer
          description: Number of text regions detected
          example: 2
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/ImageAnnotation'
          description: Per-region text, bounding box, rotation, and confidence
    DeepResearchOutput:
      type: object
      description: A single output item from a Deep Research session.
      properties:
        type:
          type: string
          description: >-
            Output item type: `text` for textual / image content, `thought` for
            internal reasoning summary.
          enum:
            - text
            - thought
          example: text
        text:
          type: string
          description: >-
            Main text content (present when `type` is `text` and the item is not
            an image).
          example: |-
            ## Quantum Computing Overview

            Quantum computing leverages quantum mechanical phenomena...
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/DeepResearchAnnotation'
          description: Citation / reference annotations for `type=text` items.
        mime_type:
          type: string
          description: >-
            MIME type of the image (present when `type=image` and the item is an
            inline image, e.g. `image/png`).
          example: image/png
        image_url:
          type: string
          format: uri
          description: >-
            Publicly accessible URL for the image (present when `type=image` and
            the item is an inline image; the original base64 `data` field is
            replaced with this URL after upload).
          example: https://cdn.weryai.com/result/dr_chart1.png
        summary:
          type: array
          items:
            $ref: '#/components/schemas/DeepResearchSummaryItem'
          description: Thinking summary items (present when `type` is `thought`).
        signature:
          type: string
          description: Signature for the thought item (present when `type` is `thought`).
          example: sig_xyz
    ImageAnnotation:
      type: object
      description: Single OCR text box with geometry and confidence.
      properties:
        text:
          type: string
          description: Recognized text in this region
          example: 'Invoice #12345'
        x:
          type: number
          format: double
          description: Top-left X coordinate of the bounding box
          example: 12.5
        'y':
          type: number
          format: double
          description: Top-left Y coordinate of the bounding box
          example: 20
        w:
          type: number
          format: double
          description: Width of the bounding box
          example: 180
        h:
          type: number
          format: double
          description: Height of the bounding box
          example: 24
        rotation:
          type: number
          format: double
          description: Rotation angle in degrees
          example: 0
        confidence:
          type: number
          format: double
          description: Confidence score in the range [0, 1]
          example: 0.97
    DeepResearchAnnotation:
      type: object
      description: A citation or reference annotation within a Deep Research text output.
      properties:
        type:
          type: string
          description: Annotation type, e.g. `url_citation`.
          example: url_citation
        start_index:
          type: integer
          description: Start character index of the annotated range in the text.
          example: 0
        end_index:
          type: integer
          description: End character index (exclusive) of the annotated range in the text.
          example: 30
        url:
          type: string
          format: uri
          description: Source URL for the citation.
          example: https://en.wikipedia.org/wiki/Quantum_computing
    DeepResearchSummaryItem:
      type: object
      description: A single item in the thought summary of a Deep Research output.
      properties:
        type:
          type: string
          description: Summary item type, e.g. `summary_text`.
          example: summary_text
        text:
          type: string
          description: Summary text content.
          example: Analyzing the latest research on quantum computing...
  responses:
    BadRequest:
      description: Parameter error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: 1001
            desc: Parameter error
            message: Prompt cannot be empty
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: 1002
            desc: Authentication failed
            message: Invalid API Key
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >
        Authenticate using Bearer token. Get your API Key from the [WeryAI
        Console](https://weryai.com/api/keys).


        Example: `Authorization: Bearer sk-xxxxxxxxxxxxxxxx`

````