ModelArkSeedance 2.5Tutorial / API

Dreamina Seedance 2.5
Tutorial & API Reference

Model ID: dreamina-seedance-2-5-260628 · EN + ZH · Referencia local offline

Introducción

Dreamina Seedance 2.5 es un modelo de creación de vídeo de próxima generación con mejoras importantes en narración de formato largo, soporte de referencia omni y edición.

Antes de activar Seedance 2.5: balance BytePlus > USD 30, o AI Savings Plan ≥ USD 30, o resource pack comprado con cuota disponible.

Tipos de tarea y restricciones

Seedance 2.5 determina el tipo de tarea según los assets de input y el intent del prompt.

Tipo de tareaCondición de activaciónRestricciones especiales
Text-to-video Solo se proporciona un prompt de texto. Sin restricciones especiales en ratio o duration.
First-frame / First-last-frame video generation content.role = first_frame o last_frame. ratio debe ser adaptive. El modelo mantiene el aspect ratio consistente con la imagen del primer frame especificada por first_frame.
Omni reference video generation Reference-to-video: content contiene al menos un asset con role = reference_image, reference_video, o reference_audio. Sin restricciones especiales en ratio o duration.
Video editing: content contiene al menos un vídeo con role = reference_video, y el prompt expresa intent de edición. ratio debe ser adaptive; duration debe ser -1. El modelo selecciona el vídeo a editar según el intent del prompt. El vídeo de referencia debe tener 4–30 s de duración.
Video extension: content contiene al menos un vídeo con role = reference_video, y el prompt expresa intent de extensión. ratio debe ser adaptive. El modelo selecciona el vídeo a extender según el intent del prompt.

Métodos de configuración: omni_reference_task_type

Omni reference sin especificar subtarea (auto)

{
  "omni_reference_task_type": "auto",
  "ratio": "adaptive",
  "duration": -1
}
Con auto, el modelo puede clasificar la tarea como reference-to-video, video editing o video extension según el prompt. La config recomendada satisface las restricciones de cada tipo.

Video editing (explícito)

{
  "omni_reference_task_type": "edit",
  "ratio": "adaptive",
  "duration": -1
  // reference video: 4–30 s
  // prompt keywords: edit video, add, delete/remove, modify/replace/change
}

Ejemplos de prompt: "Add some little animals to @Video 1" / "Replace the character in @Video 1 with @Image 1" / "Remove the background music from @Video 1"

Video extension (explícito)

{
  "omni_reference_task_type": "extend",
  "ratio": "adaptive"
  // prompt keywords: extend forward/backward, continue, continue the story
}

Ejemplos de prompt: "Extend @Video 1 backward, have the character in @Image 1 descend from the sky"

Manejo de errores

Seedance 2.5 valida parámetros al enviar la tarea Y después de que la tarea arranca.
  • Validación síncrona (al enviar): Cuando omni_reference_task_type = edit o extend, la API valida las restricciones inmediatamente. Si no se cumplen → error inmediato.
  • Validación asíncrona (después de arrancar): Cuando omni_reference_task_type = auto o no se proporciona, el modelo determina el tipo real primero, luego valida. Si no se cumplen → error asíncrono.

Código de error por incompatibilidad: InvalidParameter.TaskTypeConstraint
Código de error por discrepancia de tipo: InvalidParameter.TaskTypeMismatch

Getting Started (Python)

Sin experiencia en programación → usa la ModelArk Console con plantillas sin código.
Para prueba rápida → usa API Explorer con plantillas preset.

Instalación del SDK

python -m pip install --upgrade arkruntime

Ejemplo básico: crear y poll task

# python/demo_standard.py
import os, time
from arkruntime import ArkRuntime

client = ArkRuntime(api_key=os.environ.get("ARK_API_KEY"))

# ----- create request -----
print("----- create request -----")
create_result = client.content_generation.tasks.create(
    model="dreamina-seedance-2-5-260628",
    content=[
        {
            "type": "text",
            "text": "YOUR PROMPT HERE"
        },
        {
            "type": "image_url",
            "image_url": {"url": "https://your-image-url.com/image.png"},
            "role": "reference_image"
        }
    ],
    generate_audio=True,
    ratio="16:9",
    duration=10
)
print(create_result)

# ----- polling task status -----
print("----- polling task status -----")
task_id = create_result.id

while True:
    get_result = client.content_generation.tasks.get(task_id=task_id)
    status = get_result.status
    if status == "succeeded":
        print("----- task succeeded -----")
        print(get_result)
        break
    elif status == "failed":
        print("Task failed")
        break
    else:
        print(f"Status: {status}, waiting...")
        time.sleep(30)

Endpoint API

POST https://ark.ap-southeast.bytepluses.com/api/v3/contents/generations/tasks
Authorization: Bearer $ARK_API_KEY

Variables modificables en demo_standard.py

Capacidades clave con ejemplos

Generar vídeo coherente de 30 segundos

