Ir al contenido principal

Cómo reemplazar a un personaje en un vídeo con IA (una imagen, una llamada)

Sustituye a una persona de un clip corto por el personaje de una sola imagen. Resultados reales, los límites que encontramos y un ejemplo de API.

Autor
Lydia
Publicado
Lectura
11 min de lectura
Una mujer con mono halter negro mira al espejo de un estudio de danza al anochecer, y su reflejo es un hombre barbudo con camisa de lino blanca abierta que copia su pose exacta; resultado de MiniMax H3 Character Swap.

Un character swap con IA sustituye a una persona de un vídeo por otro personaje y deja intactos el ritmo, la cámara y la acción. MiniMax H3 Character Swap lo hace en una sola petición: envías un clip corto, una imagen del nuevo personaje y unas palabras que indican a quién reemplazar, y recibes un clip nuevo en el que ese personaje interpreta la toma original. No hay paso de detección ni máscara que dibujar. Necesitas permiso para cada persona real que aparezca en el vídeo y en la imagen (consulta la sección de consentimiento más abajo). Nuestros ejemplos son escenas corrientes; esta guía no trata contenido para adultos.

No es un face swap. Un face swap cambia la cara y deja el cuerpo, el pelo y la ropa de la persona original. Un character swap cambia a la persona entera: cara, pelo, vestuario y complexión salen de tu imagen, y el movimiento sale del clip.

Qué entra y qué sale

EntradaQué darle
VídeoMP4, hasta 90 MB; solo se usan los primeros 15 segundos. Usa un plano continuo: la página del modelo indica que una toma sin cortes funciona mejor.
ImagenUna imagen del nuevo personaje: foto, render 3D o dibujo. JPEG, PNG, WebP o GIF de hasta 10 MB. Funciona mejor de cuerpo entero sobre fondo liso.
PromptSolo la frase nominal que indica a quién reemplazar, como "the woman on the left" o "the man in the white shirt" (en inglés). La plataforma la envuelve en la instrucción con la que se entrenó el modelo, así que no escribas tú "reemplaza X por Y". Vacío significa la persona principal.
Duración, relación de aspecto, resoluciónAjusta duración y relación de aspecto a tu clip. La resolución es 480p, 540p, 768p o 1080p; la salida dura de 3 a 15 segundos. La página del modelo indica sonido en la salida; no comprobamos el audio de los clips de abajo.

Prueba primero con 480p. Es el nivel más barato y te muestra si el cambio funciona antes de pagar 1080p.

Ejemplos que puedes repetir

Todos los clips son generados con IA y muestran adultos ficticios. Cada uno es un ejemplo de la página del modelo, con sus archivos de entrada, su prompt y su semilla. Las ejecuciones de muestra se hicieron en 768p; el código de más abajo usa 480p para una primera prueba barata, así que una repetición en 480p se verá algo distinta.

Solo de danza ("Studio mirror dancer swap", semilla 7). El original muestra a una mujer con mono halter negro que levanta un brazo, da una vuelta completa y sonríe a cámara en un estudio vacío. La referencia es un hombre barbudo con camisa de lino; el prompt es "the woman in the black halter jumpsuit".

Character swap del ejemplo del estudio: un clip de cinco segundos en 768p en el que la mujer es sustituida por el hombre de la imagen de referencia.
Un hombre barbudo con camisa de lino blanca abierta levanta un brazo en un estudio de danza vacío al atardecer, en lugar de la bailarina del clip original.
Fotograma de portada del cambio en el estudio.

El brazo levantado y la sonrisa están en el resultado. Nuestra primera semilla (41) añadió una fila de bailarines extra al fondo y la semilla 7 mantuvo la sala vacía, como en el original; si una ejecución añade gente, prueba otra semilla.

Funicular ("Funicular scarlet jumpsuit swap", semilla 12). El original muestra a una mujer de pelo oscuro con gabardina mostaza que se vuelve desde la ventana, se coloca el pelo tras la oreja y se ríe. La referencia es una foto de estudio de cuerpo entero de una mujer con pelo platino muy corto y mono escarlata de hombros descubiertos; el prompt es "the woman in the mustard trench coat".

