Michael Johnson2026-07-16

Cómo convertí una foto de producto en 10 anuncios UGC con Seedream 5.0 Pro + Seedance 2.0

Convierte una foto de producto en 10 anuncios UGC nativos por unos 25 $. Flujo paso a paso de la API de Seedream 5.0 Pro + Seedance 2.0 con Python y cURL ejecutables.

Cómo convertí una foto de producto en 10 anuncios UGC con Seedream 5.0 Pro + Seedance 2.0

Tenía una sola foto de producto — una botella de sérum negra mate sobre un fondo blanco liso — y necesitaba diez anuncios UGC que detuvieran el desplazamiento para una prueba en TikTok antes de que terminara la semana. Grabar con diez creadores habría costado entre 1.500 y 3.000 dólares y habría tardado aproximadamente una semana. Lo hice en una tarde por unos $25 en llamadas a la API, y cada clip mantuvo exactamente la misma botella en pantalla.

El flujo combina dos modelos de ByteDance: Seedream 5.0 Pro convierte la foto del producto en una imagen principal pulida y, después, Seedance 2.0 anima esa imagen para crear un vídeo con audio nativo. Escribo este artículo porque casi todas las guías de «Seedance UGC» que encontré pasan por un entorno de pruebas web y terminan ahí; ninguna muestra la parte que realmente permite escalar: la cadena de API de dos modelos, en código, que genera diez variaciones a partir de una sola foto. Todo lo que aparece a continuación funciona con GPTProto, que aloja ambos modelos con una sola clave y un único saldo, para que no tengas que gestionar dos proveedores a mitad del flujo.

Tabla de contenido

Por qué usar dos modelos en lugar de uno

Seedance 2.0 puede generar vídeo directamente a partir de texto, así que ¿por qué crear primero una imagen? Porque el rendimiento de un anuncio depende de la precisión del producto, y un prompt de texto no puede reproducir de forma fiable tu botella, etiqueta y envase reales. La solución es fijar primero el producto real en una imagen estática y después animar exactamente esa imagen.

Seedream 5.0 Pro es la parte de imagen. Es un modelo de texto a imagen y edición de imágenes que planifica la composición antes de renderizarla, escribe texto sobre la imagen en 14 idiomas con formas de letras correctas y acepta hasta 10 imágenes de referencia para tratar tu envase real como fuente de verdad. Seedance 2.0 es la parte de vídeo: el modelo de ByteDance que convierte texto, imágenes y referencias en vídeo y genera audio sincronizado en la misma pasada, en lugar de añadir una voz en off después (la arquitectura y la afirmación sobre el audio nativo aparecen en el artículo de arXiv). Solo el modo de referencia a vídeo de Seedance 2.0 permite entregarle la imagen de Seedream y decirle: «mantén este producto y crea una escena a su alrededor».

Una foto de entrada, diez vídeos de salida y el producto consistente en todos ellos. Esa es toda la idea.

La cadena de dos modelos: Seedream 5.0 Pro crea la imagen estática y Seedance 2.0 la anima.

El cálculo de costes que determina si merece la pena

Primero comparé las cifras, porque este es el dato que realmente justifica crear el flujo.

$1,500–3,000
Diez anuncios verticales terminados de 15 segundosEste flujo de trabajo (API)Diez vídeos de creadores humanos
Imagen principal$0.081 (una imagen estática Seedream 2K, reutilizada)incluida por sesión
10 vídeos~$24.95 (10 × 720p, Seedance de 15 s)
Total para 10 anuncios≈ $25
Derechos de uso en anuncios de pagoincluidos+25–30 %
Tiempo de producciónuna tarde~una semana

Eso equivale a $2.58 por anuncio terminado de 15 segundos. Los precios proceden de las páginas de GPT Proto para Seedream 5.0 Pro y Seedance 2.0 (un 10 % por debajo de la tarifa de ByteDance); el rango para creadores humanos procede de encuestas de tarifas UGC de 2026. Mi conclusión —y esto es una valoración, no una afirmación medida— es que el dinero ni siquiera es la principal ventaja. La verdadera ganancia es que crear variaciones pasa a ser gratis: ejecutas una foto de producto con diez prompts y obtienes diez enfoques para probar mediante A/B en lugar de uno.

