Pediste una toma en primera persona, pero el clip muestra a la otra persona por encima del hombro del observador, o la cámara se acerca a su rostro. Empieza buscando indicaciones de cámara contradictorias en el fotograma inicial y en la descripción del movimiento. Un primer plano, el contacto visual directo y la etiqueta «POV» no crean un punto de vista. Un plano picado especifica la altura de la cámara; la primera persona especifica de quién son los ojos que representa.
En este montaje a la altura de los ojos, el fotograma inicial parte de la posición del observador. Deja su cabeza y torso fuera del encuadre; sus manos o antebrazos pueden entrar por el borde inferior, pero no son necesarios para establecer la primera persona. Describe lo que hace la otra persona por separado de lo que hace la cámara.
A continuación tienes un montaje sentado a una mesa de restaurante para Seedance 2.5 image-to-video, seguido de soluciones a fallos que realmente verás, manos en acción, un POV en movimiento y cómo encadenar tomas. Todas las personas ilustradas son adultos ficticios. Las ilustraciones muestran la posición de la cámara, no vídeos generados.
Construye el primer fotograma desde el asiento del espectador
La referencia debe parecer una foto tomada a través de los ojos de un observador sentado. Al otro lado de una mesa pequeña se sienta un hombre adulto con americana azul marino y camisa blanca de cuello abierto, con los ojos aproximadamente a la altura del objetivo. El borde cercano de la mesa recorre la parte inferior y los antebrazos del observador entran desde las esquinas inferiores. No aparecen su nuca, la silueta de su hombro ni un operador de cámara aparte.
Usa esta descripción en tu herramienta de imagen o recrea la escena con fotografías autorizadas:
Photographic first-person view from a seated adult observer at a restaurant table beside a large window at dusk. A fictional adult man in a navy blazer over an open-collared white shirt sits directly across the small table at conversational distance, hands loosely clasped. Camera at the seated observer's eye height. His face and upper torso are unobstructed. Only the observer's relaxed forearms in dark sleeves enter from the lower corners, resting near the near table edge beside a white coffee cup. A candle in a glass holder and a small vase of flowers stand between them. Warm lamp light against a blue-hour city view through the window. The observer's head, face, shoulders and torso are outside the frame. One continuous room, no mirrors, no over-the-shoulder composition.
Un hombro en el borde no es un detalle inocuo: indica al modelo que la cámara puede estar detrás del observador. Recórtalo si lo que queda sigue siendo una vista coherente desde el asiento. Si el recorte deja un ángulo lateral o elevado, reconstruye el fotograma: la animación no cambiará por ti la posición de la cámara.

Ilustración: los antebrazos en primer término pueden reforzar el encuadre en primera persona; una cabeza y un hombro visibles establecen una vista externa.
Seedream 5.0 Flash figura a unos $0.029 por imagen, así que repetir el fotograma cinco o seis veces cuesta menos que desperdiciar un vídeo. Su tarea edit permite corregir un solo defecto, como un hombro sobrante o una mano demasiado grande, sin reconstruir la escena. Antes de subirlo a Seedance 2.5 image-to-video, comprueba los límites de entrada: cada lado entre 300 y 6000 píxeles, hasta 10 MB, JPG, PNG, WEBP o GIF. La salida sigue la forma de la imagen fija, así que recórtala primero a la proporción de entrega. Usa un sujeto ficticio o autorizado; la comprobación de entrada de Seedance puede rechazar una foto de un rostro real identificable.
Haz un borrador con una acción pequeña
En el Seedance 2.5 image-to-video Playground, sube el fotograma aprobado, elige cinco segundos a 480p, desactiva el sonido y pega el prompt de movimiento. Deja vacía la imagen final en la primera toma. La salida sigue la forma de la imagen fija; el punto de vista depende de la imagen y las palabras, no de un interruptor POV.
Copia este prompt:
One continuous five-second first-person shot from the seated observer's eyes. The adult man across the table looks toward the observer, gives one small smile and tilts his head slightly. The observer remains seated and still. Keep the camera position, eye height and framing unchanged. The man's hands stay on his side of the table. The observer's forearms remain low in the foreground. Stable warm lamp light. One take, no cut, no orbit, no zoom, no external view, no dialogue.
Seedance 2.5 image-to-video figura a $0.1234 por segundo a 480p, por lo que el borrador cuesta $0.617 por cinco segundos. A 720p la tarifa es $0.2773 por segundo, o $1.3865 por el mismo clip, y a 1080p es $0.6823 por segundo ($3.4115). Con o sin audio, la tarifa es la misma. Para un render final con sonido, activa generate_audio y añade "Sound: quiet restaurant ambience, cutlery, low voices; no music or captions." Haz el borrador a 480p para comprobar composición y movimiento a bajo coste; cuando el fotograma y la redacción estén definidos, renderizar a 720p o 1080p añade resolución, no cambia la posición de la cámara. Solicita una cotización nueva para tu tarea real.
Evita "camera circles him", "cinematic reveal", "pull back to show the couple" y "over his shoulder". Cada frase pide otro punto de vista. El sujeto puede mirar hacia una taza sin que la cámara se mueva; describir esa mirada como movimiento de cámara crea un conflicto que luego tendrás que resolver.

