Por capacidad
Videos
Los videos siempre se ejecutan como tarea: envía y luego consulta o recibe un callback. Los clips más largos y nítidos cuestan más.
#1. Elige un modelo
doubao-seedance-2.0$0.142 / solicitudLímites y estado
13 modelos en línea para esto. Al cambiar de modelo, cambia el código de abajo.
#2. Copia la solicitud
Reemplaza YOUR_API_KEY por tu clave y ejecútala. Las opciones que se muestran son las que acepta este modelo.
https://www.aisplice.store/v1/videosBearer API keyTarea asíncronaOpcionesSolo se muestran las opciones publicadas para este modelo.
# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"
# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/videos \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
-d '{
"model": "Seedance 2.0",
"prompt": "A cinematic scene with careful composition",
"duration": 5,
"resolution": "720p",
"size": "16:9",
"metadata": {
"generate_audio": true
}
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
printf '%s\n' "$SUBMITTED" >&2
exit 1
fi
echo "task_id=$TASK_ID"
# 2. Poll until terminal
while true; do
STATUS_JSON=$(curl --fail-with-body -sS \
"https://www.aisplice.store/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
echo "status=$STATUS"
case "$STATUS" in
completed|succeeded|success) break ;;
failed|failure|cancelled|canceled)
printf '%s\n' "$STATUS_JSON" | jq .
exit 1
;;
esac
sleep 5
done
# 3. Fetch the final result
curl --fail-with-body -sS \
"https://www.aisplice.store/v1/videos/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" | jq .Este modelo requiere URL públicas de medios. Sube primero un archivo local y luego pon public_url en la solicitud al modelo. Evita cuerpos Base64 grandes.
Leer la guía de subidaTodos los parámetros
Todos los campos que acepta este modelo, con los valores permitidos.
Todos los parámetros
Todos los campos que acepta este modelo, con los valores permitidos.
modelIdentificador exacto del modelo para esta solicitud.
doubao-seedance-2.0promptVideo prompt, up to 4000 characters; 500 or fewer recommended.
durationOutput seconds from 4 to 15.
resolutionResolución de salida solicitada.
480p720p1080p4ksizeAspect ratio between 0.5 and 2.5.
16:99:161:14:33:421:9adaptiveimagesUp to 9 public reference-image URLs, or exactly one first-frame image when image_tail is set.
metadata.video_urlsURL HTTP(S) públicas de videos de origen. Máximo 3 elementos.
Ciclo de vida de la respuesta
Estado de la tarea, estados finales y ejemplos de respuesta del resultado.
Ciclo de vida de la respuesta
Estado de la tarea, estados finales y ejemplos de respuesta del resultado.
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "Seedance 2.0",
"status": "queued"
}En espera
queued · submitted · in_progress · processing
Éxito
completed · succeeded · success
Fallo
failed · failure · cancelled · canceled
#3. Obtén el resultado
La llamada de envío responde de inmediato con un task_id. Consulta la tarea cada pocos segundos hasta que status sea completed, o pasa webhook_url y te llamaremos cuando termine.
GET https://www.aisplice.store/v1/videos/{task_id}
GET https://www.aisplice.store/v1/videos/{task_id}/content
La duración y la resolución determinan el nivel de precio. Una tarea en curso se puede cancelar; consulta la referencia de la API.
Solo se cobra si tiene éxito
Valores de estado y consulta periódica →Recibe un callback en lugar de consultar →
#Si algo sale mal
- 400 con un nombre de campo: este modelo no acepta esa opción; usa los valores indicados en el paso 2.
- Imagen o video de referencia rechazado: debe ser una URL pública que el modelo pueda descargar.
- Contenido rechazado por el modelo: reformula el prompt; las solicitudes rechazadas no se cobran.
- 402: el saldo no cubre esta solicitud; recarga en Billetera y reintenta.
- 429: reduce el ritmo y reintenta después de los segundos indicados en Retry-After.
- 503 model_not_found: el nombre del modelo es incorrecto o el modelo está fuera de línea; elige uno del paso 1.
#Primer y último fotograma, imágenes y videos de referencia
Los modelos que los aceptan muestran los campos en el paso 2: primer fotograma, último fotograma, imágenes de referencia o un video de referencia. Pasa URL públicas; sube primero los archivos locales.
Integrarlo en tu productoQué opciones mostrar primero a tus usuarios y cuáles dejar para más adelante.
Qué opciones mostrar primero a tus usuariosEmpieza con el prompt y un ajuste de precio; añade el resto cuando el flujo básico funcione.+
Intención creativa
Los campos como prompt van en la UI porque el usuario entiende directamente el resultado que cambian.
Multiplicador de costo
Los campos como duración, resolución, tamaño y cantidad solo deben introducirse cuando el precio ya se pueda explicar.
Cambio de modo
Los campos como imagen, máscara o ID de continuación cambian el propio flujo de trabajo y solo deben aparecer en modos dedicados.
Infraestructura del sistema
Los campos como webhook_secret son para integradores, no para creadores habituales, así que déjalos fuera de la UI predeterminada.
prompt- Cuándo mostrarlo
- Siempre. Define la escena o la dirección del movimiento.
- Valor predeterminado recomendado
- Obligatorio en la UI.
- Por qué importa
- Sin él, los usuarios no pueden orientar la intención del clip.
image / images- Cuándo mostrarlo
- Muéstralo solo en productos basados en referencias o de imagen a video.
- Valor predeterminado recomendado
- Ocúltalo en los flujos solo con prompt.
- Por qué importa
- Cambia el modo de creación y debe ser una decisión de producto deliberada.
duration- Cuándo mostrarlo
- Muéstralo cuando el flujo asíncrono básico sea estable y el precio esté visible.
- Valor predeterminado recomendado
- Empieza por la duración más corta admitida.
- Por qué importa
- Es uno de los mayores multiplicadores de costo y latencia en la generación de video.
resolution- Cuándo mostrarlo
- Muéstralo cuando los clientes comparen explícitamente salidas en 720p, 1080p o 4K.
- Valor predeterminado recomendado
- Elige una resolución recomendada en el servidor.
- Por qué importa
- Una resolución mayor aumenta el costo, el tiempo en cola y la sensibilidad a fallos.
webhook_url / webhook_secret- Cuándo mostrarlo
- Muéstralo solo a integradores de backend, no a usuarios finales normales.
- Valor predeterminado recomendado
- En productos con UI, prefiere la consulta periódica.
- Por qué importa
- Resuelven la integración de sistemas, no la creatividad del usuario final, así que deben quedar fuera de los controles de cara al consumidor.
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content
Phase 2
- one quality or resolution selector
- clear pricing hint
Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuningMantén una única fuente de verdad para los resultados
¿Sigues con el problema?
Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.