# Seedance Video 2.0 API

> Seedance Video 2.0 is a model from MiniMax that you can call through the ScalingTensor API.

- Model ID: `eva-video-2.0`
- Provider: MiniMax
- Price: Provider cost USD / 1M tokens; varies by resolution and video input
- Web page: https://scalingtensor.com/models/eva-video-2.0

## How to call it

Authenticate with the `apiKey` request header. Submit a job, then poll for the result:

1. `POST https://restapi.scalingtensor.com/api/media/generate` with JSON `{ "model": "<model ID>", "params": { ... } }`. The response `data.jobId` identifies the job.
2. `GET https://restapi.scalingtensor.com/api/media/result?jobId=<jobId>` until the status is `completed` or `failed`.
3. A response `code` of 0 means success; otherwise read `msg`.

```bash
curl --request POST 'https://restapi.scalingtensor.com/api/media/generate' \
  --header 'apiKey: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "model": "eva-video-2.0",
  "params": {
    "model": "eva-video-2.0",
    "ratio": "16:9",
    "content": [
      {
        "text": "A small dog running on a sunny grassy field",
        "type": "text"
      }
    ],
    "duration": 5,
    "resolution": "720p",
    "generate_audio": true
  }
}'
```

## Input parameters

Parameters go inside the `params` object.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `model` | string | true | Model identifier. This file documents eva-video-2.0. |
| `content` | array<object> | true | Multimodal input items. Supported combinations include text alone, text with image, video, or image and video, and text with image, video, and audio. Audio must be paired with at least one text, image, or video item. |
| `content[].type` | string | true | Input item type: text, image_url, video_url, or audio_url. |
| `content[].text` | string | conditional | Text prompt describing the desired video. Required for a text item. |
| `content[].image_url` | object | conditional | Image reference object. Required for an image_url item. |
| `content[].image_url.url` | string | conditional | Public image URL or inline data:image/...;base64,... value. |
| `content[].video_url` | object | conditional | Video reference object. Required for a video_url item. Including this item enables video-to-video mode. |
| `content[].video_url.url` | string | conditional | Public URL of the reference video. |
| `content[].audio_url` | object | conditional | Audio reference object. Required for an audio_url item. Audio cannot be the only input modality. |
| `content[].audio_url.url` | string | conditional | Public URL of the reference audio. |
| `content[].role` | string | false | Optional role tag for a reference item, such as first_frame, reference_image, reference_video, or reference_audio. |
| `callback_url` | string | false | Webhook URL notified when the task transitions to queued, running, succeeded, failed, or expired. |
| `return_last_frame` | boolean | false | Whether to include the generated video last frame in the task result. Defaults to false. |
| `service_tier` | string | false | Service tier. Defaults to default. The EVA video series does not support flex. |
| `execution_expires_after` | integer | false | Task timeout in seconds. Defaults to 172800; allowed range is 3600 to 259200. |
| `generate_audio` | boolean | false | Whether to generate synchronized audio, voice, sound effects, or background music. Defaults to true. |
| `safety_identifier` | string | false | Unique end-user identifier, recommended to be a hashed user ID or email. Maximum length is 64 characters. |
| `resolution` | string | false | Output resolution: 480p, 720p, 1080p, or 4k. Defaults to 720p. |
| `ratio` | string | false | Output aspect ratio: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, or adaptive. Defaults to adaptive. |
| `duration` | integer | false | Output duration in seconds. Defaults to 5. Allowed values are 4 to 15 or -1. Use -1 to let the model choose the duration. |
| `seed` | integer | false | Random seed from -1 to 2^32-1. Defaults to -1 for a random seed. |
| `watermark` | boolean | false | Whether to add an AI-generation watermark. Defaults to false. |
| `output_format` | string | false | Output video format: mp4 or mov. Supported only by eva-video-2.5. |

## FAQ

### How much does the Seedance Video 2.0 API cost?

Seedance Video 2.0 is billed at the provider's actual cost for each job (USD / 1M tokens; varies by resolution and video input). The charge is deducted from your prepaid ScalingTensor wallet.

### How do I call the Seedance Video 2.0 API?

Send POST /api/media/generate with "model": "eva-video-2.0" and the parameters in a params object, using your apiKey header. The call returns a jobId. Poll GET /api/media/result?jobId=... until the status is completed, then read the output URL from the result.

### Which parameters does Seedance Video 2.0 accept?

Required: model and content. Optional: callback_url, return_last_frame, service_tier, execution_expires_after, generate_audio, safety_identifier, resolution, ratio, duration and seed and 2 more. The parameter table on this page describes each one.

### Do I need a MiniMax account to use Seedance Video 2.0?

No. You call Seedance Video 2.0 with your ScalingTensor API key and pay from your ScalingTensor wallet. The same key works for every other model in the catalog.
