Introducción
Video Face Swap lleva los rasgos faciales de una sola imagen de referencia a la persona que aparece en un video, a lo largo de todos los fotogramas del clip. Solo viajan los rasgos: el peinado, la silueta de la cabeza, los movimientos, el vestuario, la iluminación, el movimiento de cámara y el fondo quedan tal como se rodaron, y por eso el resultado se ve como la toma original y no como una capa pegada encima.
Video Face Swap recibe un clip de video y una imagen de cara de referencia y lleva solo los rasgos faciales a la persona de la toma, conservando su pelo, sus movimientos, el encuadre y el fondo. Dos URL y un acabado opcional: no hay ningún campo de prompt que redactar.
Funciones y aspectos destacados
Conserva la actuación, cambia la identidad facial
Face Swap aplica la identidad de la referencia aprobada a la persona del material proporcionado y conserva la actuación de imagen real. Elige un clip cuyo sujeto, encuadre e iluminación ya funcionen: este flujo reemplaza identidad, no reconstruye una toma.
Revisa la continuidad, no una escena sintética
Evalúa el resultado a velocidad normal en giros, cortes y movimientos rápidos. Comprueba que el cambio de identidad sea coherente mientras cabello, movimiento, vestuario y fondo sigan leyendo como el material original.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
video_url | Sí | El clip que se modifica. El pelo, la forma de la cabeza, los movimientos, el vestuario y toda la escena de esta persona se conservan; solo se sustituyen sus rasgos faciales. mínimo 1 caracteres |
reference_image_url | Sí | Una imagen fija que aporta los rasgos faciales. Solo se toma la cara, no el pelo ni la forma de la cabeza. mínimo 1 caracteres |
face_mapping | No | Para clips con varias personas: indica qué rostro de la referencia va sobre qué rostro del video, un par por entrada, con los rostros numerados desde 0 en el orden de detección. máximo 10 elementos |
face_enhance | No | Aplica una pasada de mejora facial al rostro intercambiado para darle más resolución. Desactivado por defecto. Valor predeterminado: |
style | No | realistic (por defecto) mantiene un tono y una textura de piel naturales; beautify suaviza e ilumina la piel; lossless conserva el máximo detalle de la cara de referencia. |
Precios
$0.026 / segundo de salida
Se cobra en bloques completos de 10 segundos del clip de origen, así que un clip de 12 segundos cuesta lo mismo que 20. El clip de origen debe durar entre 3 y 40 segundos; la estimación previa al envío usa la duración real de un clip cargado, o el máximo de 40 segundos si es una URL de video, y cualquier diferencia se libera al liquidar la tarea.
Casos de uso
Cambiar un clip proporcionado
Video Face Swap lleva los rasgos faciales de una sola imagen de referencia a la persona que aparece en un video, a lo largo de todos los fotogramas del clip. Solo viajan los rasgos: el peinado, la silueta de la cabeza, los movimientos, el vestuario, la iluminación, el movimiento de cámara y el fondo quedan tal como se rodaron, y por eso el resultado se ve como la toma original y no como una capa pegada encima. Usa este modo cuando el video fuente debe ser el punto de partida de una edición. Describe el cambio con precisión y revisa continuidad, ritmo y los detalles que deben conservarse.
Una misma cara en toda una serie generada
Genera una serie de clips con cualquier modelo de video y lleva a todos una misma cara autorizada para que la serie muestre a la misma persona. Movimientos, vestuario y decorado siguen siendo los de cada clip, así que la variedad que generaste sobrevive al proceso.
Contenido sin censura con la imagen de un intérprete que consiente
Lleva una cara que tienes autorización para usar a material que has producido tú. En la solicitud no cambia nada por tratarse de contenido sin censura, pero el requisito de autorización de los límites de abajo es una condición firme, no un trámite.
Cambiar el intérprete de una toma que ya funciona
Conserva una toma cuya iluminación, puesta en escena y movimiento de cámara ya están aprobados y pon otra cara en ella, en lugar de regenerar todo el plano y perder la interpretación que tenías.
Guía de prompts y consejos prácticos
Confirma que tienes derechos sobre ambas caras
Antes de cualquier paso técnico: el clip y la referencia muestran personas, y necesitas autorización tanto para la imagen que trasladas como para el material que la recibe. Guarda la autorización junto al registro del trabajo.
Aloja el clip y la cara y envía la pareja
video_url es el material que se modifica; reference_image_url es una imagen fija que aporta la cara. Añade style solo si el acabado realistic por defecto no te sirve. No hay prompt que escribir.
Check the result before iterating
La referencia debe mostrar una cara bien visible, más o menos de frente y bien iluminada, y el clip funciona mejor con una sola persona cuya cara se mantenga lo bastante grande en el encuadre. Los perfiles muy marcados, el desenfoque por movimiento rápido, las manos u objetos que cruzan por delante de la cara y las caras muy pequeñas degradan el traspaso o lo hacen fallar. Una diferencia grande de dirección de la luz o de tono de piel entre la referencia y el clip se nota en la línea de la mandíbula. Solo se procesa una cara: cuando aparecen varias personas no hay forma de indicar a cuál te refieres. No hay prompt, ni máscara, ni seed: si el resultado no es el esperado, la solución es otra referencia u otro corte del material, no reformular la solicitud.
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/face-swap-video-v1/video-edit",
"input": {
"reference_image_url": "https://example.com/reference.png",
"style": "realistic",
"video_url": "https://example.com/reference.mp4"
}
}'
# 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.










