---
title: seedance-2.5 API — Seedance Pricing & Specs | RunAPI
description: Use seedance-2.5 via RunAPI — the Seedance family. Per-call pricing, model ID, specs, and developer setup guide.
url: https://runapi.ai/models/seedance/2.5.md
canonical: https://runapi.ai/models/seedance/2.5
locale: en
site: RunAPI
image: https://runapi.ai/assets/opengraph-f702f2b1.png
alternates:
  en: https://runapi.ai/models/seedance/2.5
  zh-CN: https://runapi.ai/zh-CN/models/seedance/2.5
  es: https://runapi.ai/es/models/seedance/2.5
  ja: https://runapi.ai/ja/models/seedance/2.5
  de: https://runapi.ai/de/models/seedance/2.5
  fr: https://runapi.ai/fr/models/seedance/2.5
  pt-BR: https://runapi.ai/pt-BR/models/seedance/2.5
  ko: https://runapi.ai/ko/models/seedance/2.5
  it: https://runapi.ai/it/models/seedance/2.5
  nl: https://runapi.ai/nl/models/seedance/2.5
  pl: https://runapi.ai/pl/models/seedance/2.5
  tr: https://runapi.ai/tr/models/seedance/2.5
  zh-TW: https://runapi.ai/zh-TW/models/seedance/2.5
  zh-HK: https://runapi.ai/zh-HK/models/seedance/2.5
  ar: https://runapi.ai/ar/models/seedance/2.5
  x-default: https://runapi.ai/models/seedance/2.5
model: Seedance
provider: Bytedance
variant_id: seedance-2.5
sdk_model_id: seedance-2.5
modality: video
price_from_cents: 63
billing_unit: second
status: active
---

> HTML version: https://runapi.ai/models/seedance/2.5
> Site index for agents: https://runapi.ai/llms.txt


# seedance-2.5 API

Use seedance-2.5 from the Seedance family via RunAPI. Per-call pricing, no subscription, and failed generations are never charged.

