API Hop

Documentación

Documentación de API Hop

Generación de vídeo Seedance 2.5

Contenido multimodal, audio generado y parámetros de reutilización de tareas de muestra de Seedance 2.5.

POSThttps://api.apihop.ai/v1/video/seedance

Crea una tarea asíncrona de Seedance 2.5. Para Seedance 2.0, usa su referencia de parámetros independiente.

Autenticación

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Cuerpo

modelstringobligatorio

seedance-2.5.

promptstring

Instrucción de vídeo. Obligatoria para generar solo con texto; puede omitirse o estar vacía si hay referencias de imagen/vídeo. Omítela al reutilizar draft_task. Los elementos de texto de metadata.content se descartan; prevalece prompt de nivel superior.

durationnumberPredeterminado: 5

Entero de 4 a 30, o -1 para duración automática. El campo nativo seconds acepta la cadena entera equivalente. También se admite metadata.duration. Los alias de duración proporcionados deben coincidir. Omite todos los controles de duración al reutilizar draft_task.

resolutionstringPredeterminado: 720p

480p, 720p o 1080p. El campo nativo size puede indicar la resolución; metadata.resolution tiene prioridad. 4k no se admite.

aspectRatiostringPredeterminado: 16:9

16:9, 9:16, 1:1, 4:3, 3:4, 21:9 o adaptive. Se aceptan aspect_ratio, ratio y metadata.ratio. Los valores de relación de aspecto en size siguen aceptándose por compatibilidad, pero un valor de resolución en size significa resolución. La entrada de fotogramas inicial/final requiere adaptive; se elige automáticamente si hay roles de fotogramas sin relación explícita.

metadataobject

Acepta resolution, ratio, duration, content, generate_audio y output_format. Establece generate_audio en un booleano para el audio generado. generateAudio / generate_audio de nivel superior son alias; usa un único control de audio.

imageUrlsstring[]

Imágenes de referencia. images, imageUrl, image_urls e image_url son alias. La forma nativa abreviada images usa las dos primeras imágenes como fotogramas inicial/final; imageUrls conserva la semántica de imágenes de referencia.

imageWithRolesobject[]

Imágenes por roles con url y role: first_frame, last_frame o reference_image. image_with_roles es un alias. También se acepta metadata.content tipado.

videoUrlsstring[]

Vídeos de referencia. videoUrl, video_urls y video_url son alias.

audioUrlsstring[]

Audio de referencia. audioUrl, audio_urls y audio_url son alias. Requiere una imagen o vídeo en la misma solicitud.

outputFormatstringPredeterminado: mp4

Solo mp4. Se aceptan output_format y metadata.output_format. mov y watermark no se admiten.

callback_urlstring

URL opcional de callback nativo. La disponibilidad depende del canal elegido; usa GET https://api.apihop.ai/v1/jobs/{jobId} como resultado de referencia.

Contenido multimodal

Las URL multimedia pueden ser direcciones HTTP(S) públicas o identificadores asset:// existentes.

TipoCampo anidadoRoles
image_urlimage_url.urlfirst_frame, last_frame, reference_image
video_urlvideo_url.urlreference_video
audio_urlaudio_url.urlreference_audio
draft_taskdraft_task.idSin rol; solo reutilización de muestras

Se aceptan hasta 30 imágenes, 10 vídeos y 10 archivos de audio, con un máximo de 50 elementos multimedia en total, sumando formas abreviadas y contenido tipado. El audio requiere una imagen o vídeo. Usa prompt de nivel superior en lugar de contenido type: "text". Proporciona un único alias por ajuste. Los controles no compatibles se rechazan. Los campos de nivel superior first_frame_url, last_frame_url, reference_image_urls, reference_video_urls y reference_audio_urls son formas abreviadas por rol. Los campos no listados dentro del contenido no se reenvían.

Reutilización de tareas de muestra

draft_task es exclusivo de Seedance 2.5. Reutiliza una muestra compatible existente y completada; esta página no define controles de creación de muestras.

  • metadata.content debe contener exactamente un elemento draft_task.
  • Prefiere el jobId de Synapse de la muestra existente, como cadena decimal, para draft_task.id. También se acepta un identificador de plataforma task_... existente y registrado; no uses el ID bruto del proveedor ni inventes identificadores.
  • La muestra debe pertenecer a la misma cuenta, usar el mismo modelo y canal de procesamiento, estar completada y haberse creado hace menos de 7 días.
  • No proporciones instrucciones, entradas de imagen/vídeo/audio, duración, relación de aspecto, semilla, generate_audio, formato de salida ni omni_reference_task_type. Se reutilizan los ajustes de la muestra.
  • Se puede proporcionar la resolución de salida.

Las comprobaciones de compatibilidad y propiedad pueden rechazar la reutilización aunque la tarea referenciada se completara correctamente. No supongas que toda generación normal es una muestra reutilizable.

Ejemplos de solicitudes

Referencia multimodal

json
{
  "model": "seedance-2.5",
  "prompt": "Keep the referenced character and camera movement in a coherent film",
  "seconds": "8",
  "size": "720p",
  "metadata": {
    "ratio": "16:9",
    "generate_audio": true,
    "content": [
      {"type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image"},
      {"type": "video_url", "video_url": {"url": "https://example.com/camera.mp4"}, "role": "reference_video"},
      {"type": "audio_url", "audio_url": {"url": "https://example.com/music.mp3"}, "role": "reference_audio"}
    ]
  }
}

Fotogramas inicial y final

json
{
  "model": "seedance-2.5",
  "duration": 5,
  "metadata": {
    "ratio": "adaptive",
    "content": [
      {"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
      {"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"}
    ]
  }
}

Reutilizar una muestra existente

Sustituye EXISTING_SAMPLE_JOB_ID por el jobId devuelto de una muestra real compatible y completada. El marcador siguiente no es un identificador de tarea funcional.

json
{
  "model": "seedance-2.5",
  "metadata": {
    "resolution": "1080p",
    "content": [
      {"type": "draft_task", "draft_task": {"id": "EXISTING_SAMPLE_JOB_ID"}}
    ]
  }
}

Envío y resultado

El campo data de la respuesta contiene jobId, status, model y message. Un envío correcto significa que la tarea se ha aceptado, no que haya terminado. Consulta periódicamente GET https://api.apihop.ai/v1/jobs/{jobId} con una clave de la misma cuenta. Consulta Consultar tarea asíncrona.

Cuando el estado sea COMPLETED, lee data.outputResult. Acepta cadenas y matrices en el campo url de cada objeto de resultado.