Ana içeriğe geç
bytedance avatarı

Seedance 2.5 Video to Video API

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

Elinizdeki görüntüyü yeni bir videoya dönüştürün — klibinizi yeniden tarzlayın, sahneleyin, çerçeveleyin ya da uzatın; prompt’ta andığınız en fazla 10 kaynak videoyla yönlendirin.

düzenlemeuzatma
1M token başına $9.6 çıktı

Model girdisi

Input

Describe the result you want and what to take from each reference. Address the reference assets positionally as @Video1..@Video10, @Image1..@Image30 and @Audio1..@Audio10, numbered by their order in reference_videos, reference_images and reference_audios: with one source clip and one product photo, 'Match the camera movement and pacing of @Video1, but restage it on a sunlit desert roadside at midday; the rider pulls up on the motorcycle from @Image1' borrows the motion from the clip and the subject from the image. A reference the prompt never names is usually ignored, so name every one you send.

1 to 10 source clips - the footage this generation is built from, and where its motion, camera movement and pacing come from. The first entry is @Video1 in the prompt, the second @Video2, and so on. MP4 or MOV (H.264/H.265 video, AAC or MP3 audio), 2-30 seconds per file and no more than 30 seconds COMBINED across all files, 300-6000 px per side, aspect ratio between 0.4 and 2.5, 24-60 fps, under 200 MB each. Billing counts the duration of everything you send here as well as the length of the clip you get back, so a 30-second source costs about as much again as a 30-second output - trim each clip to the part that matters.

Optional: up to 30 reference images that steer identity, wardrobe, product, location or style alongside the source footage. Addressed as @Image1, @Image2 and so on, numbered by their order in this array. JPEG, PNG, WebP, BMP, TIFF or GIF; 300-6000 px on a side, aspect ratio between 1:2.5 and 2.5:1, under 30 MB each. A still image has no duration, so reference images add nothing to the price.

Output resolution of the clip. 720p meters more tokens per second of video than 480p, so it costs more.

Frame shape of the generated clip. The source footage does not dictate the framing on this variant, so pick the shape you want - a 1280x720 (16:9) source asked for 9:16 came back as a 480x854 portrait clip. Use adaptive to keep the source's own shape instead.

Length of the generated clip in seconds, from 4 to 30. Leave at -1 (the default) to let the model choose a whole-second length close to the source footage. Billing counts this alongside the duration of the source clips you send.

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.

Experimental: up to 10 short audio references for the generated soundtrack, addressed as @Audio1, @Audio2 and so on. Each clip 2-30 seconds, 30 seconds combined at most; WAV or MP3, under 15 MB each. The clips are accepted and add nothing to the price, but their effect on the finished soundtrack has not been verified - treat the field as experimental. They cannot be sent on their own: at least one reference video is always required.

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

Videonun saniyesi üzerinden faturalandırılır — gönderdiğiniz kaynak klip de aldığınız klip ile birlikte ölçülür.

Tipik çalıştırma
$2.07
for a 5s 720p clip
Çıktı token’ları $9.6 1M başına

Input + output duration are billed · smallest run $0.56

Bir çalıştırma token kullanımı bildirmezse sabit $2.07 faturalandırılır.

Seedance 2.5 Video to Video API

Seedance 2.5 Video to Video is a video-to-video AI model by bytedance. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at about $2.07 for a 5s 720p clip.