El límite de duración aumentó de 15 s (Seedance 2.0) a 30 segundos.

Input: texto + imagen de referencia
Imagen de referencia (desert horned lizard)

Prompt (resumen): Grapefruit commercial with desert horned lizard — 0-3s: desert heat; 3-6s: lizard discovers grapefruit; 6-8s: grabs grapefruit; 8-11s: peel cracks, juice surges; 11-16s: juice floods desert; 20-23s: brand name + slogan; 23-29s: lizard on vacation in juice sea. Total 30s.

Output
curl -X POST https://ark.ap-southeast.bytepluses.com/api/v3/contents/generations/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -d '{
    "model": "dreamina-seedance-2-5-260628",
    "content": [
        {"type": "text", "text": "3D animated advertising style... [FULL PROMPT]"},
        {
            "type": "image_url",
            "image_url": {"url": "https://arkdocs-en.tos-ap-southeast-1.volces.com/images/video-generation/sd-25-30s-input.png"},
            "role": "reference_image"
        }
    ],
    "generate_audio": true,
    "ratio": "16:9",
    "duration": 30
}'

Hasta 50 assets de referencia omni

Límite aumentado a 50 (30 imágenes + 10 vídeos + 10 audios). Soporta generación con solo referencias de audio (sin necesitar imagen/vídeo).

Input: texto + 1 imagen + 6 vídeos de referencia
Image 1 – Subject reference (strawberry cookie)
Video 1 – Motion ref (fruit composition)
Video 2 – Motion ref (cookie close-up)
Video 3 – Motion ref (snap + slow-mo)
Video 4 – Motion ref (horizontal array)
Video 5 – Motion ref (text rhythm)
Video 6 – Motion ref (scatter ending)
Output – cookie commercial
curl -X POST https://ark.ap-southeast.bytepluses.com/api/v3/contents/generations/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -d '{
    "model": "dreamina-seedance-2-5-260628",
    "content": [
        {"type": "text", "text": "A bright, colorful advertising-film style with fruit-flavored cookies... [FULL PROMPT]"},
        {"type": "image_url", "image_url": {"url": "...seedance2.5_reference1.png"}, "role": "reference_image"},
        {"type": "video_url", "video_url": {"url": "...seedance2.5_reference2.mp4"}, "role": "reference_video"},
        {"type": "video_url", "video_url": {"url": "...seedance2.5_reference3.mp4"}, "role": "reference_video"},
        {"type": "video_url", "video_url": {"url": "...seedance2.5_reference4.mp4"}, "role": "reference_video"},
        {"type": "video_url", "video_url": {"url": "...seedance2.5_reference5.mp4"}, "role": "reference_video"},
        {"type": "video_url", "video_url": {"url": "...seedance2.5_reference6.mp4"}, "role": "reference_video"},
        {"type": "video_url", "video_url": {"url": "...seedance2.5_reference7.mp4"}, "role": "reference_video"}
    ],
    "generate_audio": true,
    "ratio": "16:9",
    "duration": 15,
    "omni_reference_task_type": "reference",
    "output_format": "mov"
}'

Edición de vídeo con control inteligente de ratio/duración

En tareas de video editing, Seedance 2.5 selecciona el vídeo a editar según el prompt intent, luego mantiene automáticamente el aspect ratio y duración consistentes con el vídeo seleccionado.

Diferencia máxima de duración: ~0.4 segundos. ratio = adaptive y duration = -1 obligatorios.
Input: Video (aspect ratio 5:4, 16 segundos)

Prompt: "Video edit: remove everyone in @Video 1 except the protagonist."

Output (aspect ratio 5:4, ~16 segundos)
{
  "model": "dreamina-seedance-2-5-260628",
  "content": [
    {"type": "text", "text": "Video edit: remove everyone in @Video1 except the protagonist."},
    {"type": "video_url", "video_url": {"url": "...seedance2.5_edit_input.mov"}, "role": "reference_video"}
  ],
  "generate_audio": true,
  "ratio": "adaptive",
  "duration": -1,
  "output_format": "mov"
}

Extensión de vídeo

Selecciona el vídeo a extender según el prompt intent y mantiene el aspect ratio consistente. Duración del output: configurable [4,30] o -1.

Video 1 – a extender (7:5), + Video 2 y Video 3 de referencia (16:9)
Video 1 (7:5 — se extiende)
Video 2 – Art gallery interior ref
Video 3 – Painting ref

Prompt: "Extend @Video 1. After the window opens, move into the art gallery interior shown in @Video 2. Finally, move the camera into the painting shown in @Video 3."

Output (7:5 — ratio conservado del vídeo extendido)
{
  "model": "dreamina-seedance-2-5-260628",
  "content": [
    {"type": "text", "text": "Extend @Video 1. After the window opens, move into the art gallery interior shown in @Video 2. Finally, move the camera into the painting shown in @Video 3."},
    {"type": "video_url", "video_url": {"url": "...r2v_extend_video1_75.mov"}, "role": "reference_video"},
    {"type": "video_url", "video_url": {"url": "...r2v_extend_video2.mp4"}, "role": "reference_video"},
    {"type": "video_url", "video_url": {"url": "...r2v_extend_video3.mp4"}, "role": "reference_video"}
  ],
  "generate_audio": true,
  "ratio": "adaptive",
  "duration": 11,
  "output_format": "mov"
}