Retrato de estudio de cuerpo entero de una mujer con pelo platino muy corto, mono escarlata de hombros descubiertos y tacones negros, usado como referencia del personaje.
La imagen de referencia: cuerpo entero, fondo liso.
Character swap del ejemplo del funicular: un clip de cinco segundos en 768p en el que la mujer de la gabardina es sustituida por la mujer del mono escarlata.

Cara, pelo y mono rojo vienen de la foto, y el gesto de colocarse el pelo y la risa ocurren en el mismo tramo del clip que en el original. La misma referencia no funcionó con el clip del estudio; mira los límites más abajo.

Barbería, con dos referencias, una dibujada y otra animada (semilla 42, prompt "the man in the white shirt"). Los dos ejemplos usan el mismo clip de origen: un hombre con camisa blanca se levanta, se mira el pelo en el espejo y se va.

El clip de origen de la barbería usado en los dos ejemplos, cinco segundos.

La primera referencia es un dibujo de cómic a tinta de una mujer pelirroja con cazadora de vuelo marrón y pantalón cargo verde. El resultado ("Barbershop comic heroine swap") presenta a una mujer real con el mismo pelo rojo, la misma cazadora y el mismo pantalón; en el fotograma de portada tiene una mano en el pelo ante el espejo, igual que el hombre del original.

Dibujo de cómic a tinta de una mujer pelirroja con cazadora de vuelo marrón con cuello de borrego, top negro y pantalón cargo verde, de pie y de cuerpo entero sobre fondo crema.
Referencia uno: un dibujo de cómic.
Una mujer pelirroja con cazadora de vuelo marrón y pantalón cargo verde, ante el espejo de una barbería con una mano en el pelo y su reflejo a su lado.
Fotograma de portada del resultado de la heroína de cómic.
Character swap del ejemplo de la heroína de cómic, cinco segundos en 768p.

La segunda referencia es un render de un hombre de animación 3D con pelo y barba grises, abrigo marinero azul marino sobre un jersey crema y zapatos marrones ("Barbershop 3D character swap"). El resultado es un hombre real con pelo gris, barba corta y abrigo azul marino, y su fotograma de portada muestra el mismo gesto de llevarse la mano al pelo ante el espejo. El trazo lineal y el sombreado del render no pasan al resultado; el pelo, los colores y el vestuario sí.

Un hombre de animación 3D con pelo gris y barba corta gris, sonriente, con abrigo marinero azul marino cruzado sobre un jersey crema de punto trenzado y zapatos marrones, de pie y de cuerpo entero sobre un fondo azul claro.
Referencia dos: un personaje de animación 3D.
Un hombre de pelo gris con abrigo marinero azul marino, ante el espejo de una barbería con una mano en el pelo y su reflejo a su lado.
Fotograma de portada del resultado del personaje 3D.
Character swap del ejemplo del personaje 3D, cinco segundos en 768p.

¿Importa el adaptador?

En nuestras pruebas, sí. Con las mismas entradas, una ejecución sin el adaptador de character swap dejó que el hombre original reapareciera al fondo como un transeúnte, y en una escena de dos personas en un sofá perdió la acción en la segunda mitad; con él, solo cambió la persona nombrada y la acción siguió al original. La página del modelo siempre se ejecuta con el adaptador, así que no hay nada que ajustar. Para reemplazar a dos personas, ejecuta el clip dos veces y nombra a una distinta cada vez.

Llamarlo desde código

Sube dos archivos y ejecuta una tarea. Instala el SDK de Python (pip install spicyapi) y define SPICY_API_KEY:

python
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

clip = client.upload_file("./studio-solo.mp4")
character = client.upload_file("./character-full-body.jpg")

task = client.create_task(
    model="minimax/h3-character-swap/video-edit",
    input_data={
        "video_url": clip["uri"],
        "image_url": character["uri"],
        "prompt": "the woman in the black halter jumpsuit",
        "duration_seconds": 5,
        "aspect_ratio": "16:9",
        "resolution": "480p",
        "seed": 7,
    },
    idempotency_key=str(uuid.uuid4()),  # new key per new request
)

