Tutorial
Tutorial de la API de Seedance 2.0 Mini en chino: la interfaz de vídeo a $0.0272 por segundo
El Seedance más económico: genera vídeo a partir de texto, de imagen y de referencias con un solo modelo. Incluye ejemplos en curl y Python, todos los parámetros y el coste por segundo.
TL;DR
seedance-2.0-minies la versión ligera de Seedance 2.0 de ByteDance. Con un solo nombre de modelo puedes generar vídeo a partir de texto, vídeo a partir de imagen (primer fotograma o primer y último fotograma) y vídeo a partir de referencias, con audio sincronizado incluido. Abre la página del modelo y genera en línea; los nuevos usuarios registrados reciben 200 créditos de bienvenida.- Es uno de los modelos de vídeo más económicos de HiAPI: 480p a $0.0272 por segundo, 720p a $0.0586 por segundo. 5 segundos en 480p cuestan solo $0.136.
resolutiones obligatorio; si no lo pasas, da error directamente. Abajo tienes ejemplos en curl y Python, todos los parámetros y cómo se calcula el coste en cada uno de los tres modos.
Primero, los resultados
Tres vídeos generados a partir de texto, todos de 5 segundos en 480p, $0.136 cada uno.
A slow dolly-in toward a steaming bowl of ramen on a worn wooden counter in a dim izakaya. Warm amber lantern light, soft volumetric haze, gentle steam curling upward, shallow depth of field, the broth surface rippling slightly. Cinematic, photoreal.
Generar con este prompt → (5 segundos, 480p)
seedance-2.0-mini, vídeo a partir de texto, 480p, 5 segundos, $0.136.
A cozy fireplace crackling in a log cabin at night, orange embers popping and drifting, a cast-iron kettle gently steaming on the hearth, rain streaking the dark window behind. Static locked-off shot. Native audio: crackling fire, soft rain on glass, a low wind.
Generar con este prompt → (5 segundos, 480p)
seedance-2.0-mini, vídeo a partir de texto, 480p, 5 segundos, con audio nativo, $0.136.
El sonido de la leña, la lluvia y el viento de este vídeo provienen de la última frase del prompt. Mini genera audio por defecto, pero qué sonidos concretos aparecen depende de que lo especifiques claramente en el prompt.
A border collie sprints across a sunlit beach toward the camera, kicking up wet sand, ears flapping, tongue out, water spray catching the low golden light. Tracking shot moving backward to keep the dog centered, motion blur on the paws, joyful energy, photoreal.
Generar con este prompt → (5 segundos, 480p)
seedance-2.0-mini, vídeo a partir de texto, 480p, 5 segundos, $0.136.
curl: el primer vídeo
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-mini",
"input": {
"prompt": "雨夜霓虹赛博朋克街道,镜头缓缓推近,湿漉路面倒影斑斓,电影级氛围",
"resolution": "480p",
"duration": 5,
"aspect_ratio": "16:9"
}
}'
5 segundos en 480p, $0.136. Tras recibir data.taskId, consulta con GET /v1/tasks/{taskId} hasta que status sea success y luego descarga output[0].url.
Python: enviar, consultar y descargar
# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(timeout_s=900, **params):
body = {"model": "seedance-2.0-mini", "input": params}
# 重试提交同一个任务时带同一个 Idempotency-Key,避免重复扣费
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
# 图生视频:让一张图动起来,720p 5 秒($0.293)
url = generate(
prompt="镜头缓缓拉远,云雾在山峰间流动,金色晨光",
first_frame_url="https://your-cdn.example.com/first-frame.jpg",
resolution="720p", duration=5, generate_audio=False,
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Un modelo, tres modos
Según los parámetros que pases, entras en un modo u otro:
| Modo | Qué pasar | Descripción |
|---|---|---|
| Texto a vídeo | Solo prompt |
|
| Imagen a vídeo | first_frame_url, opcionalmente con last_frame_url |
No se puede combinar con imágenes ni vídeos de referencia |
| Vídeo a partir de referencias | reference_image_urls, reference_video_urls, reference_audio_urls |
Máximo 3 vídeos de referencia y 3 audios de referencia, con una duración total de 15 segundos cada categoría |
Lista de parámetros
| Parámetro | Valores | Descripción |
|---|---|---|
prompt |
Cadena, obligatorio | Puede ser en chino o en inglés |
resolution |
480p / 720p, obligatorio |
Si no se pasa, devuelve 400 |
duration |
Entero de 4 a 15, obligatorio (los ejemplos usan 5) | En segundos |
aspect_ratio |
1:1 4:3 3:4 16:9 9:16 21:9 adaptive, por defecto 16:9 |
|
generate_audio |
Por defecto true |
Audio nativo sincronizado |
first_frame_url / last_frame_url |
URL de imagen | jpeg/png/webp/bmp/tiff/gif, lado de 300 a 6000 px, cada archivo menor de 30 MB |
reference_image_urls |
URL de imagen | Máximo 9 imágenes en total contando los fotogramas primero y último |
reference_video_urls |
Máximo 3 fragmentos | mp4/mov, 480p o 720p, cada fragmento de 2 a 15 segundos, total no superior a 15 segundos |
reference_audio_urls |
Máximo 3 fragmentos | wav/mp3, cada fragmento de 2 a 15 segundos, total no superior a 15 segundos |
Calculemos el coste
| Duración | 480p ($0.0272/seg) | 720p ($0.0586/seg) |
|---|---|---|
| 4 segundos | $0.1088 | $0.2344 |
| 5 segundos | $0.136 | $0.293 |
| 10 segundos | $0.272 | $0.586 |
| 15 segundos | $0.408 | $0.879 |
Cuando se pasan reference_video_urls, se factura con otra tarifa: 480p a $0.0172 por segundo, 720p a $0.0358 por segundo. Con $10 puedes generar unos 367 segundos en 480p. Se recomienda ajustar el prompt primero en 480p y, una vez definido, generar en 720p; si necesitas 1080p, cambia a Seedance 2.0 o Seedance 2.5.
Antes de pasar a producción
- Usa callbacks en lugar de polling: en el nivel superior de la petición (al mismo nivel que
input) añade"callback": {"url": "https://tu-dominio/hiapi/callback"}y deduplica portaskId. - Guarda los archivos a tiempo:
output[0].urles un enlace temporal. - Reintenta con clave de idempotencia: añade
Idempotency-Keyen la cabecera; reintentar con la misma clave solo crea la tarea una vez. - Reembolso automático en caso de fallo: solo se cobra por los vídeos generados con éxito.
Preguntas frecuentes
¿Cómo elegir entre Seedance 2.0 Mini y Seedance 2.0?
En 480p, el precio de Mini es aproximadamente una quinta parte del de 2.0 ($0.0272 frente a $0.136 por segundo), pero solo llega hasta 720p. Usa Mini para borradores, para generar vídeos cortos para redes sociales en lote y para probar prompts; si necesitas 1080p o 4K, cambia a Seedance 2.0.
¿Por qué da error si no paso resolution?
En este modelo resolution es obligatorio; debes indicar explícitamente "480p" o "720p".
¿Tiene audio?
Sí, por defecto. Especifica en el prompt el sonido que quieres; si no quieres audio, pon generate_audio en false.
¿Cuánto dura como máximo un vídeo?
De 4 a 15 segundos.
Para ver más formas de escribir prompts, consulta la guía de prompts de Seedance 2.0; también puedes ir a la página del modelo y generar el del ramen.
Artículos relacionados
Ver todos los artículos →-
Tutorial
Cómo llamar a hailuo-2.3-fast/image-to-video a través de la API de HiAPI: práctica con curl y Python
La primera solicitud ejecutable del nivel rápido y de bajo coste de imagen a vídeo: del ID del modelo a la descarga del MP4
-
Tutorial
Cómo llamar a hailuo-2.3/text-to-video mediante la API de HiAPI: curl, Python y ejemplos de solicitud ejecutables
-
Tutorial
Uso de Kandinsky 6.0 Pro texto a video en HiAPI: tutorial con curl y Python
Demostración práctica centrada en la solicitud: construir la llamada de prompt a clip de video, enviar la solicitud, sondear el estado de finalización y descargar el resultado