Ilustración: un cambio de mirada del sujeto y un movimiento de cámara producen tomas distintas.
Corrige el síntoma visible en vez de añadir sinónimos de POV
| Qué aparece en el resultado | Posible conflicto de instrucciones o referencia | Prueba esta corrección |
|---|---|---|
| Aparece la cabeza o espalda del observador | La fuente o la descripción de la revelación sugieren una cámara externa | Sustituye la fuente por una vista desde los ojos; elimina las indicaciones de revelación y por encima del hombro |
| La mesa se ve desde arriba | La cámara de referencia está demasiado alta | Reconstruye a la altura de los ojos estando sentado; mantén los ojos del hombre cerca de la altura del objetivo |
| La cámara se acerca al rostro | Las indicaciones de primer plano o acercamiento contradicen al observador inmóvil | Elimínalas; conserva el borde de la mesa y el marco de la ventana como anclajes fijos de composición |
| Desaparece el contacto visual pero el encuadre sigue fijo | El personaje cambió la mirada, no el punto de vista | Indica cuándo mira al observador; no regeneres porque una mirada intencional se aparte del eje |
| Entran manos de la persona equivocada | Ambas personas reciben instrucciones ambiguas como "you reach" | Nombra por separado "the man across the table" y "the observer's right hand"; anima primero un solo par de manos |
| Una taza tapa el rostro | El objeto empieza alto o la acción lo eleva hasta la línea de visión | Mantén la taza sobre la mesa; usa un pequeño deslizamiento en vez de elevarla hacia el objetivo |
| Aparece un teléfono, cámara o reflejo del observador | Indicaciones de "Selfie", "vlog" o espejo, o una superficie reflectante en el fotograma | Elimina esas palabras, evita cristales y espejos detrás del sujeto e indica que no aparecen cámaras ni teléfonos en pantalla |
| La mano del observador desaparece tras el primer segundo | El sujeto soltó la mano o quedó fuera de alcance | Mantén el contacto continuo en el prompt ("keeps hold of the observer's hand") o planifica un corte cuando la mano salga |
Cambia la entrada contradictoria antes de probar otro seed; de lo contrario, la siguiente solicitud repetirá la misma ambigüedad espacial.

Ilustración: la altura de los ojos cambia la relación entre espectador, rostro y mesa.
Dale una acción a las manos del observador
Una toma POV se siente habitada cuando actúan las manos del observador. La regla es la misma que para el punto de vista: establece la situación en el primer fotograma y usa el prompt solo para el siguiente movimiento. Si el observador debe sostener una taza, ponla en su mano en el fotograma, con el antebrazo entrando por el borde inferior, y pide un movimiento lento:
From the seated observer's fixed eye position, the observer's right hand lifts the white coffee cup a few centimeters and sets it back on the saucer. The man across the table watches, then smiles. One continuous shot, unchanged camera height and distance, no cuts.
En las entregas de objetos debe quedar claro quién hace cada acción. Empieza por la acción de la otra persona, más fácil de describir espacialmente que un intercambio coordinado. Esto necesita otro primer fotograma: la taza debe comenzar en su lado de la mesa, cerca de sus manos, como en la figura inferior. Edita el fotograma aprobado o reconstrúyelo para mover la taza antes de animarlo. Después usa este prompt:
From the seated observer's fixed eye position, the adult man across the table uses his right hand to slide the white cup a short distance toward the observer, then releases it. The cup stays on the tabletop throughout. The observer's hands remain resting at the near edge and do not touch the cup. The man briefly glances at the cup, then back toward the observer. One continuous shot, unchanged camera height and distance, no cuts.
No pidas al observador que agarre la taza en esta primera prueba: una nueva mano tendría que entrar, hacer contacto y asumir el control mientras la otra suelta. Si la historia requiere ese intercambio, escenifícalo como una segunda acción después de que la taza se detenga, desde un fotograma que ya muestre ambas manos correctamente.

