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

# Seedance 2.0 Fast Lite Text to Video

> Seedance 2.0 Fast Lite Text to Video is a special-price full-capability route that turns text instructions into video without requiring source media.



## OpenAPI

````yaml api-reference/openapi/seedance--2-0-fast-lite-text-to-video.yaml POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Seedance 2.0 Fast Lite Text to Video API
  version: 1.0.0
  description: >-
    Seedance 2.0 Fast Lite Text to Video is a special-price full-capability
    route that turns text instructions into video without requiring source
    media. The Seedance family emphasizes prompt following, coherent motion,
    multi-shot storytelling, and synchronized audio. This is the special-price
    full-capability route: media URLs are reviewed by the asset service before
    submission, so plain public URLs still work in requests. In APIPod, the
    public model ID is seedance-2.0-fast-lite-t2v. It supports text-to-video,
    accepts text inputs, and returns results through asynchronous video tasks.
servers:
  - url: https://api.apipod.ai
    description: Production
security: []
paths:
  /v1/videos/generations:
    post:
      tags:
        - Seedance 2.0 Fast Lite Text to Video
      summary: Create Generation Task
      description: >-
        Seedance 2.0 Fast Lite Text to Video is a special-price full-capability
        route that turns text instructions into video without requiring source
        media. The Seedance family emphasizes prompt following, coherent motion,
        multi-shot storytelling, and synchronized audio. This is the
        special-price full-capability route: media URLs are reviewed by the
        asset service before submission, so plain public URLs still work in
        requests. In APIPod, the public model ID is seedance-2.0-fast-lite-t2v.
        It supports text-to-video, accepts text inputs, and returns results
        through asynchronous video tasks.
      operationId: create-seedance-2-0-fast-lite-text-to-video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              title: Seedance 2.0 Fast Lite Text to Video
              properties:
                model:
                  type: string
                  title: Model ID
                  description: Public APIPod model ID.
                  const: seedance-2.0-fast-lite-t2v
                prompt:
                  type: string
                  title: Prompt
                  description: >-
                    Generation or editing instructions, up to 30000 characters.
                    It is recommended to keep the prompt to no more than 500
                    Chinese characters or 1,000 English words. Lengthy text will
                    lead to scattered information, and the model may ignore
                    details and only focus on key points, resulting in missing
                    elements in the generated video.
                  maxLength: 30000
                resolution:
                  type: string
                  title: Resolution
                  description: Generate video resolution.
                  enum:
                    - 720p
                  default: 720p
                aspect_ratio:
                  type: string
                  title: Aspect Ratio
                  description: >-
                    Aspect ratio of the generated video,When the ratio is
                    configured as adaptive, the model will automatically adapt
                    the aspect ratio according to the generation scenario.
                  enum:
                    - adaptive
                    - '16:9'
                    - '4:3'
                    - '1:1'
                    - '3:4'
                    - '9:16'
                    - '21:9'
                  default: adaptive
                duration:
                  type: integer
                  title: Duration
                  enum:
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                  default: 5
                  minimum: 4
                  maximum: 15
                generate_audio:
                  type: boolean
                  title: Generate Audio
                  description: >-
                    Controls whether the generated video contains audio
                    synchronized with the visuals.
                  default: true
              required:
                - model
                - prompt
            example:
              model: seedance-2.0-fast-lite-t2v
              prompt: >-
                A cinematic tracking shot through a rain-soaked neon street,
                realistic motion, synchronized ambient sound.
              resolution: 720p
              aspect_ratio: adaptive
              duration: 5
              generate_audio: true
      responses:
        '200':
          description: Task accepted
          content:
            application/json:
              schema:
                type: object
                title: Task Submit Response
                description: Standard response for task submission
                properties:
                  code:
                    type: integer
                  data:
                    type: object
                    title: Task Submit Data
                    description: Data content for task submission
                    properties:
                      task_id:
                        type: string
                        description: generatation task id
                  message:
                    type: string
                required:
                  - code
                  - message
                  - data
              example:
                code: 200
                message: success
                data:
                  task_id: vid_task_01JEXAMPLE
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl https://api.apipod.ai/v1/videos/generations \
              -H "Authorization: Bearer $APIPOD_API_KEY" \
              -H "Content-Type: application/json" \
              -d '{
              "model": "seedance-2.0-fast-lite-t2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "resolution": "720p",
              "aspect_ratio": "adaptive",
              "duration": 5,
              "generate_audio": true
            }'
        - lang: Python
          label: Python
          source: |-
            import os
            import requests

            payload = {
              "model": "seedance-2.0-fast-lite-t2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "resolution": "720p",
              "aspect_ratio": "adaptive",
              "duration": 5,
              "generate_audio": True
            }

            response = requests.post(
                "https://api.apipod.ai/v1/videos/generations",
                headers={
                    "Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
                    "Content-Type": "application/json",
                },
                json=payload,
                timeout=60,
            )
            response.raise_for_status()
            print(response.json())
        - lang: Go
          label: Go
          source: |-
            package main

            import (
                "bytes"
                "encoding/json"
                "fmt"
                "net/http"
                "os"
            )

            func main() {
                payload := map[string]any{}
                if err := json.Unmarshal([]byte(`{
              "model": "seedance-2.0-fast-lite-t2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "resolution": "720p",
              "aspect_ratio": "adaptive",
              "duration": 5,
              "generate_audio": true
            }`), &payload); err != nil {
                    panic(err)
                }
                body, err := json.Marshal(payload)
                if err != nil {
                    panic(err)
                }

                req, err := http.NewRequest(http.MethodPost, "https://api.apipod.ai/v1/videos/generations", bytes.NewReader(body))
                if err != nil {
                    panic(err)
                }
                req.Header.Set("Authorization", "Bearer "+os.Getenv("APIPOD_API_KEY"))
                req.Header.Set("Content-Type", "application/json")

                resp, err := http.DefaultClient.Do(req)
                if err != nil {
                    panic(err)
                }
                defer resp.Body.Close()
                fmt.Println(resp.Status)
            }
        - lang: Rust
          label: Rust
          source: |-
            use reqwest::Client;
            use serde_json::json;
            use std::env;

            #[tokio::main]
            async fn main() -> Result<(), Box<dyn std::error::Error>> {
                let payload = json!({
              "model": "seedance-2.0-fast-lite-t2v",
              "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
              "resolution": "720p",
              "aspect_ratio": "adaptive",
              "duration": 5,
              "generate_audio": true
            });
                let response = Client::new()
                    .post("https://api.apipod.ai/v1/videos/generations")
                    .bearer_auth(env::var("APIPOD_API_KEY")?)
                    .json(&payload)
                    .send()
                    .await?
                    .error_for_status()?;

                println!("{}", response.text().await?);
                Ok(())
            }
        - lang: JavaScript
          label: JavaScript
          source: >-
            const response = await
            fetch("https://api.apipod.ai/v1/videos/generations", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify(
              {
                "model": "seedance-2.0-fast-lite-t2v",
                "prompt": "A cinematic tracking shot through a rain-soaked neon street, realistic motion, synchronized ambient sound.",
                "resolution": "720p",
                "aspect_ratio": "adaptive",
                "duration": 5,
                "generate_audio": true
              }
              ),
            });


            if (!response.ok) {
              throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);
            }


            console.log(await response.json());
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: APIPod API key
      description: Use your APIPod API key as a Bearer token in the Authorization header.

````

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