Lo que necesitas

Una cuenta de GPT Proto con una clave de API, Python 3 con requests, una foto de producto alojada en una URL pública y unos 30 dólares de saldo para ejecutar un par de veces el lote completo de diez anuncios. Obtén la clave en tu panel —tiene un aspecto similar a sk-...— y pégala como valor sin modificar del encabezado Authorization, exactamente como muestran los documentos, sin el prefijo Bearer.

Paso 1 — Convierte la foto del producto en una imagen principal

Ambos modelos son asíncronos: envías un trabajo mediante POST, recibes un id de predicción y después consultas GET /api/v3/predictions/{id}/result hasta que status sea succeeded. Este es un pequeño sistema de consulta que reutilizaremos en ambos pasos.

import requests, json, time

API_KEY = "sk-xxxxx"                     # paste your key directly, no "Bearer"
HEADERS = {"Authorization": API_KEY, "Content-Type": "application/json"}
BASE = "https://gptproto.com/api/v3"

def submit(path, payload):
    r = requests.post(f"{BASE}/{path}", headers=HEADERS, data=json.dumps(payload))
    r.raise_for_status()
    return r.json()["data"]["id"]

def wait(pred_id, every=5, timeout=600):
    deadline = time.time() + timeout
    while time.time() < deadline:
        r = requests.get(f"{BASE}/predictions/{pred_id}/result", headers=HEADERS)
        data = r.json()["data"]
        if data["status"] == "succeeded":
            return data["outputs"][0]
        if data["status"] in ("failed", "expired"):
            raise RuntimeError(f"job {data['status']}: {data.get('error')}")
        time.sleep(every)
    raise TimeoutError("polling timed out")

Ahora toma la única foto del producto y colócala en una escena con la tarea image-edit. Escríbelo como un briefing de diseño, no como un pie de foto: coloca primero las reglas de composición y deja los adjetivos de estilo para el final; menciona directamente la iluminación, porque ahí reside el realismo de Seedream. Limítalo a unas 30–80 palabras y usa un tamaño vertical 2K para que la imagen coincida con un fotograma de vídeo 9:16.

product_photo = "https://your-cdn.com/serum-bottle.png"   # the one photo you start with

edit_prompt = (
    "Place this matte-black serum bottle on a wet bathroom counter, "
    "soft window light from the left, water droplets on the glass, "
    "shallow depth of field, photoreal product photography, keep the label exactly as shown"
)

img_id = submit(
    "bytedance/dola-seedream-5-0-pro-260628/image-edit",
    {"prompt": edit_prompt, "images": [product_photo], "size": "1600*2848"},
)
hero_image_url = wait(img_id)["url"]   # feed this into Seedance next
print(hero_image_url)

La misma llamada en cURL, por si primero la estás probando desde el terminal:

curl --location 'https://gptproto.com/api/v3/bytedance/dola-seedream-5-0-pro-260628/image-edit' \
  --header 'Authorization: sk-xxxxx' \
  --header 'Content-Type: application/json' \
  --data '{"prompt":"Place this matte-black serum bottle...","images":["https://your-cdn.com/serum-bottle.png"],"size":"1600*2848"}'

Observa que el formato de size usa un asterisco (1600*2848), no una x. Una imagen 2K cuesta 0,081 dólares; la misma toma en 1K (832*1248) baja a 0,0405 dólares para pruebas de conceptos desechables. La primera imagen de referencia es gratuita; las referencias adicionales cuestan 0,0027 dólares cada una, hasta 10.


Paso 1: la misma botella, trasladada de una toma de estudio sencilla a una escena lista para UGC.

Paso 2 — Escribe el prompt UGC (aquí es donde fallan la mayoría de los anuncios)

