Bytedance AI Models
Seedance video and Seedream image generation — Bytedance's creative AI with native audio-video synthesis.
Bytedance's Seed team ships Seedance for video generation with native audio-video joint synthesis, and Seedream for text-to-image and image editing with strong typography rendering at up to 4K resolution.
- Single API key shared across all providers
- No separate %{provider} account required
- Model skills carry docs, schemas, and setup steps into your workspace
- Per-call billing in USD, no subscription or minimum spend
- Failed generations are never charged
- Switch models by changing one parameter
- Billing consolidated into one monthly invoice
What stands out
One of the most-used model APIs from Bytedance, chosen by developers for its balance of output quality, speed, and pricing.
One of the most-used model APIs from Bytedance, chosen by developers for its balance of output quality, speed, and pricing.
Lowest starting price across the Bytedance catalog, suited for high-volume workflows and cost-sensitive production pipelines.
All Bytedance models available through RunAPI
Seedance API access for text and image-to-video with native audio-video synthesis and 15-second multi-shot clips.
Seedream API access for text-to-image and image editing with strong typography rendering and up to 4K resolution.
Install a Bytedance model skill for your app.
Pick a model and add its skill so your coding tool has docs, schemas, pricing notes, and setup steps. Skills work with Claude Code, Codex, Gemini CLI, Cursor, and VS Code. Install once, then switch models by changing one parameter.
curl -X POST https://runapi.ai/api/v1/seedance/text_to_video \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-v1-lite",
"prompt": "Generate a 10-second product reveal video: a smartphone emerges from smoke with cinematic lighting and ambient bass."
}'
import { SeedanceClient } from "@runapi.ai/seedance";
const client = new SeedanceClient();
const result = await client.textToVideo.run({
model: "seedance-v1-lite",
prompt: "Generate a 10-second product reveal video: a smartphone emerges from smoke with cinematic lighting and ambient bass.",
});
<?php
require __DIR__ . "/vendor/autoload.php";
use RunApi\Seedance\SeedanceClient;
$client = new SeedanceClient();
$result = $client->textToVideo->run([
'model' => 'seedance-v1-lite',
'prompt' => 'Generate a 10-second product reveal video: a smartphone emerges from smoke with cinematic lighting and ambient bass.',
]);
require "runapi/seedance"
client = RunApi::Seedance::Client.new
result = client.text_to_video.run(
model: "seedance-v1-lite",
prompt: "Generate a 10-second product reveal video: a smartphone emerges from smoke with cinematic lighting and ambient bass."
)
npx skills add runapi-ai/seedance -g
# Claude Code
claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
# Codex
codex plugin install runapi-mcp@agents
# Cursor / Windsurf / VS Code
npx @runapi.ai/mcp init cursor
Every Bytedance variant with pricing and model IDs
| Model | Variant | Billing | From | |
|---|---|---|---|---|
|
|
seedance-1.5-pro | second | $0.150 | View → |
| seedance-2.0 | second | $1.02 | View → | |
| seedance-2.0-fast | second | $0.330 | View → | |
| seedance-v1-lite | second | $0.020 | View → | |
| seedance-v1-pro | second | $0.030 | View → | |
| seedance-v1-pro-fast | second | $0.020 | View → | |
|
|
seedream-4.5-edit | call | $0.070 | View → |
| seedream-4.5-text-to-image | call | $0.070 | View → | |
| seedream-5-lite-edit | call | $0.060 | View → | |
| seedream-5-lite-text-to-image | call | $0.060 | View → | |
| seedream-v4-edit | call | $0.100 | View → | |
| seedream-v4-text-to-image | call | $0.100 | View → |
Frequently asked questions about Bytedance
Is this an official Bytedance integration?
RunAPI exposes a managed API surface with transparent per-call pricing, fully documented capability and parameters, and clear error behavior. You get the same model output quality without managing a direct provider relationship or provider-side account.
Do I need a Bytedance account?
No. Your RunAPI API key is enough for managed access to all Bytedance models. You do not need to create a separate account, manage provider-specific credentials, or handle provider-side billing.
What's the latency overhead from proxying through RunAPI?
Typically under 20 ms. RunAPI keeps the proxy layer close to model execution regions to minimize added latency. Media generation time is dominated by the model itself, not the proxy.
Are images / videos cached?
Generated outputs are stored and retrievable by task ID. You can fetch completed results at any time using the task status endpoint or the RunAPI dashboard. Output URLs remain accessible for the retention period shown in the API docs. Inputs are not cached or stored.
Can I bring my own key?
Not currently. Calls use RunAPI-managed access, which simplifies authentication and lets RunAPI handle rate limiting, retries, and billing consolidation on your behalf.
How is billing consolidated?
All API calls across all providers appear on a single monthly USD invoice. There is no per-provider billing, no subscription, and no minimum spend. Failed generations are never charged.
What SDKs can I use with Bytedance models?
Official SDKs are available for Python, Node.js, PHP, Java, Ruby, and Go. Each SDK handles authentication, async task polling, and typed responses. For LLM models, the OpenAI and Anthropic SDKs also work by pointing the base URL to RunAPI.
What are model skills and how do they work?
Model skills are installable packages that load a model's docs, typed schemas, pricing notes, and setup steps directly into your coding workspace. Install a skill with one command and your agent has the right context before you write integration code. Skills work with Claude Code, Codex, Gemini CLI, Cursor, and VS Code.
How do I switch between Bytedance models?
Change the model parameter in your API request. All Bytedance models share the same API key, the same request shape, and the same billing. No code changes, no re-authentication, and no separate billing setup are required when switching between models or between variants of the same model. You can also switch to models from other providers by changing the same parameter — the API surface is unified across the entire catalog.