First frame / First-last frame video generation

Mantiene automáticamente el aspect ratio consistente con la imagen del primer frame especificada por first_frame.

Input: texto + primer frame (1:1) + último frame
First frame
Last frame

Prompt: "the girl in the image says 'cheese' to the camera, with a 360-degree orbiting camera shot"

Output (aspect ratio 1:1 conservado del primer frame)
{
  "model": "dreamina-seedance-2-5-260628",
  "content": [
    {"type": "text", "text": "the girl in the image says \"cheese\" to the camera, with a 360-degree orbiting camera shot"},
    {"type": "image_url", "image_url": {"url": "..."}, "role": "first_frame"},
    {"type": "image_url", "image_url": {"url": "..."}, "role": "last_frame"}
  ],
  "generate_audio": true,
  "ratio": "adaptive",
  "duration": 5
}

Generación multilingüe nativa

Soporta prompt e input en: Chino, Inglés, Español, Indonesio, Malayo, Tailandés, Árabe, Portugués, Vietnamita, Japonés, Coreano.

Input: texto + imagen de referencia (banda en la playa)
Reference image

Prompt (resumen): Cinematic hip-hop / rap music video. Lead vocalist in red tracksuit on beach. Rapper says "Hello" in 8 languages in order: English → Chinese → Japanese → Korean → Portuguese → Thai → Spanish → Arabic. 8 shots with hard cuts, precise lip sync. No subtitles. 20 seconds.

Output

Comparativa de modelos

Característica Seedance 2.5Seedance 2.0Seedance 2.0 fastSeedance 2.0 mini
Model IDdreamina-seedance-2-5-260628dreamina-seedance-2-0-260128dreamina-seedance-2-0-fast-260128dreamina-seedance-2-0-mini-260615
Text-to-video
First-frame-to-video
First-last-frame-to-video
Omni referenceImage reference
Video reference
Audio reference (solo)✗ (req img/vid)✗ (req img/vid)✗ (req img/vid)
Combined reference
Edit video
Extend video
Video with audio
Max reference assets50 (30 img + 10 vid + 10 aud)15 (9+3+3)15 (9+3+3)15 (9+3+3)
Output specsResolución480p / 720p / 1080p (10-bit)480p / 720p / 1080p / 4K (10-bit)480p / 720p480p / 720p
Aspect ratio21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptiveigualigualigual
Duración4–30 s o -14–15 s o -14–15 s o -14–15 s o -1
Formato outputmp4, movmp4mp4mp4

Especificaciones de output

Resolución

Parámetro resolution. Default: 720p

  • 480p — 8-bit color depth
  • 720p — 8-bit color depth
  • 1080p10-bit color depth, H.265/HEVC (puede requerir VLC, mpv o QuickTime para reproducir)

Aspect ratio

Parámetro ratio. Default: adaptive

Valores: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive

En video editing, video extension y first-frame/first-last-frame, solo se puede usar adaptive.
ResoluciónAspect RatioDimensiones (px)
480p16:9854×480
4:3752×560
1:1640×640
3:4560×752
9:16480×854
21:9992×432
720p16:91280×720
4:31112×834
1:1960×960
3:4834×1112
9:16720×1280
21:91470×630
1080p16:91920×1080
4:31664×1248
1:11440×1440
3:41248×1664
9:161080×1920
21:92206×946

Duración

Parámetro duration. Default: -1. Rango: [4, 30] o -1

  • -1 en editing: mantiene la duración del vídeo a editar (diferencia máx. 0.4 s)
  • -1 en otros: el modelo elige una duración entre [4, 30]
En video editing, duration solo soporta -1. El vídeo input debe tener [4, 30] s.

Formato de output (mov)

Parámetro output_format. Valores: mp4 (default) o mov

  • mp4: Formato de uso general, máxima compatibilidad
  • mov: Alta precisión de color para escenarios profesionales. Usa H.264 video + yuv444p chroma sampling + PCM audio. Recomendado para video editing y extension
PlayermacOSWindows
IINA
VLC
mpv
ffplay

Prompt Tips (resumen)

Límites de uso

Imágenes

Vídeos

Audio

Retención

Rate limits

DimensiónEnterpriseIndividual
Max RPM600180
Max Concurrency103

Versión China (ZH) — Doubao Seedance 2.5 教程

La versión china es funcionalmente idéntica pero con diferente CDN (ark-project.tos-cn-beijing.volces.com) y se llama "Doubao Seedance 2.5" en el mercado chino.
Acceder en: docs.volcengine.com/docs/82379/2607688?lang=zh

Diferencias clave CN vs EN