Seed-Music API
ByteDance controllable music generation and editing.
Seed-Music is a music generation model from ByteDance, available on OttoPort's OpenAI-compatible API as the model ID seed-music at $0.034 / second as of 2026-10-14.
Provider
ByteDance
Price
$0.034 / second
Model ID
seed-music
Type
music generation model
Create with Seed-Music
musicYour result appears here
Start with the example prompt or make it your own. Your OttoPort account is used securely for generation.
Seed-Music API pricing
What OttoPort bills for Seed-Music, and what that works out to per unit. Rates are read from the same catalog the gateway meters against, and were current on 2026-10-14.
| Per second | $0.034 | |
|---|---|---|
| 30-second track | $1.02 | |
| 60-second track | $2.04 | |
| Seconds per $10 | 294 | of generated audio |
No subscription and no minimum — OttoPort bills prepaid credits against usage. See the full rate card.
Call Seed-Music in three lines
Send "model": "seed-music" to POST https://ottoport.ai/api/v1/audio/music with an OttoPort key. No ByteDance account, no waitlist, no separate SDK.
curl https://ottoport.ai/api/v1/audio/music \
-H "Authorization: Bearer $OTTOPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seed-music",
"prompt": "warm optimistic electronic instrumental, 110 BPM, no vocals",
"duration": 30
}'import requests
job = requests.post(
"https://ottoport.ai/api/v1/audio/music",
headers={"Authorization": "Bearer " + API_KEY},
json={
"model": "seed-music",
"prompt": "warm optimistic electronic instrumental, 110 BPM, no vocals",
"duration": 30,
},
).json()
print(job["status"])const res = await fetch("https://ottoport.ai/api/v1/audio/music", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "seed-music",
prompt: "warm optimistic electronic instrumental, 110 BPM, no vocals",
duration: 30,
}),
});
const job = await res.json();Before you start
- 1. Create a key at /api-keys.
- 2. Top up credits — the smallest pack is $25.
- 3. Paste the request. It returns a job ID; poll it or pass a webhook_url.
Full reference at /docs, or drive it from an agent with the MCP server and CLI.
Request parameters
The body POST https://ottoport.ai/api/v1/audio/music accepts for Seed-Music.
| Field | Type | Required | Notes |
|---|---|---|---|
| model | string | Yes | Always seed-music for Seed-Music. |
| prompt | string | Yes | Genre, mood, instrumentation, tempo. |
| duration | integer | No | Seconds of output. This is the billed unit. |
Seed-Music direct vs through OttoPort
Seed-Music is the same model either way — what changes is how many accounts, keys, and integrations you carry to reach it.
| ByteDance direct | Via OttoPort | |
|---|---|---|
| Accounts and keys | A ByteDance account, plus one more for every other model you add | One OttoPort account and one key for the whole catalog |
| Request shape | ByteDance's own SDK and response format | OpenAI-compatible — point baseURL at OttoPort and change the model string |
| Switching models | A new integration per provider | Replace seed-music with any other model ID in the catalog |
| Billing | A separate invoice and contract per provider | Prepaid credits, no subscription, one usage ledger |
| Provider outages | Your call fails | Configured backup routes are tried in order on provider failure |
Set mood, genre, and energy.
Say whether vocals are wanted.
Describe the intended scene or usage.
Seed-Music API questions
Cost, keys, and model IDs for Seed-Music on OttoPort.
How much does the Seed-Music API cost?
On OttoPort, Seed-Music costs $0.034 / second as of 2026-10-14. For scale, 30-second track: $1.02. Billing is prepaid usage with no subscription and no minimum, and the current rate is always published at ottoport.ai/pricing.
How do I get a Seed-Music API key?
You do not need a ByteDance key. Create an OttoPort account, generate a key at ottoport.ai/api-keys, and send it as "Authorization: Bearer <key>" to POST https://ottoport.ai/api/v1/audio/music with "model": "seed-music". The same key reaches every other model in the catalog.
What is the model ID for Seed-Music?
The OttoPort model ID for Seed-Music is seed-music. Pass it as the model field on POST https://ottoport.ai/api/v1/audio/music, or list it programmatically from GET https://ottoport.ai/api/v1/models.
Is Seed-Music generation synchronous?
No. POST https://ottoport.ai/api/v1/audio/music returns a job ID immediately. Poll GET https://ottoport.ai/api/v1/videos/generations/{id} for status, or pass webhook_url and webhook_secret and OttoPort will call you when the job settles. You are billed per second of output, so a failed job costs nothing.
Do I need a ByteDance account to use Seed-Music?
No. OttoPort connects to ByteDance on your behalf, so one OttoPort account covers Seed-Music and every other model in the catalog — no per-provider contracts, keys, or invoices.
Other music generation models on the same API
Same endpoint, same key — swapping model is a one-string change from seed-music.
Suno v6 API
Suno
$0.152 / request
Suno v6 Mini API
Suno
$0.152 / request
Suno v6 Wild API
Suno
$0.152 / request
Lyria 2 API
$0.069 / second
Browse the full catalog — every model with its provider and per-unit price.