Un prompt publicitario para Seedance es un briefing de planos, no una descripción, porque el modelo crea la imagen y el sonido en una sola pasada. Estructúralo en cuatro capas: sujeto y escena, gancho durante los primeros 0–3 segundos, momento del producto entre los segundos 4–10 y un fotograma final limpio. Pon las frases habladas entre comillas dobles y mantenlas cortas; los monólogos largos pierden sincronización labial.

La trampa que casi todo el mundo encuentra es pulir demasiado el resultado. El instinto es pedir iluminación cinematográfica y un movimiento de cámara dramático, pero en un feed UGC eso parece falso. Un clip creíble debería parecer grabado por una persona real en su baño con un móvil: ligeramente grabado a mano, con luz natural de ventana y sin brillo de estudio. Tampoco mezcles dos ideas en un mismo prompt: un formato por generación.


Las cuatro capas que necesita todo prompt UGC de Seedance 2.0.

Paso 3 — Anima la imagen principal con Seedance 2.0

Este es el paso que omiten las guías del entorno de pruebas. Usa reference-to-video y pasa la URL de Seedream en images: así mantienes el producto exacto en pantalla. Haz coincidir duration con el ritmo que escribiste en el prompt, establece 9:16 para TikTok y Reels y deja activado generate_audio para que el diálogo se renderice de forma nativa.

video_prompt = (
    "UGC-style phone video, vertical, a woman in her late twenties in a bright bathroom "
    "holding the serum bottle to camera with easy creator energy, slightly handheld, "
    "natural window light. She says: \"Okay this one actually cleared my skin in a week.\" "
    "Cut to a macro close-up of the dropper. Ends on the bottle held up, label facing camera."
)

vid_id = submit(
    "bytedance/dreamina-seedance-2-0-260128/reference-to-video",
    {
        "prompt": video_prompt,
        "images": [hero_image_url],   # product consistency comes from here
        "aspect_ratio": "9:16",
        "duration": 15,
        "resolution": "720p",
        "generate_audio": True,
        "seed": -1,
    },
)
print(wait(vid_id, every=10)["url"])   # video takes longer -- poll less often
curl --location 'https://gptproto.com/api/v3/bytedance/dreamina-seedance-2-0-260128/reference-to-video' \
  --header 'Authorization: sk-xxxxx' \
  --header 'Content-Type: application/json' \
  --data '{"prompt":"UGC-style phone video...","images":["HERO_IMAGE_URL"],"aspect_ratio":"9:16","duration":15,"resolution":"720p","generate_audio":true}'

Si prefieres animar un único fotograma inicial sin el sistema completo de referencias, image-to-video utiliza un solo campo image en lugar del array images y funciona igual en todo lo demás.

Paso 4 — Crea las diez variaciones por lotes

Esta es la ventaja de hacerlo con código: diez enfoques requieren el mismo esfuerzo que uno. Repite la llamada de vídeo con diez prompts diferentes usando la misma imagen principal, envíalos todos y después recopila las URL.

angles = [
    "...opens on a splash of water, energetic hook, 'wait for it'...",
    "...opens mid-sentence, skeptical creator tone, 'I did not expect this'...",
    "...opens on the product already in hand, calm morning-routine demo...",
    "...street-style, walking and talking, quick to-camera line...",
    "...close friend recommendation, sitting on the bathroom floor...",
    # ...ten total, one format each
]

jobs = [
    submit("bytedance/dreamina-seedance-2-0-260128/reference-to-video",
           {"prompt": p, "images": [hero_image_url], "aspect_ratio": "9:16",
            "duration": 15, "resolution": "720p", "generate_audio": True})
    for p in angles
]
clips = [wait(j, every=10)["url"] for j in jobs]
for i, url in enumerate(clips, 1):
    print(f"ad {i}: {url}")

 


Una imagen principal y diez enfoques publicitarios: el lote del paso 4.

Especificaciones y precios de salida de Seedance 2.0

