Ana içeriğe geç
bytedance avatarı

Seedance 2.5 Text to Video API

bytedance/seedance-v2.5/text-to-video

Metin prompt’undan senkronize sesli video üretin — 480p ya da 720p’de, 30 saniyeye kadar uzayan tek çekimler.

Çözünürlüğe göre fiyatlandırılır

Model girdisi

Input

Describe the scene, the action, the camera move, and the sound you want in the clip.

Output resolution of the clip. 720p costs more per second of video than 480p.

Frame shape of the clip. Use adaptive to let the model pick the framing.

Clip length in seconds, from 4 to 30. Leave at -1 (the default) to let the model choose an appropriate whole-second length inside that range. Billing is per second of finished video, so -1 makes the cost of a run variable.

Additional Settings

Customize your input with more control.

Generate a synchronized soundtrack (dialogue, ambience and sound effects) together with the picture. Set false for a silent clip; the price is the same either way.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

Loading
Logs (1 lines)

Örnek istekler

Örnekler

Example output 1Example output 2Example output 3Example output 4Example output 5Example output 6

Model fiyatlandırması

Fiyatlandırma

Fiyat, çıktı videonuzun hedef çözünürlüğüne göre değişir.

480p
$0.154
çıktı videosunun saniyesi başına
yani yaklaşık $1 ile 6 saniye
720p
$0.347
çıktı videosunun saniyesi başına
yani yaklaşık $1 ile 3 saniye

Seedance 2.5 Text to Video API

Seedance 2.5 Text to Video is a text-to-video AI model by bytedance. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.347 per second of video.

POST https://queue.modelrunner.run/bytedance/seedance-v2.5/text-to-video

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/bytedance/seedance-v2.5/text-to-video \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "One continuous take; the camera never accelerates abruptly, its speed stays even.\n16:9 cinematic widescreen | 8K ultr…",
    "duration": 15,
    "resolution": "480p",
    "aspect_ratio": "9:16",
    "generate_audio": true,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/bytedance/seedance-v2.5/text-to-video/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/bytedance/seedance-v2.5/text-to-video/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("bytedance/seedance-v2.5/text-to-video", {
  input: {
    "prompt": "One continuous take; the camera never accelerates abruptly, its speed stays even.\n16:9 cinematic widescreen | 8K ultr…",
    "duration": 15,
    "resolution": "480p",
    "aspect_ratio": "9:16",
    "generate_audio": true
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/bytedance/seedance-v2.5/text-to-video",
    headers=headers,
    json={
      "prompt": "One continuous take; the camera never accelerates abruptly, its speed stays even.\n16:9 cinematic widescreen | 8K ultr…",
      "duration": 15,
      "resolution": "480p",
      "aspect_ratio": "9:16",
      "generate_audio": true
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of Seedance 2.5 Text to Video
NameTypeRequiredDescription
promptstringyesDescribe the scene, the action, the camera move, and the sound you want in the clip.
resolutionenumnoOutput resolution of the clip. 720p costs more per second of video than 480p. One of: 480p, 720p. Default: "720p".
aspect_ratioenumnoFrame shape of the clip. Use adaptive to let the model pick the framing. One of: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive. Default: "16:9".
durationintegernoClip length in seconds, from 4 to 30. Leave at -1 (the default) to let the model choose an appropriate whole-second length inside that range. Billing is per second of finished video, so -1 makes the cost of a run variable. Default: -1.
generate_audiobooleannoGenerate a synchronized soundtrack (dialogue, ambience and sound effects) together with the picture. Set false for a silent clip; the price is the same either way. Default: true.

Machine-readable: OpenAPI schema · llms.txt

Use Seedance 2.5 Text to Video from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Seedance 2.5 Text to Video becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint bytedance/seedance-v2.5/text-to-video.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run bytedance/seedance-v2.5/text-to-video on ModelRunner to generate video”. MCP setup guide.

Model Detayları

Model Detayları

Seedance 2.5, yazılı bir prompt’u ona uyan bir ses bandıyla birlikte bir video klibe dönüştürür: diyalog, ortam sesi ve ses efektleri sonradan dublajlanmak yerine görüntüyle birlikte üretilir. Öne çıkan yeteneği süre: tek bir çekim 24 fps’de 30 saniyeye kadar sürebilir, yani 2.0 neslinin tavanının iki katı; böylece bütün bir an, parçalar birbirine kurgulanmadan tek çekimde akar. Çıktı 480p ya da 720p’dir ve geniş ekran, kare, dikey ve 21:9 sinematik biçimleri kapsayan yedi en-boy oranında alınabilir. `duration` alanını varsayılan `-1` değerinde bırakırsanız model, tarif ettiğiniz çekime uygun tam saniyelik bir süreyi 4 ile 30 saniye arasında kendisi seçer.

## En uygun olduğu işler - Birkaç saniyeden uzun sürmesi gereken tek çekimlik klipler: bütün bir aksiyon anı, yürürken konuşma, kısa bir sahne - Ayrı bir ses çalışması gerektirmeden sesli gelmesi gereken sosyal medya, reklam ve fragman kurguları - Sesin ağız hareketiyle örtüşmesi gereken diyalog ve şarkı çekimleri - Ortam sesi baştan gömülü gelen tanıtıcı çekimler, b-roll ve atmosfer planları - Aynı sahneyi farklı yerleşimler için 9:16, 1:1 ve 16:9 olarak kurgulamak

## Şu durumlarda başka bir model seçin - 1080p gerekiyorsa: bu nesil en fazla 720p verir, bu yüzden bunun yerine `bytedance/seedance-v2/text-to-video` kullanın - Elinizdeki bir fotoğrafı canlandırmak istiyorsanız: durağan görselinizi ilk kare olarak alan `bytedance/seedance-v2/image-to-video` kullanın - Çalıştırmaların sabit bir seed ile tekrarlanabilir olması gerekiyorsa: bu nesilde seed girdisi yok - Kilitli, tamamen sabit bir kamera gerekiyorsa: burada kamera kilidi sunulmuyor, bu yüzden çerçevelemeyi prompt’ta tarif edin

## İpuçları - Sesi de görüntü kadar açık tarif edin (çığlık atan martılar, çakıllara vuran dalgalar); ses bandı prompt’u izler - Maliyet önemliyse `duration` değerini kendiniz belirleyin: faturalandırma bitmiş videonun saniyesi üzerindendir, `-1` ise toplamı 30 saniyeye kadar açık bırakır - Denemeleri `480p` ile yapın, beğendiğiniz sonucu `720p` ile yeniden çalıştırın — maliyeti belirleyen iki etken çözünürlük ve süredir - Sessiz bir klip için `generate_audio` alanını false yapın; fiyat her iki durumda da aynıdır

## Sınırlamalar - Hızlı hareket ve kalabalıklar 720p’de 480p’ye göre daha iyi bütünlüğünü korur - Çok sayıda ayrı çekimi üst üste yığan bir prompt, uzun bir çekim boyunca karakterde, kostümde ve ışıkta sapmaya yol açabilir - Görüntünün içine basılan metinde sık sık yazım hatası olur

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("bytedance/seedance-v2.5/text-to-video", { input: { prompt: "A lighthouse keeper climbs the spiral stair at dawn, lamp glass catching the first light, gulls calling outside as the storm clears", resolution: "720p", aspect_ratio: "9:16", duration: 12, generate_audio: true, }, }); ```