muapi Logomuapi Logo
Seedance 2 Mini API: Pricing, Code & Production Guide

Seedance 2 Mini API: Pricing, Code & Production Guide

M
Équipe Muapi
2026-06-235 min de lecture

Seedance 2 Mini is ByteDance's fastest, most affordable video generation model — approximately 2x faster than Seedance 2 Fast and roughly half the price. It generates smooth 480p or 720p clips from text prompts or reference images, with durations from 4 to 15 seconds and optional AI-generated audio at no extra cost.

This guide covers everything you need to integrate Seedance 2 Mini through Muapi: parameters, real pricing numbers, async polling, error handling, and a two-pass production strategy that keeps costs predictable at scale.

What Is Seedance 2 Mini?

Where It Fits in the Seedance 2 Family

The Seedance 2 lineup from ByteDance runs from Pro (highest quality) through Standard, Fast, and Mini (fastest, cheapest). Mini is purpose-built for high-volume workflows — e-commerce product clips, TikTok-ready drafts, and rapid iteration pipelines where you need dozens of variants without burning your budget.

The trade-off is straightforward: Mini delivers around 48 seconds of generation time for a 5-second 720p clip, but shows soft edges and compression artifacts on complex scenes with dense motion or fine detail. For drafts, social content, and simple product shots it is excellent. For cinematic final renders, step up to Standard or Pro.

Supported Input Modes

Muapi exposes three Seedance 2 Mini endpoints:

  • Text-to-Video (seedance-2-mini-text-to-video) — generate from a text prompt
  • Image-to-Video (seedance-2-mini-image-to-video) — animate a reference image
  • Omni Reference (seedance-2-mini-omni-reference) — multi-reference for character and motion consistency

This guide covers text-to-video and image-to-video, the two most common production paths.

Technical Specifications

Output Specs

SpecValue
ProviderByteDance
Resolutions480p, 720p
Duration4–15 seconds
Aspect Ratios16:9, 9:16, 1:1, 3:4, 4:3, 21:9
AudioAI-generated ambient audio (optional, free)
High BitrateOptional — larger file, better compression fidelity
Max Prompt20,000 characters
Output FormatMP4, URL valid for 24 hours
Typical Latency~48s for a 5s 720p clip; up to 3 min for 15s

Input Parameters

ParameterTypeDescription
promptstringScene description. Use positive phrasing — "sharp crisp frames" outperforms "no motion blur".
aspect_ratiostring16:9, 9:16, 1:1, 3:4, 4:3, 21:9
resolutionstring480p or 720p
durationintegerClip length in seconds (4–15)
generate_audiobooleanSynchronized ambient audio. No extra charge.
high_bitratebooleanHigher-fidelity output at larger file size.

Write prompts in six parts: Subject, Action, Environment, Camera, Style, Constraints. Unstructured or negative-heavy prompts produce noticeably worse output.

How to Call the Seedance 2 Mini API via Muapi

Authentication and Base URL

All requests use Bearer token auth. Get your key from the Muapi dashboard.

Base URL:  https://muapi.ai/api/v1
Auth:      Authorization: Bearer YOUR_API_KEY

Seedance 2 Mini is asynchronous — every POST returns a job ID, not a finished video. You then poll a separate endpoint until the job completes. Never POST the same request again after receiving a job ID — that creates a duplicate generation and charges your account twice.

Text-to-Video Request

# cURL
curl -s -X POST https://muapi.ai/api/v1/seedance-2-mini-text-to-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A ceramic coffee mug on a marble countertop, steam rising slowly, soft morning light from left window, photorealistic, cinematic",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 5,
    "generate_audio": true
  }'
# Response: { "id": "job_abc123", "status": "processing" }
# Python
import requests

response = requests.post(
    "https://muapi.ai/api/v1/seedance-2-mini-text-to-video",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "prompt": "A ceramic coffee mug on a marble countertop, steam rising slowly, soft morning light from left window, photorealistic, cinematic",
        "aspect_ratio": "16:9",
        "resolution": "720p",
        "duration": 5,
        "generate_audio": True,
    }
)
job_id = response.json()["id"]  # save this — needed to poll