ResoluciónRelación de aspectoDuraciónPrecio por ejecución
480p16:94 s$0.3094
720p16:915 s$2.4948
1080p16:915 s$6.1746
4K16:915 s$12.83

Las resoluciones disponibles son 480p, 720p, 1080p y 4K; las duraciones, de 4 a 15 segundos, en seis relaciones de aspecto (9:16, 1:1, 16:9, 4:3, 3:4 y 21:9). A 720p, 16:9 se renderiza a 1280×720 y 1080p a 1920×1088. Para redes sociales de pago, elegiría 720p en 9:16: es el punto ideal por coste y la compresión del feed elimina gran parte de la diferencia de 1080p. Las tablas completas están en la página del modelo Seedance 2.0 y en la página del modelo.

Los errores que realmente causan problemas

La discrepancia de duración es la más silenciosa: si tu prompt está pensado para 15 segundos pero dejas duration en el valor predeterminado de 5, el modelo acelera o recorta la escena. Haz que coincidan. Un 503 de la API es un rechazo por la política de contenido (se devuelve como 400): reformula y vuelve a enviarlo en lugar de reintentarlo a ciegas. Un 403 suele indicar saldo insuficiente, no una clave incorrecta. Y si un clip parece un anuncio de lujo, eso no es una victoria para una ubicación UGC: rebaja el prompt hacia «grabado con un móvil».

Antes de publicar

Considera cada resultado como un borrador de anuncio, no como una pieza terminada. Revisa las afirmaciones sobre el producto, los derechos de imagen de la foto que subiste, la política publicitaria de la plataforma y las normas de divulgación de IA aplicables en tu mercado antes de invertir en un clip. La IA elimina el coste de producción, no la responsabilidad por lo que dice el anuncio.

 


Cada imagen de esta publicación —la portada y las cuatro ilustraciones— se generó con Seedream 5.0 Pro por unos 0,24 dólares en total. El mismo flujo y la misma clave.

Creative Studio

Genera imágenes, videos y más con APIs de producción.

Comenzar a crear
Creative Studio
Modelos relacionados
Todos los modelos
Bytedance
10% OFF
Bytedance
10% UP
Claude
20% OFF
Google
40% OFF

Preguntas frecuentes

¿Cuánto cuesta un anuncio UGC de IA?

Unos 2,58 $ por clip terminado de 15 segundos: una imagen principal 2K (0,081 $, reutilizada en todo el lote) más un vídeo de 15 segundos en 720p (unos 2,49 $). Diez anuncios cuestan cerca de 25 $, frente a entre 1.500 y 3.000 $ por diez vídeos de creadores humanos de nivel medio.

¿Hay un nivel gratuito?

No, funciona según el uso, pero una imagen conceptual 1K cuesta 0,0405 $ y un clip de prueba de 4 segundos en 480p cuesta 0,31 $, por lo que iterar es barato.

¿Puedo usar mi propia foto de producto?

Sí; ese es precisamente el punto de partida. Pásala en el array images de image-edit de Seedream para crear una imagen principal precisa y después entrega esa imagen a images de Seedance (reference-to-video) para mantener el producto real en pantalla en todas las variaciones.

¿Cuál es la diferencia entre las dos API?

Seedream 5.0 Pro genera y edita imágenes; Seedance 2.0 las convierte en vídeo con audio nativo. Una sola clave de GPTProto permite llamar a ambos. Consulta los precios para ver la tabla completa de tarifas.

Artículos relacionados

Más blogs
Guía de prompts de Seedream 5.0 Pro: deja de pedir ediciones como si fueran imágenes nuevas

Guía de prompts de Seedream 5.0 Pro: deja de pedir ediciones como si fueran imágenes nuevas

A Seedream 5.0 Pro prompt should do one of two jobs. It should either describe the entire image you want to generate, or identify the exact change you want to make to an existing image. Mixing those jobs is why a simple background edit can unexpectedly change the face, lighting, or product shape. The practical rule is short: describe the whole frame for generation; describe the target, change, and protected details for editing. The 17 copy-ready prompts below apply that rule to realistic portraits, product photography, retouching, background replacement, multilingual posters, and multi-reference work.

