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

> ## Agent Instructions
> Send API requests to https://api.ttapi.io with the TT-API-KEY header. Midjourney account hosting uses https://hold.ttapi.io. Claude Code uses https://cc.ttapi.io.
> Most generation endpoints are asynchronous. The submit response returns a job id. Poll that product's fetch endpoint, or pass a webhook on the submit request. A fetch call does not start a new generation.
> 1 USD = 100 quota. Check the pricing page for that product before estimating cost.
> This file lists the English docs. Follow every /_llms/ link recursively for the API reference, Chinese, and Russian. Open a page's .md URL for the endpoint schema.

# Omni Reference

> Omni-reference video generation. Generate new video by fusing multi-modal content based on reference images and videos.All 4 models supported. Submit async task andreturn id，use query endpoint to get results。

This is the **Seedance Video Generation API** omni-reference endpoint. Generate new video by fusing multi-modal content based on reference images and videos. All 4 models supported. Submit async task and return id, use query endpoint to get results.

**Usage**: Include `text` (prompt), `image_url` (role=reference\_image), `video_url` (role=reference\_video), and optional `audio_url` (role=reference\_audio) in `content`, set `omni_reference_task_type: "reference"`.


## OpenAPI

````yaml openapi/en/seedance-omni-reference.json POST /sd/api/v3/contents/generations/tasks
openapi: 3.1.0
info:
  title: Seedance Video Generation API (Omni Reference)
  version: 1.0.0
  description: Generate video via omni-reference from reference images and videos.
servers:
  - url: https://api.ttapi.io
security: []
paths:
  /sd/api/v3/contents/generations/tasks:
    post:
      description: >-
        Omni-reference video generation. Generate new video by fusing
        multi-modal content based on reference images and videos.All 4 models
        supported. Submit async task andreturn id，use query endpoint to get
        results。
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRequest'
            example:
              model: doubao-seedance-2-5-260628
              content:
                - type: text
                  text: Bright and colorful commercial style
                - type: image_url
                  image_url:
                    url: https://example.com/ref.png
                  role: reference_image
                - type: video_url
                  video_url:
                    url: https://example.com/ref.mp4
                  role: reference_video
              omni_reference_task_type: reference
              ratio: '16:9'
              duration: 15
              generate_audio: true
              output_format: mov
              watermark: true
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Task ID
                example:
                  id: cgt-20261021120000-xxxxx
                required:
                  - id
      security:
        - CustomApiKey: []