Image-to-Video Request

Animate an existing image with the image-to-video endpoint:

# cURL
curl -s -X POST https://muapi.ai/api/v1/seedance-2-mini-image-to-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "The product rotates slowly, soft studio lighting, clean white background",
    "image_url": "https://your-cdn.com/product.jpg",
    "aspect_ratio": "1:1",
    "resolution": "720p",
    "duration": 4
  }'
# Python
response = requests.post(
    "https://muapi.ai/api/v1/seedance-2-mini-image-to-video",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "prompt": "The product rotates slowly, soft studio lighting, clean white background",
        "image_url": "https://your-cdn.com/product.jpg",
        "aspect_ratio": "1:1",
        "resolution": "720p",
        "duration": 4,
    }
)
job_id = response.json()["id"]

Async Polling, Job Status, and Error Handling

Polling for Results

Poll GET /predictions/{job_id}/result every 5–10 seconds. Budget around 48 seconds for a 5-second 720p clip; up to 3 minutes for a 15-second clip.

# Python — polling loop with timeout
import time, requests

def poll_result(job_id, api_key, timeout=240, interval=6):
    url = f"https://muapi.ai/api/v1/predictions/{job_id}/result"
    headers = {"Authorization": f"Bearer {api_key}"}
    deadline = time.time() + timeout

    while time.time() < deadline:
        r = requests.get(url, headers=headers)
        data = r.json()
        status = data.get("status")

        if status in ("succeeded", "completed"):
            return data["output"]   # MP4 URL — valid for 24 hours
        elif status in ("failed", "error"):
            raise RuntimeError(f"Job failed: {data.get('error')}")

        time.sleep(interval)

    raise TimeoutError(f"Job {job_id} did not complete within {timeout}s")

HTTP Error Reference

CodeCauseWhat to Do
400Invalid params — bad aspect_ratio, duration out of rangeFix request params, do not retry
402Insufficient balanceTop up at muapi.ai/topup
422Prompt policy violation — copyrighted character, face detectionRevise prompt
429Rate limit exceededWait for Retry-After header, then retry
5xxServer errorExponential backoff, max 3 retries
# Python — generation with retry logic
def generate_with_retry(payload, api_key, max_retries=3):
    url = "https://muapi.ai/api/v1/seedance-2-mini-text-to-video"
    headers = {"Authorization": f"Bearer {api_key}"}

    for attempt in range(max_retries):
        r = requests.post(url, headers=headers, json=payload)

        if r.status_code == 200:
            return r.json()["id"]
        elif r.status_code == 429:
            time.sleep(int(r.headers.get("Retry-After", 30)))
        elif r.status_code in (400, 402, 422):
            r.raise_for_status()  # client error — do not retry
        else:
            time.sleep(2 ** attempt)  # exponential backoff for 5xx

    raise RuntimeError("Max retries exceeded")

Key rule: only retry the POST if you received a 5xx with no job ID in the response. If you got a job ID, poll that job — it may still be processing.

Pricing and Cost Planning

Muapi charges per second of output. No subscription required.

ResolutionPer Second4s Clip5s Clip10s Clip15s Clip
480p$0.08$0.32$0.40$0.80$1.20
720p$0.15$0.60$0.75$1.50$2.25

For comparison, Seedance 2 Standard costs approximately $0.30/sec at 720p — Mini is half the price. A batch of 100 ten-second clips at 720p costs $150 on Mini vs $300 on Standard.

Cost tip: iterate at 480p, promote approved clips to 720p. This cuts iteration spend by nearly half and keeps your monthly bill predictable. See muapi.ai/topup for prepaid credit tiers.

Production Workflow Patterns

Two-Pass Draft-to-Final Pipeline

The most cost-efficient pattern separates drafting from final rendering:

  1. Draft pass (480p, 4s): Generate 5–10 prompt variants at $0.32 each
  2. Review: Pick the best 1–2 outputs with the team
  3. Final pass (720p, full duration): Render only the approved clips

