Ana içeriğe geç
bytedance avatarı

Seedance 2.5 Image to Video API

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

Durağan bir fotoğrafı senkronize sesli bir videoya dönüştürün — görselinizin biçimini birebir koruyan, 30 saniyeye kadar uzayan tek çekimler.

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

Model girdisi

Input

Describe what should happen from the first frame onwards: the action, the camera move, and the sound you want.

Still image used as the first frame of the clip. 300-6000 px on a side, under 30 MB, aspect ratio between 1:2.5 and 2.5:1. JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC and HEIF are accepted. The finished clip keeps this image's shape.

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

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.

Frame shape of the clip. adaptive is the only value this model accepts: the clip always inherits the aspect ratio of the supplied image, so a vertical still produces a vertical clip. Crop the image before you send it if you need a different shape.

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 Image to Video API

Seedance 2.5 Image to Video is a image-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/image-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/image-to-video \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://media.modelrunner.ai/GpTHw0l9Ac8nMcn3-youth-motorcycle-racing-memory-image.jpg",
    "prompt": "A 30-second cinematic coming-of-age racing short, 2D animation style. The protagonist is a teenage rider competing in…",
    "duration": 30,
    "resolution": "480p",
    "aspect_ratio": "adaptive",
    "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/image-to-video/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/bytedance/seedance-v2.5/image-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/image-to-video", {
  input: {
    "image": "https://media.modelrunner.ai/GpTHw0l9Ac8nMcn3-youth-motorcycle-racing-memory-image.jpg",
    "prompt": "A 30-second cinematic coming-of-age racing short, 2D animation style. The protagonist is a teenage rider competing in…",
    "duration": 30,
    "resolution": "480p",
    "aspect_ratio": "adaptive",
    "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/image-to-video",
    headers=headers,
    json={
      "image": "https://media.modelrunner.ai/GpTHw0l9Ac8nMcn3-youth-motorcycle-racing-memory-image.jpg",
      "prompt": "A 30-second cinematic coming-of-age racing short, 2D animation style. The protagonist is a teenage rider competing in…",
      "duration": 30,
      "resolution": "480p",
      "aspect_ratio": "adaptive",
      "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 Image to Video
NameTypeRequiredDescription
promptstringyesDescribe what should happen from the first frame onwards: the action, the camera move, and the sound you want.
imagestring (uri)yesStill image used as the first frame of the clip. 300-6000 px on a side, under 30 MB, aspect ratio between 1:2.5 and 2.5:1. JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC and HEIF are accepted. The finished clip keeps this image's shape.
resolutionenumnoOutput resolution of the clip. 720p costs more per second of video than 480p. One of: 480p, 720p. Default: "720p".
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.
aspect_ratioenumnoFrame shape of the clip. adaptive is the only value this model accepts: the clip always inherits the aspect ratio of the supplied image, so a vertical still produces a vertical clip. Crop the image before you send it if you need a different shape. One of: adaptive. Default: "adaptive".

Machine-readable: OpenAPI schema · llms.txt

Use Seedance 2.5 Image 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 Image 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/image-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/image-to-video on ModelRunner to generate video”. MCP setup guide.

Model Detayları

Model Detayları

Seedance 2.5 Image to Video, verdiğiniz bir durağan görseli canlandırır: görseliniz ilk kare olur, prompt sonrasında ne olacağını anlatır ve klip, ona uyan bir ses bandıyla döner — ortam sesi, ses efektleri ve diyalog, 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 tek bir fotoğraftan bütün bir aksiyon anı kesintisiz akar. Biten klip, verdiğiniz görselin biçimini her zaman korur — dikey bir telefon fotoğrafı dikey bir klip verir, yeniden kırpma da siyah bant da yok. Çıktı 480p ya da 720p; `duration` alanını varsayılan `-1` değerinde bırakırsanız model 4 ile 30 arasında uygun bir tam saniye süresi seçer.

## En uygun olduğu işler - Bir fotoğrafı, posteri, packshot’ı ya da konsept çizimini hareketli bir klibe dönüştürmek - Tek bir durağan görselden uzun tek çekimler — 30 saniyeye kadar kesintisiz süren bütün bir aksiyon anı ya da yavaş bir yaklaşma - Doğrudan bir telefon fotoğrafından dikey sosyal medya videosu; klip kaynağın biçimini kendiliğinden devralır - Ortam sesinin sonradan eklenmek yerine baştan gömülü geldiği tanıtıcı çekimler ve atmosfer planları

## Şu durumlarda başka bir model seçin - 720p üzeri çıktı gerekiyorsa: bu nesil en fazla 720p verir, bu yüzden 1080p’ye çıkan `bytedance/seedance-v2/image-to-video` kullanın - Durağan görseli farklı bir biçime yeniden çerçevelemek istiyorsanız: burada klip her zaman kaynağın oranını devralır, `bytedance/seedance-v2/image-to-video` ise açık bir oran kabul eder - Kaynak görseliniz yoksa ve çekimin yalnızca prompt’tan kurulmasını istiyorsanız — `bytedance/seedance-v2.5/text-to-video` kullanın - Tekrarlanabilir çalıştırmalar için sabit bir seed ya da kilitli, sabit bir kamera gerekiyorsa: bu nesilde iki girdi de yok

## İpuçları - Görüntüyü değil, hareketi tarif edin: durağan görsel özneyi sabitler, bu yüzden prompt’u neyin hareket ettiğine, kameranın nasıl hareket ettiğine ve neyin duyulduğuna ayırın - Farklı bir kare biçimi istiyorsanız kaynak görseli önce kendiniz kırpın — `aspect_ratio` yalnızca `adaptive` kabul eder - Kaynak görseller kenar başına 300–6000 px, 30 MB altı ve her iki yönde de kabaca 2.5:1’den daha uçuk olmamalı; JPEG, PNG ve WebP’nin yanı sıra HEIC ve HEIF de kabul edilir - Maliyet önemliyse `duration` değerini kendiniz belirleyin: faturalandırma bitmiş videonun saniyesi üzerindendir, `-1` ise toplamı 30 saniyeye kadar açık bırakır

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

const result = await modelrunner.subscribe("bytedance/seedance-v2.5/image-to-video", { input: { image: "https://media.modelrunner.ai/W5jjfbTQ6BahmlesNVWhr.jpeg", prompt: "The paper lantern sways on its bamboo pole, its warm reflection rocking across the wet cobbles, fine rain drifting through the light and a brass chime turning beside it", resolution: "720p", duration: 10, generate_audio: true, }, }); ```