POST https://queue.modelrunner.run/bytedance/seedance-v2.5/video-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/video-to-video \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "The man steps into the corridor and slowly walks forward.\n\n[Cut] [Medium tracking shot, side angle] The man looks aro…",
    "duration": 30,
    "resolution": "480p",
    "aspect_ratio": "16:9",
    "generate_audio": true,
    "reference_videos": [
      "https://media.modelrunner.ai/AN2ohhfdbrAWx8Wy-corridor-video-continuation-source1.webm"
    ],
    "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/video-to-video/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/bytedance/seedance-v2.5/video-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/video-to-video", {
  input: {
    "prompt": "The man steps into the corridor and slowly walks forward.\n\n[Cut] [Medium tracking shot, side angle] The man looks aro…",
    "duration": 30,
    "resolution": "480p",
    "aspect_ratio": "16:9",
    "generate_audio": true,
    "reference_videos": [
      "https://media.modelrunner.ai/AN2ohhfdbrAWx8Wy-corridor-video-continuation-source1.webm"
    ]
  },
});
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/video-to-video",
    headers=headers,
    json={
      "prompt": "The man steps into the corridor and slowly walks forward.\n\n[Cut] [Medium tracking shot, side angle] The man looks aro…",
      "duration": 30,
      "resolution": "480p",
      "aspect_ratio": "16:9",
      "generate_audio": true,
      "reference_videos": [
        "https://media.modelrunner.ai/AN2ohhfdbrAWx8Wy-corridor-video-continuation-source1.webm"
      ]
    },
).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 Video to Video
NameTypeRequiredDescription
promptstringyesDescribe the result you want and what to take from each reference. Address the reference assets positionally as @Video1..@Video10, @Image1..@Image30 and @Audio1..@Audio10, numbered by their order in reference_videos, reference_images and reference_audios: with one source clip and one product photo, 'Match the camera movement and pacing of @Video1, but restage it on a sunlit desert roadside at midday; the rider pulls up on the motorcycle from @Image1' borrows the motion from the clip and the subject from the image. A reference the prompt never names is usually ignored, so name every one you send.
reference_videosarrayyes1 to 10 source clips - the footage this generation is built from, and where its motion, camera movement and pacing come from. The first entry is @Video1 in the prompt, the second @Video2, and so on. MP4 or MOV (H.264/H.265 video, AAC or MP3 audio), 2-30 seconds per file and no more than 30 seconds COMBINED across all files, 300-6000 px per side, aspect ratio between 0.4 and 2.5, 24-60 fps, under 200 MB each. Billing counts the duration of everything you send here as well as the length of the clip you get back, so a 30-second source costs about as much again as a 30-second output - trim each clip to the part that matters.
reference_imagesarraynoOptional: up to 30 reference images that steer identity, wardrobe, product, location or style alongside the source footage. Addressed as @Image1, @Image2 and so on, numbered by their order in this array. JPEG, PNG, WebP, BMP, TIFF or GIF; 300-6000 px on a side, aspect ratio between 1:2.5 and 2.5:1, under 30 MB each. A still image has no duration, so reference images add nothing to the price.
resolutionenumnoOutput resolution of the clip. 720p meters more tokens per second of video than 480p, so it costs more. One of: 480p, 720p. Default: "720p".
aspect_ratioenumnoFrame shape of the generated clip. The source footage does not dictate the framing on this variant, so pick the shape you want - a 1280x720 (16:9) source asked for 9:16 came back as a 480x854 portrait clip. Use adaptive to keep the source's own shape instead. One of: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive. Default: "16:9".
durationintegernoLength of the generated clip in seconds, from 4 to 30. Leave at -1 (the default) to let the model choose a whole-second length close to the source footage. Billing counts this alongside the duration of the source clips you send. 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.
reference_audiosarraynoExperimental: up to 10 short audio references for the generated soundtrack, addressed as @Audio1, @Audio2 and so on. Each clip 2-30 seconds, 30 seconds combined at most; WAV or MP3, under 15 MB each. The clips are accepted and add nothing to the price, but their effect on the finished soundtrack has not been verified - treat the field as experimental. They cannot be sent on their own: at least one reference video is always required.

Machine-readable: OpenAPI schema · llms.txt

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

Model Detayları

Model Detayları