**Bytedance / [Seedance](https://runapi.ai/models/seedance.md)**
**Operational · video · Commercial OK**

seedance-2.5 targets the sweet spot of quality and cost within the Seedance family. It shares the same API key, request shape, and async task lifecycle as every other RunAPI model — switch to this variant by changing one model ID parameter. Install the Seedance skill to load docs, typed schemas, pricing notes, and setup steps into your coding workspace. Billing is metered per completed request in USD with no subscription or minimum spend, and failed generations are never charged.

- Pay-per-call pricing in USD with no subscription
- Failed generations are never charged
- Streaming when supported by the model
- Schema-validated parameters and tool calls
- Switch variant by changing one model ID parameter
- Unified billing across all models and providers

## Pricing

### `text_to_video`

- $0.17-$0.63 / second
- Input mode: video · Output resolution: 480p: $0.17 / second
- Input mode: video · Output resolution: 720p: $0.38 / second
- Input mode: generated · Output resolution: 480p: $0.28 / second
- Input mode: generated · Output resolution: 720p: $0.63 / second


Failed generations are not charged

## Technical details

| Field | Value |
|---|---|
| Model ID | `seedance-2.5` |
| Provider | Bytedance |
| Modality | video |
| Task type | asynchronous |
| Billing unit | second |
| API endpoint | `/api/v1/seedance/text_to_video` |
| Commercial license | Yes — included via API |
| Catalog status | Operational |

**Request example**

```json
{
  "model": "seedance-2.5",
  "prompt": "Generate a 10-second product reveal video: a smartphone emerges from smoke with cinematic lighting and ambient bass."
}
```

## Model skill — seedance-2.5

Install the skill once, then use the variant ID from this page while building.

```sh
npx skills add runapi-ai/seedance -g
```

```text
Install the Seedance skill for this app:

1. Add runapi-ai/seedance with the skills installer.
2. Load SKILL.md in this workspace.
3. Use its docs, schemas, pricing notes, and setup steps with model ID seedance-2.5.
4. Confirm the install path when done.
```

## Use seedance-2.5 with a model skill

1. **Install** — Install the model skill for the Seedance line. The skill loads docs, typed schemas, pricing notes, and setup steps into your coding workspace so your agent has the right context.
2. **Configure** — Set the model field to the full model ID shown on this page and configure your RunAPI API key as an environment variable. The same key works across all models and providers.
3. **Call** — Use the skill instructions while adding prompt, input, and callback handling to your application. RunAPI routes the request to the provider, manages the async lifecycle, and returns structured JSON.
4. **Receive** — Read the task response by polling the task ID, streaming when supported, or handling the webhook callback at your configured URL. Generated outputs are stored and retrievable by task ID.

## What's different about seedance-2.5

- **VS SEEDANCE-1.5-PRO: seedance-2.5** — First audio+video in one pass; lip-sync, multilingual dialogue
- **VS SEEDANCE-2-MINI: seedance-2.5** — Compact 2.x variant with frame and multimodal reference inputs
- **VS SEEDANCE-2.0: seedance-2.5** — Up to 9 ref images + 3 video + 3 audio; 15-sec multi-shot

## Best for

- **Ad & social content** — Generate product launch clips and short-form ads from a text brief, cutting production from weeks to hours.
- **E-learning** — Convert lesson scripts into animated explainer videos at scale without a camera or crew.
- **Creator workflows** — Produce viral short-form content for social platforms directly from a prompt.

## Frequently asked questions about seedance-2.5

### Is the model ID stable across versions?

Yes. RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape. You do not need to update your code when the provider releases a new compatible version.

### What's the rate limit on this variant?

Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.

### Can I switch variants later?

Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.

### Does it stream?

Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.

### Where do I report quality issues?

Open an issue on the public GitHub repo or email support at support@runapi.ai. Include the task ID and model ID so the team can investigate the specific generation.

### Do I need a separate provider account?

No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.


### Other variants of Seedance

- [seedance-1.5-pro](https://runapi.ai/models/seedance/1.5-pro.md) — `seedance-1.5-pro` · $0.290
- [seedance-2-mini](https://runapi.ai/models/seedance/2-mini.md) — `seedance-2-mini` · $0.450
- [seedance-2.0](https://runapi.ai/models/seedance/2.0.md) — `seedance-2.0` · $2.08
- [seedance-2.0-fast](https://runapi.ai/models/seedance/2.0-fast.md) — `seedance-2.0-fast` · $0.370
- [seedance-v1-pro](https://runapi.ai/models/seedance/v1-pro.md) — `seedance-v1-pro` · $0.270
- [seedance-v1-pro-fast](https://runapi.ai/models/seedance/v1-pro-fast.md) — `seedance-v1-pro-fast` · $0.080

### Alternatives from other models

- [Gemini Omni](https://runapi.ai/models/gemini-omni.md) — Gemini Omni API access for voice, character, and multimodal video resources in agent media workflows.
- [Grok Imagine](https://runapi.ai/models/grok-imagine.md) — Grok Imagine API access for image and video generation from text, including text-to-image, image-to-image, text-to-video, and image-to-video.
- [Hailuo](https://runapi.ai/models/hailuo.md) — Hailuo API access for text and image-to-video at native 1080p with accurate physics simulation and motion.

## Start building with Seedance.

- [Create free account](https://runapi.ai/login)
- [Read the quickstart →](https://runapi.ai/docs/api/seedance/text-to-video)

---

## More from RunAPI

- [Home](https://runapi.ai/.md)
- [Models](https://runapi.ai/models.md)
- [AI Video API Comparison](https://runapi.ai/ai-video-api-comparison.md)
- [OpenClaw Integration](https://runapi.ai/openclaw.md)
- [Best API for OpenClaw](https://runapi.ai/best-api-for-openclaw.md)
- [OpenClaw Image Generation](https://runapi.ai/openclaw-image-generation.md)
- [Hermes Agent Integration](https://runapi.ai/hermes-agent.md)
- [Pricing](https://runapi.ai/pricing.md)
- [Claude API Pricing](https://runapi.ai/claude-api-pricing.md)
- [ChatGPT API Pricing](https://runapi.ai/chatgpt-api-pricing.md)
- [OpenAI API Pricing](https://runapi.ai/openai-api-pricing.md)
- [Gemini API Pricing](https://runapi.ai/gemini-api-pricing.md)
- [Claude Code Pricing](https://runapi.ai/claude-code-pricing.md)
- [Claude Code API](https://runapi.ai/claude-code-api.md)
- [Claude Code vs Cursor](https://runapi.ai/claude-code-vs-cursor.md)
- [Claude Max vs API](https://runapi.ai/claude-max-vs-api.md)
- [Requesty Alternative](https://runapi.ai/requesty-alternative.md)
- [Docs](https://runapi.ai/docs/guides)
- [SDK](https://runapi.ai/sdk.md)
- [Skills](https://runapi.ai/skills.md)
- [MCP Server](https://runapi.ai/mcp.md)
- [CLI](https://runapi.ai/cli.md)
- [Feedback](https://runapi.makethisbetter.dev)
- [Contact](mailto:support@runapi.ai)
- [Terms](https://runapi.ai/terms.md)
- [Privacy](https://runapi.ai/privacy.md)
- [Site index for agents](https://runapi.ai/llms.txt)

Contact: contact@runapi.ai

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/icon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "SoftwareApplication",
    "name": "Seedance seedance-2.5",
    "applicationCategory": "DeveloperApplication",
    "offers": {
      "@type": "Offer",
      "price": "0.6300",
      "priceCurrency": "USD",
      "priceSpecification": {
        "@type": "UnitPriceSpecification",
        "unitText": "second"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://runapi.ai/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Models",
        "item": "https://runapi.ai/models"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Seedance",
        "item": "https://runapi.ai/models/seedance"
      },
      {
        "@type": "ListItem",
        "position": 4,
        "name": "seedance-2.5",
        "item": "https://runapi.ai/models/seedance/2.5"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "HowTo",
    "name": "Use seedance-2.5 with a model skill",
    "description": "Use seedance-2.5 via RunAPI — the Seedance family. Per-call pricing, model ID, specs, and developer setup guide.",
    "totalTime": "PT5M",
    "step": [
      {
        "@type": "HowToStep",
        "position": 1,
        "name": "Install",
        "text": "Install the model skill for the Seedance line. The skill loads docs, typed schemas, pricing notes, and setup steps into your coding workspace so your agent has the right context.",
        "url": "https://runapi.ai/models/seedance/2.5#how-step-1"
      },
      {
        "@type": "HowToStep",
        "position": 2,
        "name": "Configure",
        "text": "Set the model field to the full model ID shown on this page and configure your RunAPI API key as an environment variable. The same key works across all models and providers.",
        "url": "https://runapi.ai/models/seedance/2.5#how-step-2"
      },
      {
        "@type": "HowToStep",
        "position": 3,
        "name": "Call",
        "text": "Use the skill instructions while adding prompt, input, and callback handling to your application. RunAPI routes the request to the provider, manages the async lifecycle, and returns structured JSON.",
        "url": "https://runapi.ai/models/seedance/2.5#how-step-3"
      },
      {
        "@type": "HowToStep",
        "position": 4,
        "name": "Receive",
        "text": "Read the task response by polling the task ID, streaming when supported, or handling the webhook callback at your configured URL. Generated outputs are stored and retrievable by task ID.",
        "url": "https://runapi.ai/models/seedance/2.5#how-step-4"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Is the model ID stable across versions?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes. RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape. You do not need to update your code when the provider releases a new compatible version."
        }
      },
      {
        "@type": "Question",
        "name": "What's the rate limit on this variant?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades."
        }
      },
      {
        "@type": "Question",
        "name": "Can I switch variants later?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape."
        }
      },
      {
        "@type": "Question",
        "name": "Does it stream?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery."
        }
      },
      {
        "@type": "Question",
        "name": "Where do I report quality issues?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Open an issue on the public GitHub repo or email support at support@runapi.ai. Include the task ID and model ID so the team can investigate the specific generation."
        }
      },
      {
        "@type": "Question",
        "name": "Do I need a separate provider account?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider."
        }
      }
    ]
  }
]
```
