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

# Seedance 2.0 Mini API

> Generate affordable AI videos with Seedance 2.0 Mini. Text-to-video and image-to-video at 480p or 720p, 5 or 10 second durations, first and last frame control, and seven aspect ratios.

<Card title="Seedance 2.0 Mini integration" icon="video">
  Seedance 2.0 Mini is the most affordable and fastest variant of the Seedance 2.0 family, generating short videos from text or images at 480p and 720p for high-volume, cost-sensitive workflows.
</Card>

Seedance 2.0 Mini is an AI video generation API that produces short videos from a text prompt (text-to-video) or from one or two reference images (image-to-video). It is the most affordable and fastest variant of the Seedance 2.0 family, available at 480p and 720p with 5 or 10 second durations. A single text `prompt` is always required; supplying a first-frame `image` (and optionally a last-frame `image_end`) switches the model into image-to-video or first-to-last-frame transition mode.

Resolution is selected at generation time: there is a dedicated **480p** generate endpoint and a dedicated **720p** generate endpoint. Task listing and status use a single generic endpoint regardless of the resolution used to create the task.

### Key capabilities

* **Text-to-video and image-to-video**: Generate from a text prompt alone, or guide generation with a first-frame `image` and optional last-frame `image_end`
* **First-to-last-frame transitions**: Provide both `image` and `image_end` to generate a video that transitions between the two frames
* **Resolution by generate endpoint**: Dedicated `480p` and `720p` generate endpoints; resolution is not a body parameter
* **Unified task tracking**: One generic list endpoint and one generic status endpoint cover tasks of any resolution
* **Durations**: `5` or `10` seconds (default `5`)
* **Seven aspect ratios**: From ultra-wide `film_horizontal_21_9` to ultra-tall `film_vertical_9_21`, default `widescreen_16_9`
* **Camera control**: Set `camera_fixed` to `true` for a static tripod shot or `false` for natural camera movement
* **Reproducible output**: Provide a `seed` (0 to 4294967295) to repeat results; `-1` selects a random seed
* **Safety filtering**: Content safety checker is enabled by default via `enable_safety_checker`
* **Async processing**: Webhook notifications or polling for task completion
* **24-hour delivery**: Generated MP4 video is returned via a URL valid for 24 hours

### Use cases

* **Social media content**: Produce vertical `social_story_9_16` clips for TikTok, Instagram Reels, and YouTube Shorts at low cost
* **High-volume generation**: Batch-generate many short videos affordably for testing, previews, and A/B variations
* **Product animation**: Animate a product image, or transition between two product shots with first and last frame control
* **Rapid prototyping**: Iterate quickly on creative concepts before committing to higher-resolution models
* **Ad variations**: Generate multiple aspect ratios and durations from a single concept

### Generation modes

| Mode                    | Required input                   | Optional input                                     | Output behavior                                          |
| ----------------------- | -------------------------------- | -------------------------------------------------- | -------------------------------------------------------- |
| **Text-to-Video**       | `prompt`                         | `aspect_ratio`, `duration`, `seed`, `camera_fixed` | Video generated entirely from the text prompt            |
| **Image-to-Video**      | `prompt` + `image`               | `duration`, `seed`, `camera_fixed`                 | Video starts from the first-frame image                  |
| **First-to-last frame** | `prompt` + `image` + `image_end` | `duration`, `seed`, `camera_fixed`                 | Video transitions from the first frame to the last frame |

## API Operations

Generate a video using the `480p` or `720p` endpoint, then track it with the generic list and status endpoints. Generation returns a task ID for async polling or webhook notification.

<div className="my-11">
  <Columns cols={2}>
    <Card title="POST /v1/ai/video/seedance-2-mini-480p" icon="video" href="/api-reference/video/seedance-2-mini/generate-480p">
      Generate a 480p video from text or image
    </Card>

    <Card title="POST /v1/ai/video/seedance-2-mini-720p" icon="video" href="/api-reference/video/seedance-2-mini/generate-720p">
      Generate a 720p video from text or image
    </Card>

    <Card title="GET /v1/ai/video/seedance-2-mini" icon="list" href="/api-reference/video/seedance-2-mini/tasks">
      List all Seedance 2.0 Mini tasks (any resolution)
    </Card>

    <Card title="GET /v1/ai/video/seedance-2-mini/{task-id}" icon="magnifying-glass" href="/api-reference/video/seedance-2-mini/task-by-id">
      Get task status and result by ID
    </Card>
  </Columns>
</div>

### Endpoint structure

| Operation         | Endpoint                                     |
| ----------------- | -------------------------------------------- |
| **Generate 480p** | `POST /v1/ai/video/seedance-2-mini-480p`     |
| **Generate 720p** | `POST /v1/ai/video/seedance-2-mini-720p`     |
| **List tasks**    | `GET /v1/ai/video/seedance-2-mini`           |
| **Get task**      | `GET /v1/ai/video/seedance-2-mini/{task-id}` |

### Parameters

Resolution is determined by the generate endpoint you call (`-480p` or `-720p`) and is not a body parameter. The request body is identical for both endpoints.