Tiffany Layne | 2026-07-24

¿Ya salió Seedance 2.5? Fecha de lanzamiento y lo que realmente sabemos (2026)

¿Ya salió Seedance 2.5? Fecha de lanzamiento y lo que realmente sabemos (2026)

He actualizado la página de Seed de ByteDance más veces de las que me gustaría admitir esta semana, esperando que aparezca Seedance 2.5. Hasta ahora, nada. Ni página del modelo, ni hoja de especificaciones, ni fecha. Ese vacío es precisamente la razón por la que existe este artículo: ahora mismo circulan muchos textos llenos de confianza sobre Seedance 2.5, y la mayoría presenta suposiciones como hechos. Quiero separar ambas cosas claramente y después mostrarte lo que realmente puedes ejecutar hoy.

Tiffany Layne | 2026-06-23

Cómo usar Kling 3.0 Motion Control: guía para desarrolladores (Web + API)

Cómo usar Kling 3.0 Motion Control: guía para desarrolladores (Web + API)

Kling 3.0 Motion Control animates a static character image with the movement from a reference video. You give it two inputs — a picture of your character and a video of someone moving — and it returns a new clip where your character performs that exact choreography while keeping their own face, outfit, and look. This is motion transfer, not text-to-motion. Instead of describing an action in a prompt and hoping the model interprets it, you show it the action frame by frame. That makes it far more reliable for repeatable character animation, dance, and gesture work. This guide covers both paths: the Kling web app for one-off clips, and the GPTProto API for wiring Motion Control into a pipeline. We'll cover inputs and limits, the `pro` vs `std` tiers, prompt technique, full runnable code, pricing, and the failure modes worth knowing before you spend credits.

Michael Johnson | 2026-06-30

Cómo crear una influencer generada por IA con una API (y cuánto cuesta realmente mantenerla)

Cómo crear una influencer generada por IA con una API (y cuánto cuesta realmente mantenerla)

El primer intento de influencer de IA de la mayoría de las personas falla en la segunda imagen. El primer renderizado se ve genial — un rostro creíble, una iluminación decente. Luego generan la publicación número dos y los pómulos han cambiado de lugar, la nariz es más ancha y los ojos tienen otro color. Es otra persona. La publicación número tres es una tercera persona. Lo que tienen no es una influencer, sino una carpeta de desconocidas que casualmente comparten el color de pelo. Las herramientas sin código que aparecen en los primeros resultados de esta búsqueda ocultan el problema tras un botón. Sube una foto, haz clic en generar y obtén un resultado. Está bien hasta que quieres escalar, cambiar el estilo o ejecutar cien publicaciones siguiendo un calendario — momento en el que quedas atado a un modelo, un estilo y una suscripción que normalmente cuesta entre 19 y 99 dólares al mes, tanto si generas 5 imágenes como si generas 500. Esta guía toma el otro camino: la API. Requiere más configuración que hacer clic en un botón de SaaS — escribirás unas líneas de código y gestionarás una clave de API. A cambio, controlas qué modelo renderiza cada toma, pagas por imagen en lugar de por mes y puedes automatizar todo el flujo. Al final tendrás una identidad fijada, un lote de publicaciones coherentes, un reel vertical opcional y — la parte que todas las demás guías omiten — el coste real por publicación. Para entender por qué alguien se tomaría la molestia: Aitana L&oacute;pez, el modelo de IA creado por la agencia barcelonesa The Clueless, gana hasta &euro;10.000 al mes y alrededor de &euro;3.000 de media, según sus creadores tal como fue informado por Euronews . Quédate con esa cifra. Volveremos a ella cuando sepamos cuánto cuesta realmente la producción, porque la diferencia entre esas dos cantidades es todo el negocio.

Schuyler Stacy | 2026-06-17