This typically cuts generation costs by 60–70% compared to rendering everything at full quality upfront.

Batch Production for TikTok and Shopify

For TikTok/Reels pipelines, cap concurrency at 5–10 simultaneous jobs to stay within rate limits:

from concurrent.futures import ThreadPoolExecutor, as_completed

def make_clip(prompt, api_key):
    job_id = generate_with_retry(
        {"prompt": prompt, "resolution": "480p", "duration": 5, "aspect_ratio": "9:16"},
        api_key
    )
    return poll_result(job_id, api_key)

prompts = ["Scene A...", "Scene B...", "Scene C..."]

with ThreadPoolExecutor(max_workers=5) as executor:
    futures = {executor.submit(make_clip, p, API_KEY): p for p in prompts}
    for f in as_completed(futures):
        print(f"Ready: {f.result()}")  # download within 24 hours

For Shopify product pages, the image-to-video endpoint pairs directly with your existing product image library. A 4-second 480p loop at $0.32 adds autoplay motion to product cards without a video shoot. Download and host the MP4 on your own CDN — output URLs expire after 24 hours.

Alternatives and When to Use Seedance 2 Mini

Mini is the right choice when iteration speed and cost matter more than pixel-perfect output. Here is how it compares to the alternatives available on Muapi:

ModelStrengthUse Instead of Mini When
Seedance 2 StandardHigher fidelity, better motionFinal renders with complex scenes
Kling 3.0Cinematic physics, character consistencyHero content, fast-motion sequences
MiniMax Hailuo 031080p quality at competitive priceYou need 1080p output
Wan 2.7Open-weights, flexible promptingMaximum prompt control matters

For 4K output, see the Seedance 2.5 guide. For a head-to-head quality comparison with Kling, see Seedance 2.0 vs Kling 3.0. Try all variants interactively at muapi.ai/seedance-2.

FAQ

How does Seedance 2 Mini compare to Seedance 2 Standard in quality?

Mini is approximately 2x faster and half the price of Standard at 720p. The quality difference is most visible in scenes with rapid camera movement, fine texture detail, or dense motion — Mini tends to show softer edges and slight compression artifacts there. For simple product shots, talking-head clips, e-commerce loops, and social media drafts the gap is minimal and the cost saving is significant. Use Mini for iteration and Standard or Pro only for final approved output.

What is the correct way to avoid duplicate charges when retrying?

The async pattern means every successful POST creates and bills a new generation job. Only retry a POST if you received a 5xx error and no job ID was returned. If you received a job ID, poll that job — it may still be processing. The most common mistake is wrapping the POST in a blanket retry loop; this generates and charges duplicate jobs silently.

Does generate_audio cost extra?

No. generate_audio is included at no extra charge. Set it to true to receive synchronized AI-generated ambient audio in the output MP4. Disable it when you plan to overlay your own audio track, or when your downstream pipeline strips audio before delivery.

Can I use Seedance 2 Mini as a developer outside China?

Yes — that is the core reason to use Muapi. The native ByteDance/BytePlus API has geographic and entity restrictions that block or complicate access for international developers. Muapi provides a unified REST endpoint with no regional restrictions, USD billing, and no BytePlus account required.

How do I handle HTTP 429 rate limits in a batch pipeline?

Read the Retry-After header — it tells you exactly how many seconds to wait before the next request. Implement exponential backoff for 5xx errors separately. Keep batch concurrency at 5–10 simultaneous jobs per key. If you routinely hit limits at production scale, contact Muapi to discuss higher concurrency tiers.

Is there a 1080p option for Seedance 2 Mini?

No. Mini tops out at 720p. For 1080p output, use Seedance 2 VIP (available on Muapi) or step up to Seedance 2.5, which supports native 4K.

M

Blog Muapi

Donner aux créateurs les moyens de créer avec les outils d'IA.

Suivre

Plus de Muapi Muapi

Tout explorer →