Introducción
Video Character 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 personas reemplazadas. La figura completa cambia, con ropa y complexión incluidas; el set, el movimiento de cámara, la coreografía y la pista de audio original quedan tal como se filmaron. Las personas que no listes no se tocan.
Video Character Swap se resuelve en dos llamadas. La primera rastrea a cada persona en un clip de 5 a 30 segundos y devuelve una imagen de vista previa por persona, 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 personas reemplazadas y el audio original intacto.
Análisis de video de Character Swap → Edición de video de Character 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 persona que encontró, numerada, y la segunda solo toca los números que devuelves. En una escena con cuatro personas puedes reemplazar a una y dejar a las otras tres tal como se filmaron.
Dale al modelo algo por debajo del cuello
Video Character Swap no es un endpoint sino un par. La primera llamada, video-analyze, rastrea a todas las personas de un clip de 5 a 30 segundos y devuelve una vista previa por persona en orden fijo; el costo es fijo por solicitud, sin importar la duración del clip ni cuántas personas 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. Donde el par de head swap cambia solo la cabeza, este reemplaza la figura completa, con ropa y complexión incluidas, mientras el set, el movimiento de cámara y la coreografía quedan tal como se filmaron. Los datos de rastreo nunca llegan a ti: trabajas con tu propio id de tarea y con posiciones numeradas desde cero.
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 persona que quieras reemplazar; las que omitas no se tocan. mínimo 1 elementos · máximo 10 elementos |
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
Cambiar el reparto sin volver a filmar
El set, el movimiento de cámara y la coreografía ya están como querías. En lugar de regenerar el plano completo y rehacer el trabajo de imagen, reemplaza solo a la figura que lo interpreta.
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.
Un mismo personaje en toda una serie generada
Genera un lote de clips con cualquier modelo de video, analiza cada uno y lleva el mismo personaje a todos, para que la serie se lea como un solo intérprete.
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 persona 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.
Dale al modelo algo por debajo del cuello
Este endpoint reemplaza la figura completa, así que un retrato de busto deja la complexión y la ropa libradas a la suposición. Dos o tres fotos de cuerpo entero desde ángulos distintos valen más que un único primer plano muy nítido.
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/character-swap-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.
