curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-image-to-video",
"prompt": "The camera slowly zooms in, the scene gradually comes to life",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"duration": 5,
"quality": "720p",
"aspect_ratio": "adaptive"
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-image-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "draft_unavailable",
"message": "Draft mode is not available on the selected service right now. Retry later or send the request without draft.",
"type": "invalid_request_error"
}
}Seedance 2.5 Image-to-Video
- Ingrese 1 imagen para generar video desde el primer fotograma, ingrese 2 imagenes para generar video desde el primer y ultimo fotograma, el modelo determina automaticamente
- Ahora compatible con materiales realistas de personas generados por IA (AIGC)
- Admite el modo borrador: envíe
draft: truepara generar primero un borrador en 480p y, si le convence, use Draft-to-Video para obtener un video final en 1080p. Las dos generaciones se facturan por separado - Modo de procesamiento asincrono, utilice el ID de tarea devuelto para consultar
- El enlace del video generado es valido por 24 horas, guardelo lo antes posible
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5-image-to-video",
"prompt": "The camera slowly zooms in, the scene gradually comes to life",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"duration": 5,
"quality": "720p",
"aspect_ratio": "adaptive"
}
'{
"created": 1761313744,
"id": "task-unified-1774857405-abc123",
"model": "seedance-2.5-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 165,
"video_duration": 8
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 50,
"user_group": "default"
}
}{
"error": {
"code": "invalid_parameter",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: seedance-2.5-image-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "draft_unavailable",
"message": "Draft mode is not available on the selected service right now. Retry later or send the request without draft.",
"type": "invalid_request_error"
}
}Autorizaciones
##Todas las interfaces requieren autenticacion mediante Bearer Token##
Obtener API Key:
Visite la Pagina de gestion de API Key para obtener su API Key
Agregue en el encabezado de la solicitud al usar:
Authorization: Bearer YOUR_API_KEY
Cuerpo
Nombre del modelo de generacion de video
seedance-2.5-image-to-video "seedance-2.5-image-to-video"
Indicacion de texto que describe el video deseado. Admite chino e ingles, se recomienda no exceder 500 caracteres en chino o 1000 palabras en ingles. Longitud maxima del prompt: 10000 tokens
Nota:
- Este modelo no admite entrada de
video_urls,audio_urls
"The camera slowly zooms in, the scene gradually comes to life"
Array de URLs de imagenes, 1-2 imagenes
Cantidad de imagenes y comportamiento:
| Cantidad | Comportamiento | Rol |
|---|---|---|
| 1 imagen | Video desde primer fotograma | Se establece automaticamente como first_frame |
| 2 imagenes | Video desde primer y ultimo fotograma | 1ra imagen -> first_frame, 2da imagen -> last_frame |
Requisitos de imagen:
- Formatos admitidos:
.jpeg,.png,.webp - Relacion de aspecto (ancho/alto):
0.4~2.5 - Pixeles de ancho/alto:
300~6000px - Tamano por imagen: no mas de
30MB - El tamano total del cuerpo de la solicitud no debe exceder
64MB - Al proporcionar fotogramas primero y ultimo, ambas imagenes pueden ser iguales. Cuando las relaciones de aspecto no coinciden, se toma el primer fotograma como referencia y el ultimo se recorta automaticamente
- Las URLs de imagenes deben ser accesibles directamente por el servidor
1 - 2 elements["https://example.com/first-frame.jpg"]
Duracion del video (segundos), valor predeterminado 5 segundos
Descripcion:
- Admite cualquier valor entero entre
4y30segundos -1: duracion automatica, el modelo elige una duracion entre4y30segundos y la facturacion sigue la duracion real de salida- La duracion esta directamente relacionada con la facturacion
5
Resolucion del video, valor predeterminado 720p
Valores opcionales:
480p: menor claridad, precio mas bajo720p: claridad estandar, este es el valor predeterminado1080p: claridad Ultra HD
Modo borrador: cuando draft es true, solo se permite 480p. Si se omite quality, se utiliza 480p automáticamente
480p, 720p, 1080p "720p"
Activa el modo borrador; el valor predeterminado es false
Detalles:
true: genera primero un borrador en 480p, más rápidamente, con la tarifa normal de 480p- Cuando está activado,
qualitydebe ser480po debe omitirse. Cualquier otra resolución devuelve un error de parámetro 400 - Solo se admite en el nivel superior del cuerpo de la solicitud. Incluirlo en
model_paramsdevuelve un error de parámetro 400
Conversión en video final:
- Una vez completado el borrador, la consulta de la tarea devuelve
draft_expires_at - Antes de esa fecha, envíe el ID de tarea del borrador a Seedance 2.5 Draft-to-Video para generar un video final en 1080p con el mismo contenido
- El video final y el borrador se facturan por separado. Si el borrador no le convence, puede omitir la conversión y pagar solo el borrador
- El período de validez predeterminado es de 24 horas desde que se completa el borrador;
draft_expires_atindica la fecha límite real. Envíe la solicitud de conversión con antelación: si el borrador caduca mientras la tarea espera en la cola, la conversión también fallará
Indisponibilidad temporal: el servicio puede devolver 503 cuando no está disponible temporalmente. Si el código de error es draft_unavailable, reintente más tarde o retire draft para generar en el modo normal
false
Relacion de aspecto del video, Image-to-Video solo admite adaptive
Valores opcionales:
adaptive: selecciona automaticamente la relacion de aspecto mas cercana segun la proporcion de la imagen del primer fotograma; es el unico valor admitido por este modelo- Este modelo no permite especificar relaciones fijas como
16:9o9:16
adaptive "adaptive"
Si se genera audio sincronizado, valor predeterminado true
Valores opcionales:
true: el video incluye audio sincronizado, sin cargo adicionalfalse: salida de video sin audio
true
Filtro de contenido, valor predeterminado true
Valores opcionales:
true: verificacion estandar de seguridad de contenido, este es el valor predeterminadofalse: relaja las restricciones de contenido, facturado con +10% (1.1x). El contenido ilegal y prohibido siempre se aplica independientemente de esta configuracion
Incompatible con la busqueda web:
content_filter: falseymodel_params.web_search: trueno se pueden usar juntos; enviarlos a la vez devuelve un error de parametro 400- Mantenga
content_filter: true(valor predeterminado) cuando necesite la busqueda web
true
Formato de contenedor de salida, valor predeterminado mp4
Valores opcionales:
mp4: codificacion H.264, la mejor compatibilidad y precision de color estandar; es el valor predeterminadomov: H.264 + submuestreo de croma yuv444p + audio PCM, con mayor fidelidad de color, recomendado para etalonaje, recorte de croma y composicion. Es posible que el navegador no lo reproduzca en linea; descarguelo y reproduzcalo con VLC / mpv / ffplay. Sin cargo adicional
mp4, mov "mp4"
Direccion de callback HTTPS despues de completar la tarea
Momento del callback:
- Se activa cuando la tarea se completa (completed) o falla (failed)
- Se envia despues de confirmar la facturacion
Restricciones de seguridad:
- Solo admite protocolo HTTPS
- Prohibido el callback a direcciones IP de red interna (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longitud de la URL no debe exceder
2048caracteres
Mecanismo de callback:
- Tiempo de espera:
10segundos - Maximo
3reintentos despues del fallo (reintentos a los1/2/4segundos despues del fallo) - El formato del cuerpo de respuesta del callback es consistente con el formato de retorno de la interfaz de consulta de tareas
- Un codigo de estado 2xx se considera exitoso, otros codigos de estado activan reintentos
"https://your-domain.com/webhooks/video-task-completed"
Respuesta
Tarea de generacion de video creada exitosamente
Marca de tiempo de creacion de la tarea
1761313744
ID de la tarea
"task-unified-1774857405-abc123"
Nombre del modelo utilizado
"seedance-2.5-image-to-video"
Tipo especifico de la tarea
video.generation.task Porcentaje de progreso de la tarea (0-100)
0 <= x <= 1000
Estado de la tarea
pending, processing, completed, failed "pending"
Informacion detallada de la tarea de video
Show child attributes
Show child attributes
Tipo de salida de la tarea
text, image, audio, video "video"
Informacion de uso y facturacion
Show child attributes
Show child attributes