Introducción
Video Head Swap recibe el id de tarea de un análisis, las posiciones que elegiste entre sus vistas previas y de una a tres fotos de referencia para cada una, y devuelve el clip con esas cabezas reemplazadas. El cabello, la forma de la cabeza y la identidad cambian; el cuerpo, el vestuario, el movimiento, el encuadre y la pista de audio original quedan tal como se filmaron. Las cabezas que no listes no se tocan.
Video Head Swap se resuelve en dos llamadas. La primera rastrea cada cabeza en un clip de 5 a 30 segundos y devuelve una imagen de vista previa por cabeza, en un orden fijo. La segunda recibe las posiciones que elegiste y de una a tres fotos de referencia para cada una, y devuelve el clip con esas cabezas reemplazadas y el audio original intacto.
Análisis de video de Head Swap → Edición de video de Head Swap
Funciones y aspectos destacados
Tú decides a quién se cambia
La mayoría de los endpoints de este tipo tiene que adivinar a qué persona te referías. Aquí la primera llamada te muestra cada cabeza que encontró, numerada, y la segunda solo toca los números que devuelves. En un clip con cuatro personas puedes cambiar a una y dejar a las otras tres tal como se filmaron.
Mantén idénticos el video y la resolución
Video Head Swap no es un endpoint sino un par. La primera llamada, video-analyze, rastrea todas las cabezas de un clip de 5 a 30 segundos y devuelve una vista previa por cabeza en orden fijo; el costo es fijo por solicitud, sin importar la duración del clip ni cuántas cabezas encuentre. La segunda llamada, video-edit, recibe el id de tarea de ese análisis, las posiciones que elegiste y de una a tres fotos de referencia para cada una, y devuelve un solo clip con la pista de audio original intacta, cobrado por segundo de material en 480p o 720p. Los datos de rastreo nunca llegan a ti: trabajas con tu propio id de tarea y con posiciones numeradas desde cero que corresponden exactamente a las vistas previas que viste. Ambas llamadas deben usar el mismo video y la misma resolución, y si no coinciden la segunda se rechaza en lugar de dejarlo pasar en silencio.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
analysis_task_id | Sí | El id de tarea de la llamada de análisis de este clip. Las vistas previas de ese análisis están en el mismo orden que |
swap_targets | Sí | Una entrada por cada cabeza que quieras reemplazar; las que omitas no se tocan. |
video_url | No | Opcional. Si lo omites se usa el video del análisis. mínimo 1 caracteres |
resolution | No | Debe coincidir con la resolución con la que corriste el análisis. Este campo también define el nivel de precio. |
seed | No | Semilla aleatoria; cero pide una semilla al azar. |
Precios
Se cobra en bloques completos de 5 segundos del clip de origen, así que un clip de 6 segundos cuesta lo mismo que 10. La estimación previa al envío usa la duración real de un clip cargado, o el máximo de 30 segundos si es una URL de video; cualquier diferencia se libera al liquidar la tarea.
| Especificación | Precio |
|---|---|
| $0.064 / segundo |
| $0.12 / segundo |
Casos de uso
Recastear una toma que ya funciona
La toma cuya luz, marcación y movimiento de cámara ya están aprobados se conserva: cambias la cabeza en lugar de regenerar el plano completo y perder la actuación.
Cualquier temática, con un intérprete que dio su consentimiento
La solicitud no cambia en nada según lo que muestre el material. El requisito de autorización que aparece más abajo tampoco cambia: es una condición dura, no una formalidad.
Una misma persona en toda una serie generada
Genera un lote de clips con cualquier modelo de video, analiza cada uno y lleva la misma cabeza autorizada a todos, para que la serie se lea como una sola persona.
Multitudes donde cambia una sola persona
Analiza una escena con varias personas en cuadro, mira las vistas previas y devuelve solo la posición que querías. Las demás quedan intactas.
Guía de prompts y consejos prácticos
Confirma los derechos sobre cada cabeza involucrada
Tanto el material como las fotos de referencia muestran personas. Necesitas autorización para la imagen que estás moviendo y para el material al que la lleva. Guarda la autorización junto con el registro del trabajo.
Analiza primero y lee el orden de las vistas previas
El análisis devuelve las vistas previas en un orden fijo. La primera imagen es object_index 0, la segunda 1, y así sucesivamente. Esa posición es el único dato que necesitas: la devuelves en swap_targets.
Mantén idénticos el video y la resolución
Ambas llamadas deben correr sobre el mismo video con la misma resolución. Si omites video_url en la segunda, se toma del análisis; si lo envías, tiene que coincidir. Una resolución distinta se rechaza en lugar de volver a rastrear en silencio.
Inicio rápido de la API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/head-swap-video-v1/video-edit",
"input": {
"analysis_task_id": "example",
"resolution": "720p",
"swap_targets": [
{
"image_urls": [
"example"
],
"object_index": 0
}
]
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulta la referencia de la API para autenticación, el esquema completo, sondeo y gestión de errores.