| Parameter               | Type      | Required | Default           | Description                                                                                                                                        |
| ----------------------- | --------- | -------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `prompt`                | `string`  | Yes      | -                 | Text description of the video, including scene, motion, visual style, and camera movements. Up to 2000 characters                                  |
| `image`                 | `string`  | No       | -                 | First-frame image for image-to-video, as a public URL or Base64 string. When provided, the video starts from this image                            |
| `image_end`             | `string`  | No       | -                 | Last-frame image, as a public URL or Base64 string. When provided together with `image`, the video transitions from the first frame to this frame  |
| `duration`              | `integer` | No       | `5`               | Video length in seconds: `5` or `10`                                                                                                               |
| `aspect_ratio`          | `string`  | No       | `widescreen_16_9` | Output ratio: `film_horizontal_21_9`, `widescreen_16_9`, `classic_4_3`, `square_1_1`, `traditional_3_4`, `social_story_9_16`, `film_vertical_9_21` |
| `camera_fixed`          | `boolean` | No       | `false`           | When `true`, the camera stays fixed (tripod shot); when `false`, natural camera movement may be applied                                            |
| `seed`                  | `integer` | No       | `-1`              | Random seed for reproducible results (`0` to `4294967295`). Use `-1` for a random seed                                                             |
| `enable_safety_checker` | `boolean` | No       | `true`            | Enables content safety filtering on the generated video                                                                                            |
| `webhook_url`           | `string`  | No       | -                 | URL for async status notifications when the task completes                                                                                         |

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="What is Seedance 2.0 Mini and how does it work?">
    Seedance 2.0 Mini is the most affordable and fastest variant of the Seedance 2.0 family. You submit a text `prompt` (and optionally a first-frame `image` and last-frame `image_end`) to a resolution-specific generate endpoint and receive a task ID immediately. Poll the generic GET status endpoint or supply a `webhook_url` to be notified when the task completes, then download the MP4 video from the returned URL (valid for 24 hours).
  </Accordion>

  <Accordion title="How do I choose 480p or 720p?">
    Resolution is selected by the generate endpoint, not by a body parameter. Call `POST /v1/ai/video/seedance-2-mini-480p` for 480p or `POST /v1/ai/video/seedance-2-mini-720p` for 720p. Task listing and status use the same generic endpoints regardless of resolution. Seedance 2.0 Mini supports 480p and 720p only.
  </Accordion>

  <Accordion title="Do I need different endpoints to check task status by resolution?">
    No. Status and listing are generic: `GET /v1/ai/video/seedance-2-mini` lists all tasks and `GET /v1/ai/video/seedance-2-mini/{task-id}` returns the status of a single task, whether it was generated at 480p or 720p.
  </Accordion>

  <Accordion title="What is the difference between text-to-video and image-to-video?">
    The `prompt` field is always required. For text-to-video, send only the `prompt` and the video is generated entirely from your description. For image-to-video, also send an `image` to use as the first frame; the video then starts from that image. To generate a transition video, send both `image` (first frame) and `image_end` (last frame).
  </Accordion>

  <Accordion title="What video durations does Seedance 2.0 Mini support?">
    Seedance 2.0 Mini supports `5` or `10` second videos. The default is `5` seconds. Duration is an integer value.
  </Accordion>

  <Accordion title="What aspect ratios are available?">
    Seven aspect ratios are available: `film_horizontal_21_9` (21:9), `widescreen_16_9` (16:9, default), `classic_4_3` (4:3), `square_1_1` (1:1), `traditional_3_4` (3:4), `social_story_9_16` (9:16), and `film_vertical_9_21` (9:21).
  </Accordion>

  <Accordion title="What image formats can I use for image-to-video?">
    Provide `image` and `image_end` either as a publicly accessible URL or as a Base64-encoded string. `image` sets the first frame; adding `image_end` produces a first-to-last-frame transition.
  </Accordion>

  <Accordion title="Can I reproduce the same video?">
    Yes. Provide a fixed `seed` value (from `0` to `4294967295`) together with the same prompt and parameters to get consistent results. Use `-1` (the default) for a random seed on each request.
  </Accordion>

  <Accordion title="How long does generation take and how do I get the result?">
    Seedance 2.0 Mini is optimized for fast, affordable generation. Poll the GET task endpoint or provide a `webhook_url` to be notified on completion. The result MP4 is delivered via a URL that remains valid for 24 hours.
  </Accordion>

  <Accordion title="What are the rate limits for Seedance 2.0 Mini?">
    Rate limits depend on your subscription tier. See the [Rate Limits](/ratelimits) page for current limits by plan.
  </Accordion>

  <Accordion title="How much does Seedance 2.0 Mini cost?">
    Seedance 2.0 Mini is the most affordable variant of the Seedance 2.0 family. Pricing varies by resolution and duration. See the [Pricing](/pricing) page for current rates and credit costs.
  </Accordion>
</AccordionGroup>

## Best practices

* **Resolution choice**: Use the `-480p` endpoint for the lowest cost and fastest generation, and the `-720p` endpoint when you need more detail
* **Prompt writing**: Be specific about the scene, subjects, motion, camera movement, lighting, and visual style for better results
* **Image-to-video**: Provide a clear, high-quality first-frame `image`; add `image_end` only when you want a transition between two frames
* **Camera control**: Set `camera_fixed` to `true` for stable product or talking-head shots, and `false` to let the model add natural motion
* **Reproducibility**: Fix the `seed` while iterating on a prompt so you can compare changes consistently
* **Duration selection**: Start at `5` seconds for fast iterations, then switch to `10` seconds for final outputs
* **Production integration**: Use webhooks instead of polling for scalable applications
* **Result retrieval**: Download the output promptly, as the delivery URL is valid for 24 hours

## Related APIs

* **[Kling 3.0 Turbo](/api-reference/text-to-video/kling-v3-turbo/overview)**: Speed-optimized Kling model with 720p and 1080p generate endpoints
* **[WAN 2.7](/api-reference/text-to-video/wan-2-7/overview)**: Alternative text-to-video and image-to-video model with multi-shot sequences
* **[Kling 3](/api-reference/video/kling-v3/overview)**: Higher-fidelity Kling 3.0 model for premium output
