Seedance Video 2.0 Mini API

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

Provider

MiniMax

Billing

Provider cost

ScalingTensor price

Provider cost USD / 1M tokens; varies by resolution and video input

Playground

Try Seedance Video 2.0 Mini

Edit the params, add your API key and run the model here. The result plays on this page when the job completes.

Input

Used for this request only and never stored. Get a key

Running a request charges your wallet: Provider cost USD / 1M tokens; varies by resolution and video input.

Output

preview

Request summary

Endpoint
POST /api/media/generate
Model ID
nova-video-2.0-mini
model
nova-video-2.0-mini
ratio
16:9
content
[{"text":"A small dog running on a sunlit grass field","type":"text"}]
duration
5
resolution
720p
generate_audio
true

Need chat models, job lookups or the raw response? Open the full playground.

Pricing

Seedance Video 2.0 Mini API pricing

Prices come from the live catalog. There is no subscription; each request is charged to your prepaid wallet.

ScalingTensor price

Provider cost

Live catalog price

Provider cost

USD / 1M tokens; varies by resolution and video input

Compare all model prices

Shared balance

Add credits

Top up

One wallet and one API key for every model in the catalog. Top-ups start at $10 and are paid through Stripe.

Parameters

Input parameters

These parameters belong inside the request body's params object.

Input parameters
nametyperequireddescription
modelstringtruePublic model name. Must be nova-video-2.0-mini.
contentarray<object>trueMultimodal input array. Supports text, image, video, and audio combinations. Text-only input is supported. When audio is included, it must be paired with at least one image or video.
content[].typestringtrueContent item type: text, image_url, video_url, or audio_url.
content[].textstringconditionalPrompt text when type is text.
content[].image_url.urlstringconditionalImage URL or inline data:image/...;base64,... when type is image_url.
content[].video_url.urlstringconditionalVideo URL when type is video_url. Including a video input selects video-to-video billing.
content[].audio_url.urlstringconditionalAudio URL when type is audio_url.
content[].rolestringfalseOptional role tag, such as first_frame, reference_image, reference_video, or reference_audio.
callback_urlstringfalseCallback URL for queued, running, succeeded, failed, or expired status changes.
return_last_framebooleanfalseWhether to return the generated video's last frame. Defaults to false.
service_tierstringfalseService tier. Defaults to default; the 2.0 series does not support flex.
execution_expires_afterintegerfalseTask timeout in seconds, from 3600 to 259200. Defaults to 172800.
generate_audiobooleanfalseWhether to generate synchronized audio. Defaults to true.
safety_identifierstringfalseHashed end-user identifier; maximum length 64 characters.
resolutionstringfalseOutput resolution: 480p or 720p only. Defaults to 720p; 1080p and 4k are unsupported.
ratiostringfalseAspect ratio: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, or adaptive. Defaults to adaptive.
durationintegerfalseVideo duration in seconds, from 4 to 15, or -1 for model-selected duration. Defaults to 5.
seedintegerfalseRandom seed from -1 to 2^32-1. Defaults to -1 for a random seed.
watermarkbooleanfalseWhether to add an AI-generated watermark. Defaults to false.
toolsarray<object>falseOptional tools array, for example [{"type":"web_search"}]. Defaults to an empty array.
output_formatstringfalseOutput format mp4 or mov. Supported only by nova-video-2.5, so omit for this model.
task_idstringtrue for queryTask ID in the query endpoint path, returned by the create endpoint.

Output fields

Output fields
nametypedescription
idstringTask ID returned by task creation and task queries.
modelstringModel name used to create the task.
statusstringTask status: queued, running, in_progress, succeeded, completed, failed, or expired.
content.video_urlstringGenerated video URL when successful; valid for 24 hours.
content.last_frame_urlstringGenerated last-frame image URL when requested and available.
usage.completion_tokensintegerBilled completion token count.
usage.total_tokensintegerTotal token count; currently equal to completion_tokens.
error.codestringError code when the task fails.
error.messagestringError details when the task fails.
created_atintegerTask creation time as a Unix timestamp in seconds.
updated_atintegerMost recent task update time as a Unix timestamp in seconds.
resolutionstringActual output resolution.
ratiostringActual output aspect ratio.
durationintegerActual output duration in seconds.
seedstringActual generation seed.
generate_audiobooleanWhether synchronized audio was generated.
callback_urlstringCallback URL echoed in the task response, when supplied.

API

Call Seedance Video 2.0 Mini from your code

Create a key in the console and call the API from your server using the apiKey header. Save data.jobId and poll GET /api/media/result?jobId=... with the same key; a code of 0 means success.

POST /api/media/generate
curl --request POST 'https://restapi.scalingtensor.com/api/media/generate' \
  --header 'apiKey: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "model": "nova-video-2.0-mini",
  "params": {
    "model": "nova-video-2.0-mini",
    "ratio": "16:9",
    "content": [
      {
        "text": "A small dog running on a sunlit grass field",
        "type": "text"
      }
    ],
    "duration": 5,
    "resolution": "720p",
    "generate_audio": true
  }
}'
const response = await fetch("https://restapi.scalingtensor.com/api/media/generate", {
  method: "POST",
  headers: {
    apiKey: process.env.SCALINGTENSOR_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "nova-video-2.0-mini",
    "params": {
      "model": "nova-video-2.0-mini",
      "ratio": "16:9",
      "content": [
        {
          "text": "A small dog running on a sunlit grass field",
          "type": "text"
        }
      ],
      "duration": 5,
      "resolution": "720p",
      "generate_audio": true
    }
  }),
});

const result = await response.json();
if (!response.ok || result.code !== 0) {
  throw new Error(result.msg || `Request failed: ${response.status}`);
}
console.log(result.data); // Save data.jobId to query /api/media/result
import os
import requests

payload = {
    "model": "nova-video-2.0-mini",
    "params": {
        "model": "nova-video-2.0-mini",
        "ratio": "16:9",
        "content": [
            {
                "text": "A small dog running on a sunlit grass field",
                "type": "text",
            },
        ],
        "duration": 5,
        "resolution": "720p",
        "generate_audio": True,
    },
}

response = requests.post(
    "https://restapi.scalingtensor.com/api/media/generate",
    headers={"apiKey": os.environ["SCALINGTENSOR_API_KEY"]},
    json=payload,
    timeout=60,
)
result = response.json()
if result["code"] != 0:
    raise RuntimeError(result["msg"])
print(result["data"])  # Save data["jobId"] to query /api/media/result

API documentation · This page as Markdown · Markdown API reference

Related models

Seedance Video 2.0 Mini API FAQ

How much does the Seedance Video 2.0 Mini API cost?

Seedance Video 2.0 Mini 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 Mini API?

Send POST /api/media/generate with "model": "nova-video-2.0-mini" 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 Mini 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 4 more. The parameter table on this page describes each one.

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

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