final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"{task['taskId']} ended as {final['state']}")
print(output_assets(final)[0]["url"])  # copy the video to your own storage now

La subida, la espera, los errores y los reintentos están en la guía de tareas y en la referencia del SDK de Python. Los resultados se conservan un tiempo limitado, así que lee retención y entrega de medios antes de apoyarte en el enlace devuelto. En el Playground las mismas entradas son un formulario: sube el clip y la imagen, escribe a quién reemplazar y ejecuta.

Cuánto cuesta

El precio tiene tres partes: los segundos de salida más los segundos del vídeo de origen (cada segundo empezado cuenta, hasta 15), a la tarifa de tu resolución, más $0.02 por petición por la imagen del personaje.

ResoluciónPor segundo
480p$0.06
540p$0.09
768p$0.135
1080p$0.27

Una salida de 5 segundos desde un origen de 5 segundos en 480p son 10 segundos × $0.06 + $0.02 = $0.62; en 768p, 10 × $0.135 + $0.02 = $1.37. La salida mínima es de 3 segundos, así que la prueba más barata es un clip de 3 segundos con salida de 3 segundos en 480p: 6 × $0.06 + $0.02 = $0.38. La estimación en vivo de la página del modelo muestra el total antes de ejecutar nada.

Los límites que encontramos

  • Un mono escarlata sobre un mono negro. Ejecutamos el clip del estudio (la mujer con mono halter negro) con la foto del mono escarlata de arriba, con las semillas 7 y 99. En las dos ejecuciones se mantuvo el vestuario original, el tono de piel salió más claro que el de la referencia y la cara se alejó de la foto. La misma foto con el clip del funicular (una gabardina, semilla 12) salió bien a la primera. No aislamos la causa; la diferencia entre los dos clips es que la mujer del estudio ya llevaba una prenda de una pieza como la de la referencia, así que si el vestuario no cambia, prueba con un origen donde la persona lleve algo distinto, o con otra semilla.
  • Personas de más. Una ejecución del estudio (semilla 41) añadió bailarines al fondo que no estaban en el original. Ejecuta otra semilla.
  • Un personaje por petición, y solo se usan los primeros 15 segundos del original. La salida es un clip nuevo de la duración que pides, no tu archivo original con una persona retocada, así que pueden cambiar pequeños detalles del fondo. Compara siempre la cara con tu referencia antes de publicar.

Consentimiento y derecho a la propia imagen

Úsalo solo con grabaciones e imágenes de personas que estés autorizado a procesar: tú mismo, un intérprete con un permiso firmado o una persona sintética que hayas generado. No lo uses para colocar a una persona real en imágenes íntimas o difamatorias sin su consentimiento explícito e informado, para suplantar a nadie ni con ninguna grabación de un menor. Que una fotografía sea pública no es consentimiento, y el consentimiento no se transfiere de un proyecto a otro.

Qué herramienta para cada trabajo

Preguntas frecuentes

¿Hay una forma gratuita de probarlo? Este modelo no tiene nivel gratuito. La prueba más barata es un clip de 3 segundos a 480p, $0.38 según el cálculo de arriba.

¿Cuánto puede durar el vídeo? Se usan hasta 15 segundos del original y la salida dura de 3 a 15 segundos. Ajusta la duración a tu clip.

¿Puedo reemplazar a más de una persona? Un personaje por petición. Vuelve a ejecutar el clip nombrando a otra persona, o usa Video Character Swap para varios objetivos en un solo análisis.

¿Conserva el audio original? La página del modelo indica sonido en la salida, pero no comprobamos el audio en estas pruebas, así que no des por hecho que coincide con el original.

¿Puedo usar una imagen de dibujos animados o anime? Sí, como una versión en acción real de ese personaje: el pelo, los colores y el vestuario se mantienen; el trazo lineal y el sombreado no.

También en English · 日本語 · 한국어 · Русский