Seedance 2.5 Video to Video, elinizdeki görüntüden yeni bir klip üretir — bir çekimi başka bir yerde yeniden sahneleyin, görünümünü değiştirin, kamera hareketini ve temposunu başka bir sahneye taşıyın ya da aksiyonu kaynağın bittiği yerin ötesine sürdürün. `reference_videos` alanına 1 ila 10 kaynak klip gönderin, isteğe bağlı olarak referans görsel ve ses ekleyin, sonucu tarif edin. Mevcut görüntüyü kabul eden tek Seedance 2.5 varyantı budur; fiyatı yalnızca geri aldığınıza göre değil, gönderdiğinize göre de ölçeklenen tek varyant da odur — bu yüzden her kaynağı işinize yarayan bölüme kırpın. Çıktı 480p ya da 720p; 24 fps’de 30 saniyeye kadar uzar ve ek ücret olmadan senkronize ses taşır. Kare biçimi size kalmış: 16:9 bir kaynak 9:16 dikey kesim olarak dönebilir, `adaptive` ise kaynağın kendi biçimini korur.

**Her referansı prompt’ta adıyla anın.** Referanslara konumlarına göre `@Video1`…`@Video10`, `@Image1`…`@Image30` ve `@Audio1`…`@Audio10` diye seslenilir; numaralar `reference_videos`, `reference_images` ve `reference_audios` içindeki sıralarından gelir. Prompt’un hiç anmadığı bir referans genellikle yok sayılır:

``` reference_videos: [ lantern-alley-night.mp4 ] reference_images: [ cherry-red-motorcycle.jpg ] prompt: "Match the camera movement and pacing of @Video1, but restage it on a sunlit desert roadside at midday; the rider pulls up on the motorcycle from @Image1." ```

## En uygun olduğu işler - Mevcut görüntüyü yeniden tarzlamak ya da yeniden sahnelemek — yeni mekân, mevsim ya da görünüm; kaynağın kamera hareketi ve temposu korunarak - Bir çekimi, kaynak görüntünün bittiği yerin ötesine uzatmak ya da sürdürmek - Dönüştürürken yeniden çerçevelemek — yatay bir kaynağı dikey kesime çevirmek ya da özgün biçimi korumak için `adaptive` - Bir kaynak klibi referans görseller ve seslerle tek üretimde harmanlamak; her birine adıyla seslenerek

## Şu durumlarda başka bir model seçin - Kaynak görüntünüz yoksa: `bytedance/seedance-v2.5/image-to-video` (tek durağan görsel), `bytedance/seedance-v2.5/first-last-frame` (bir keyframe çifti) ya da `bytedance/seedance-v2.5/text-to-video` (yalnızca prompt) kullanın - Referanslarınız var ama videonuz yoksa — `bytedance/seedance-v2.5/reference-to-video` daha ucuza gelir, yalnızca biten klibi fiyatlandırır - 720p’den fazlası gerekiyorsa — `bytedance/seedance-v2/video-to-video` 1080p’ye çıkar - Özgün dosyanın kare hassasiyetinde bir kurgusu gerekiyorsa — bu model yeni bir üretim döndürür; kareler, yüzler ve ekrandaki metin birebir korunmaz - Sabit bir seed ya da kilitli bir kamera gerekiyorsa — bu üretimde ikisi de yok

## İpuçları - Kaynak klipleri göndermeden önce kırpın: süreleri çıktıyla birlikte faturalanır, ayrıca uzun ya da kalabalık bir klip prompt’un denetimini zayıflatır - Sıra adrestir: `@Video1`, `reference_videos` içindeki ilk URL’dir - Hangi özelliği ödünç aldığınızı söyleyin — hareket, çerçeveleme, ışık — yalnızca "referanstaki gibi" demeyin - `reference_audios` deneyseldir: klipler kabul edilir ve ücretlendirilmez, ancak ses bandına etkisi doğrulanmamıştı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/video-to-video", { input: { prompt: "Match the camera movement and pacing of @Video1, but restage it on a sunlit desert roadside at midday; the rider pulls up on the cherry-red motorcycle from @Image1", reference_videos: ["https://media.modelrunner.ai/6m0I6xs8DL2oaJhQoD8x9.mp4"], reference_images: ["https://media.modelrunner.ai/6M3U2hs7xUtWJGZmjkvuN.jpeg"], resolution: "720p", aspect_ratio: "16:9", duration: 6, generate_audio: true, }, }); ```