Ilustración: el contacto, deslizamiento y liberación corresponden al hombre de enfrente; las manos del observador siguen separadas.
Cuando la cámara tiene que moverse
Una toma en primera persona puede moverse si el movimiento pertenece al observador. El ejemplo publicado en la página de Seedance 2.5 Spicy image-to-video muestra cómo se ve: el fotograma inicial tiene la mano del observador dentro de la de ella, y el prompt dice que ella cierra la mano alrededor de la del espectador y tira, "breaking into a run and towing the camera after her", con movimiento en primera persona de cámara en mano.
La cámara avanza aproximadamente a la altura de los ojos de una persona con oscilación de cámara en mano; ella se vuelve hacia el objetivo riendo. No hay órbita ni vista aérea. La mano del observador solo aparece al principio; este ejemplo no muestra un agarre continuo. Si el contacto importa para la escena, pide que no suelte la mano y compruébalo durante todo el clip.
Para un POV caminando, prepara un fotograma con un camino claro y pide avanzar por él. Separa las instrucciones de movimiento de la indicación de sonido:
One continuous first-person shot at standing eye height. The observer walks forward along the lit corridor at an easy pace; the camera advances at walking speed with a slight handheld sway and keeps the corridor centered. No one enters the frame from behind and the observer's body stays out of the frame. Sound: footsteps on tile and faint room tone.
No añadas una instrucción de cámara fija a un prompt de caminar: ambas se contradicen. Caminar es otra tarea de cámara, no una versión más intensa de un primer plano sentado. Evita pedir una órbita, un movimiento hacia atrás del sujeto y una interacción de manos en la misma toma.
Para un saludo de pie, cambia todo el montaje: cámara a la altura de los ojos de un adulto de pie en una puerta, otro adulto dos pasos dentro de la habitación, sin silla ni antebrazos de una persona sentada en primer término. Pide al otro adulto que abra ligeramente la puerta y sonría mientras el observador permanece quieto. Reutilizar el fotograma del restaurante con "standing doorway POV" pide al modelo resolver dos espacios incompatibles.
Encadena la siguiente acción desde el último fotograma
Cuando funcione una toma estática, construye la secuencia con tomas cortas. Cada una comienza en un fotograma que ya tiene la posición de cámara correcta, así que el punto de vista se conserva por construcción.
- En Seedance 2.5, establece
return_last_frameentruey la respuesta incluirá el último fotograma del clip como imagen separada. Úsalo como siguienteimage_url. - Si ya tienes el clip, exporta tú mismo el último fotograma:
ffmpeg -sseof -0.2 -i input.mp4 -update 1 -q:v 2 last-frame.png. - Para que la toma termine donde quieres, envía una segunda imagen fija como
last_image_url, siempre junto conimage_url, y describe el puente entre ambas. Prepara las dos con la misma relación de aspecto, porque los encuadres incompatibles pueden distorsionar la composición final. Seedance 2.5 Spicy acepta la misma pareja. Puedes proporcionar la misma imagen en ambos extremos para pedir que regrese a esa composición; comprueba el final renderizado en vez de asumir una coincidencia exacta.
Más largo no significa más seguro. La propia página del modelo aconseja confirmar el movimiento a cinco segundos antes de alargarlo, porque la anatomía y la decoración derivan cuando una toma guiada por imagen dura más; varias tomas cortas montadas mantienen mejor la coherencia que una sola toma de 30 segundos.
Revisa el clip y después recorta o vuelve a renderizar
Si los primeros cuatro segundos mantienen la primera persona y el último retrocede, corta antes del cambio de perspectiva. Si un hombro no deseado permanece en el borde todo el tiempo, recortar solo ayuda si la escena central sigue leyéndose desde la posición del observador. El recorte no puede reconstruir una vista desde los ojos que falta ni corregir la perspectiva de la mesa.
Revisa el archivo original descargado, no la miniatura del reproductor, que puede ocultar un cambio breve de perspectiva. Este comando extrae cuatro imágenes de revisión equidistantes de un clip de cinco segundos:
ffmpeg -i input.mp4 \
-vf "fps=4/5,scale=480:-2,tile=2x2" \
-frames:v 1 pov-review.jpgUsa la hoja de contactos para localizar cambios de encuadre y reproduce después el clip completo para evaluar movimiento y contacto de manos; un defecto breve puede caer entre muestras. Para quitar un final inutilizable, esto exporta solo los primeros cuatro segundos y conserva la pista de audio si existe:
ffmpeg -i input.mp4 -t 4 -map 0:v:0 -map 0:a? \
-c:v libx264 -crf 18 -pix_fmt yuv420p -c:a aac pov-trimmed.mp4Los filtros están documentados en FFmpeg.
Si una escena necesita un contraplano, haz un corte deliberado a otra toma. Una toma desde detrás del observador puede servir a la historia, pero es tercera persona. Mantén la coherencia espacial en la sección en primera persona y después corta al nuevo punto de vista como toma propia. La guía de planificación de planos explica cómo colocar esos cortes en una escena corta.
Elige la vía para tu toma
- Tienes un fotograma aprobado: Seedance 2.5 image-to-video, como arriba. Ancla la composición inicial que construiste; comprueba si el clip la mantiene.
- Solo tienes palabras: text-to-video acepta una descripción en primera persona, pero el modelo decide dónde está la cámara, lo que reduce el control de la composición inicial. Empieza por su posición ("the camera is a person seated at a table") antes de contar lo que ocurre.
- El mismo personaje aparece en varias tomas POV: usa reference-to-video con tus imágenes fijas o sigue el flujo para personajes coherentes.
- La posición fija de los ojos sigue derivando: algunos modelos tienen un parámetro real de bloqueo de cámara; la guía de cámara fija los enumera y explica cómo redactar el bloqueo en modelos sin él.
- Escenas en primera persona para adultos: Seedance 2.5 Spicy es la edición sin censura ajustada con LoRA e incluye los puntos de vista en primera persona entre sus usos. Usa la misma lógica de preparar primero el fotograma, no tiene entradas
aspect_rationireturn_last_framey figura a $0.216 por segundo a 480p, $0.432 a 720p y $1.08 a 1080p. La guía de prompts de vídeo sin censura contiene prompts en primera persona y la guía de imagen a vídeo sin censura cubre la preparación de la imagen fija.
Usa la toma POV aprobada en tu aplicación
Establece SPICY_API_KEY en tu entorno y SPICY_IMAGE_URI en la URL accesible de tu imagen inicial o su URI spicy:// subida. Este ejemplo de Python 3 envía una toma nueva después de que confirmes su precio.
import json
import os
import urllib.request
import uuid
base = "https://api.spicyapi.ai/api/v1"
headers = {"Authorization": "Bearer " + os.environ["SPICY_API_KEY"],
"Content-Type": "application/json", "User-Agent": "SpicyAPI-Blog/1.0"}
settings = {
"duration_seconds": 5,
"resolution": "480p",
"generate_audio": False
}
settings["prompt"] = 'One continuous fixed-camera first-person shot from a seated observer. The man across the table gives one small smile. Keep the camera height, framing, room and clothing unchanged.'
settings["image_url"] = os.environ["SPICY_IMAGE_URI"]
payload = {"model": "bytedance/seedance-2.5/image-to-video", "input": settings}
def post(path, body):
request = urllib.request.Request(base + path, json.dumps(body).encode(), headers)
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
if result.get("code") != 200:
raise RuntimeError(result)
return result["data"]
quote = post("/jobs/quote", payload)
if input(f"Maximum charge ${quote['maxCharge']}. Type yes to generate: ") != "yes":
raise SystemExit("Stopped before generation")
headers["Idempotency-Key"] = str(uuid.uuid4())
print("Request key:", headers["Idempotency-Key"], flush=True)
task = post("/jobs/createTask", {**payload, "quoteId": quote["quoteId"],
"expectedCost": quote["estimatedCost"]})
print("Task ID:", task["taskId"])Guarda la clave de solicitud impresa para recuperar esa misma solicitud; una toma nueva recibe otra clave. La documentación de Task API cubre la entrega de resultados y la recuperación.
Para tomas repetidas, deja que un Agent use un archivo de entrada aprobado: CLI spicyapi tasks create --model bytedance/seedance-2.5/image-to-video --input-file input.json --wait; MCP pídele llamar a spicyapi_task_create con ese modelo y entrada; Skill pide “Use the spicyapi Skill to generate this approved shot and return the result.” CLI y MCP muestran el precio antes de crear. Consulta la documentación de integración de Agent.