components:
  schemas:
    CreateRequest:
      type: object
      properties:
        model:
          type: string
          enum:
            - doubao-seedance-2-5-260628
            - doubao-seedance-2-0-260128
            - doubao-seedance-2-0-fast-260128
            - doubao-seedance-2-0-mini-260615
          description: Model ID
        content:
          type: array
          items:
            $ref: '#/components/schemas/ContentItem'
          description: >-
            Input content list. Supports text + image_url (reference_image) +
            video_url (reference_video) + audio_url (reference_audio)
            combination
        omni_reference_task_type:
          type: string
          enum:
            - reference
          description: >-
            Task type, fixed as reference (reference-to-video). Options:
            auto=auto detect, reference=reference-to-video, edit=video edit,
            extend=video extend
        resolution:
          type: string
          enum:
            - 480p
            - 720p
            - 1080p
          default: 720p
          description: >-
            Video resolution. Seedance 2.5 options: 480p, 720p, 1080p. Default
            720p
        ratio:
          type: string
          enum:
            - adaptive
            - '16:9'
            - '4:3'
            - '1:1'
            - '3:4'
            - '9:16'
            - '21:9'
          default: adaptive
          description: >-
            Video aspect ratio. Default adaptive (auto), or specify a specific
            ratio
        duration:
          type: integer
          default: -1
          description: >-
            Video duration (seconds). Range [4, 30] or -1 (smart
            selection)。duration and frames , frames has higher priority
        generate_audio:
          type: boolean
          default: true
          description: >-
            Whether to generate synchronized audio。true=includes
            vocals/SFX/BGM,false=silent video。only Seedance 2.5/2.0 supported
        output_format:
          type: string
          enum:
            - mp4
            - mov
          default: mp4
          description: >-
            Output format. mp4=standard format, mov=high color accuracy
            (H.264+yuv444p+PCM, for professional post-production).only Seedance
            2.5 supported
        watermark:
          type: boolean
          default: false
          description: >-
            Whether to add watermark. true=display 'AI Generated' in
            bottom-right corner
        return_last_frame:
          type: boolean
          default: false
          description: >-
            Whether to return last frame image. true=return jpeg format last
            frame, usable for continuous videogenerate
        draft:
          type: boolean
          default: false
          description: >-
            Whether to enable draft mode. true=generate 480p preview video. Only
            Seedance 2.5 supported
        callback_url:
          type: string
          description: >-
            Callback URL. Push POST request when task status changes, content
            matches query API response
        execution_expires_after:
          type: integer
          default: 172800
          description: >-
            Task timeout threshold (seconds). Range [3600, 259200] (1~72 hours),
            default 172800 (48 hours)
        priority:
          type: integer
          default: 0
          description: >-
            Execution priority. Range [0, 9], higher value = higher priority,
            default 0 (FIFO). Only Seedance 2.5/2.0 supported
        safety_identifier:
          type: string
          description: >-
            End user unique identifier, max 64 characters. Recommend passing
            hashed string
        tools:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - web_search
                description: >-
                  Tool type. web_search=web search, model autonomously decides
                  whether to search internet content
          description: Tool configuration. Only Seedance 2.5/2.0 supported
        service_tier:
          type: string
          enum:
            - default
          default: default
          description: >-
            Service tier. Default=online inference, flex=offline inference(price
            50%, Seedance 2.5/2.0 not yet supported)
        seed:
          type: integer
          default: -1
          description: Random seed. Range [-1, 2147483647], -1=random
        camera_fixed:
          type: boolean
          default: false
          description: >-
            Whether to fix camera. true=fixed camera (not supported for
            reference image scenarios)
        frames:
          type: integer
          description: >-
            Number of video frames. Range [29, 289], must satisfy 25+4n format.
            Alternative to duration, frames has higher priority
      required:
        - model
        - content
        - omni_reference_task_type
    ContentItem:
      type: object
      description: >-
        Input content item，supported
        text、image_url、video_url、audio_url、draft_task type
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - text
            text:
              type: string
              description: Text prompt, max 500 Chinese characters or 1000 English words
          required:
            - type
            - text
        - type: object
          properties:
            type:
              type: string
              enum:
                - image_url
            image_url:
              type: object
              properties:
                url:
                  type: string
                  description: >-
                    Image URL / Base64 / Asset ID（asset://<ASSET_ID>）。Format:
                    jpeg/png/webp/bmp/tiff/gif/heic/heif，Aspect ratio [0.4,
                    2.5]，size < 30MB
            role:
              type: string
              enum:
                - reference_image
              description: >-
                Image purpose, required reference_image for omni-reference
                scenario
          required:
            - type
            - image_url
        - type: object
          properties:
            type:
              type: string
              enum:
                - video_url
            video_url:
              type: object
              properties:
                url:
                  type: string
                  description: >-
                    Video URL / Asset ID。Format: mp4/mov，duration [2, 30]s，size
                    ≤ 200MB
            role:
              type: string
              enum:
                - reference_video
              description: Fixed as reference_video
          required:
            - type
            - video_url
            - role
        - type: object
          properties:
            type:
              type: string
              enum:
                - audio_url
            audio_url:
              type: object
              properties:
                url:
                  type: string
                  description: >-
                    Audio URL / Base64 / Asset ID. Format: wav/mp3, duration [2,
                    30]s, size ≤ 15MB
            role:
              type: string
              enum:
                - reference_audio
              description: Fixed as reference_audio
          required:
            - type
            - audio_url
            - role
        - type: object
          properties:
            type:
              type: string
              enum:
                - draft_task
            draft_task:
              type: object
              properties:
                id:
                  type: string
                  description: Draft task ID, valid for 7 days
          required:
            - type
            - draft_task
  securitySchemes:
    CustomApiKey:
      type: apiKey
      in: header
      name: TT-API-KEY
      description: >-
        Get your API key from the <a href='https://dashboard.ttapi.io'
        target='_blank'>TTAPI Dashboard</a>.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.