Saltar al contenido

Documentos para desarrolladores UlazAI

Documentación de Seedance API: generación, estado, 1080p y precios

Seedance 1.5 Pro referencia

Documentos de Seedance API

Para usar el Semilla API, autenticarse con una clave portadora, utilizar POST /seedance/generate/ para crear empleos y realizar encuestas GET /seedance/status/{generation_id}/ hasta que el vídeo esté listo. UlazAI actualmente admite la salida Seedance 1.5 Pro en 480p, 720p y 1080p con duraciones de 4, 8 o 12 segundos.

Puntos finales principales

POST /seedance/upload/

POST /seedance/generate/

GET /seedance/status/{generation_id}/

Capacidades actuales

Texto a vídeo e imagen a vídeo

Hasta 2 imágenes de guía

Audio nativo opcional

consejo

Esta página responde al flujo completo del desarrollador en la primera pantalla: el punto final de generación, el sondeo de estado, el soporte de 1080p, la autenticación de portador y la ruta de precios.

uso /seedance/upload/ solo cuando necesite generación de video guiada por imágenes. Para ejecuciones de solo texto, llame /seedance/generate/ directamente y omita el paso de carga.

La familia de modelos Seedance: 1.5 Pro, 2.0 y 2.5

Seedance es el modelo de texto a video e imagen a video de ByteDance. ByteDance lanzó el primer Seedance en junio de 2025. liberado Semilla 2.0 en febrero de 2026, y desde entonces ha demostrado Semilla 2.5. cada uno La generación lleva la misma idea central aún más lejos: movimiento cinematográfico, seguimiento más fuerte de prompt, escenas de múltiples tomas, referencias de imagen y video, y audio nativo opcional en un solo render. La guía API cubre los soportes actualmente Versiones de Seedance sin necesidad de configurar la propia plataforma de ByteDance.

VersiónPublicado por ByteDancelo que agrega
Seedance 1.5 Pro2025Texto e imagen a vídeo, hasta 2 imágenes guía, audio opcional, 480p/720p/1080p. Cableado a UlazAI hoy.
Seedance 2.0febrero de 2026Entradas multimodales (texto, imagen, vídeo, audio), narración multicámara, cogeneración de audio nativo, clips más largos.
Seedance 2.52026El paso más reciente que ha mostrado ByteDance, tiene como objetivo una generación más rápida y mayores ganancias de calidad y control.

Mismo código, modelo más nuevo

El API público de UlazAI se genera con bytedance/seedance-1.5-pro hoy. La parte importante para los desarrolladores: cuando se habilita una versión más nueva de Seedance aquí, reutiliza el lo mismo autenticación de portador y el lo mismo puntos finales de generación y sondeo a continuación. Su integración no cambia, sólo cambia el identificador del modelo, por lo que puedes construir sobre esta referencia ahora y ascender en la familia más adelante.

ByteDance y ARK: el modelo oficial, una ruta unificada

personas buscando Documentación oficial de ByteDance Seedance o el ARCA Seedance API Normalmente buscamos dos cosas diferentes: el modelo en sí y una forma de llamarlo. Seedance es de ByteDance Modelo propio, publicado a través del Volcano Engine de ByteDance. ARCA plataforma. Esa ruta significa establecer un ARK cuenta, acceso a la región y puntos finales del modelo sin formato.

UlazAI se encuentra frente a eso como una capa API de terceros. obtienes una llave al portador, un alojado subir imagen paso, una billetera de crédito compartida y el pequeño conjunto de puntos finales en esta página: sin ARK incorporación, sin solución regional y sin VPN ni número de teléfono chino para comunicarse con el modelo. Si buscaste específicamente ARK API Carga de imagen de Seedance, el equivalente aquí es una única llamada: POST /seedance/upload/ devuelve una URL permanente a la que ingresas input_urls al generar (consulte el punto final de carga a continuación).

Conceptos ARK asignados a este API

Si ya leyó la documentación ARK de ByteDance, el vocabulario es diferente pero el Los pasos son los mismos. Esta es la traducción directa:

En ByteDance ARK aquí que cambia para ti
Configuración de cuenta, proyecto y punto final de ARK Una clave de portador No hay incorporación de plataforma antes de la primera llamada.
Aloje la imagen de la guía usted mismo, pase una URL pública POST /seedance/upload/ Puede enviar el archivo sin formato; la respuesta le proporciona una URL permanente.
ID del modelo en el cuerpo de la solicitud model campo Misma idea; sólo el identificador cambia entre versiones.
Sondear la tarea hasta que se complete GET /seedance/status/{generation_id}/ Misma forma de sondeo, un punto final.

Imagen a vídeo en dos llamadas

Este es todo el flujo de carga de imágenes. La primera llamada almacena la imagen y devuelve una URL, la segunda llamada usa esa URL como guía visual para el video.

Una imagen fija cargada a la izquierda que alimenta una secuencia de cuadros de video generados a la derecha
# 1. upload the guide image
curl -X POST https://ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -F "[email protected]"

# -> {"url": "https://cdn.ulazai.com/uploads/<id>.jpg"}

# 2. generate, passing that URL back in input_urls
curl -X POST https://ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "slow dolly in, warm evening light",
        "input_urls": ["https://cdn.ulazai.com/uploads/<id>.jpg"],
        "resolution": "1080p"
      }'

Puede pasar hasta dos URL en input_urls. Se leen dos imágenes como inicio y referencia final, que es la forma habitual de mantener la coherencia de un carácter o producto en todo el clip. Para la generación de solo texto, omita por completo la llamada de carga.

Resumen de integración rápida

autenticación Clave al portador API de /dashboard/ -> Teclas API
ID del modelo bytedance/seedance-1.5-pro
Duraciones 4, 8, 12
Resoluciones 480p, 720p, 1080p
Relaciones de aspecto 1:1, 21:9, 4:3, 3:4, 16:9, 9:16
Entradas Solo Prompt, o prompt más hasta 2 URL de imágenes
Flujo de sondeo Crear un trabajo, almacenar generation_id, luego sondear el estado hasta completed

Resumen de puntos finales públicos

Método Punto final Cuando usarlo
PUBLICAR /seedance/upload/ Cargue una imagen primero si desea una guía de imagen a video
PUBLICAR /seedance/generate/ Crear un trabajo de generación Seedance 1.5 Pro
OBTENER /seedance/status/{generation_id}/ Compruebe si el trabajo aún se está procesando, completado o falló

Autenticación

Todas las solicitudes API requieren un token de portador:

Authorization: Bearer YOUR_API_KEY

Obtenga una clave API desde su panel de control en Teclas API. Si aún necesitas créditos, ve a paquetes primero.

PUBLICAR /seedance/upload/

Cargue imágenes de entrada para obtener orientación de imagen a video

Cargue una imagen guía antes de la generación si desea que Seedance ancle la composición, el encuadre de los personajes o la configuración de la escena. La respuesta le proporciona una URL permanente para pasar input_urls.

Solicitar encabezados

Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Parámetros de datos del formulario

archivo * (archivo)

JPG, PNG o WebP, hasta 10 MB.

Respuesta exitosa (200)

{
  "success": true,
  "url": "https://media.ulazai.com/seedance_images/u1_abc123.jpg",
  "filename": "seedance_images/u1_abc123.jpg"
}

Uso de ejemplo (cURL)

curl -X POST https://api.ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"
PUBLICAR /seedance/generate/

Crear una tarea de generación Seedance 1.5 Pro

Envíe la carga útil simplificada a continuación o la explícita model más input formato. Utilice la versión simplificada si solo necesita la ruta pública Seedance con prompt, imágenes de guía opcionales y configuraciones de salida.

Cuerpo de la solicitud (simple)

{
  "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
  "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
  "aspect_ratio": "16:9",
  "resolution": "1080p",
  "duration": "4",
  "fixed_lens": true,
  "generate_audio": false,
  "prompt_directory_optin": true
}

Cuerpo de la solicitud (modelo/estilo de entrada)

{
  "model": "bytedance/seedance-1.5-pro",
  "input": {
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": "8",
    "fixed_lens": true,
    "generate_audio": true
  }
}

Parámetros

prompt * (cadena)

De 3 a 2500 caracteres que describen la escena, el movimiento, el encuadre y la intención del audio.

input_urls (matriz)

Opcional. Hasta 2 URL de imágenes para orientación de imagen a video.

aspect_ratio (cadena)

Uno de: 1:1, 21:9, 4:3, 3:4, 16:9, 9:16.

resolución (cadena)

Uno de: 480p, 720p, 1080p.

duración (cadena)

4, 8 o 12 segundos.

fixed_lens (booleano)

Habilite para obtener una vista de cámara más estable.

generate_audio (booleano)

Habilite la generación de audio sincronizada. Esto aumenta el uso del crédito.

prompt_directory_optin (booleano)

Opcional. Comparta prompt elegibles en el directorio prompt y aplique un descuento cuando sea compatible.

Respuesta exitosa (200)

{
  "success": true,
  "generation_id": "abc12345-1234-1234-1234-123456789012",
  "task_id": "seedance_task_xyz789",
  "credits_used": 40,
  "directory_discount_applied": true,
  "message": "Video generation started. This may take a few minutes."
}
OBTENER /seedance/status/{generation_id}/

Estado de la tarea de encuesta

Sondear este punto final hasta que el trabajo abandone processing. Si tiene éxito, obtendrá la URL del vídeo; en el fracaso debe inspeccionar el error y volver a intentarlo con una carga útil corregida.

Respuesta de procesamiento

{
  "success": true,
  "status": "processing",
  "message": "Video is being generated..."
}

Respuesta exitosa (200)

{
  "success": true,
  "status": "completed",
  "video_url": "https://media.ulazai.com/seedance_outputs/video.mp4"
}

Ejemplos de código: cURL, Python y JavaScript

El flujo completo es enviar → almacenar generation_id → estado de la encuesta. Aquí está la llamada de generación en tres pilas comunes; intercambie su propia clave y prompt.

rizo

curl -X POST https://api.ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4"
  }'

Python (solicitudes)

import time, requests

BASE = "https://api.ulazai.com"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

# 1. Start the job
job = requests.post(f"{BASE}/seedance/generate/", headers=HEADERS, json={
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4",
}).json()
generation_id = job["generation_id"]

# 2. Poll until it leaves "processing"
while True:
    status = requests.get(f"{BASE}/seedance/status/{generation_id}/", headers=HEADERS).json()
    if status.get("status") == "completed":
        print("Video:", status["video_url"])
        break
    if status.get("status") == "failed":
        raise RuntimeError(status)
    time.sleep(8)  # back off; do not hammer generate

JavaScript (buscar)

const BASE = "https://api.ulazai.com";
const HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const job = await fetch(`${BASE}/seedance/generate/`, {
  method: "POST",
  headers: HEADERS,
  body: JSON.stringify({
    prompt: "A cinematic close-up of a chef flipping noodles in slow motion",
    aspect_ratio: "16:9",
    resolution: "1080p",
    duration: "4",
  }),
}).then(r => r.json());

const id = job.generation_id;
let video;
while (!video) {
  const s = await fetch(`${BASE}/seedance/status/${id}/`, { headers: HEADERS }).then(r => r.json());
  if (s.status === "completed") video = s.video_url;
  else if (s.status === "failed") throw new Error(JSON.stringify(s));
  else await new Promise(r => setTimeout(r, 8000));  // poll every ~8s
}
console.log("Video:", video);

Flujo de uso

  1. Cargue una o dos imágenes de guía con /seedance/upload/ solo si necesita guía de imagen a video.
  2. llamar /seedance/generate/ con su prompt, configuraciones de salida y opciones input_urls.
  3. Guarde lo devuelto generation_id.
  4. Encuesta /seedance/status/{generation_id}/ hasta status se convierte completed.
  5. Utilice el devuelto video_url para descargar, incrustar o pasar el recurso final a su propio flujo de trabajo.

Códigos de error

400 Parámetros de solicitud no válidos

401 Error de autenticación (clave API faltante o no válida)

402 Créditos insuficientes

429 Límite de tarifa excedido

500 Error interno del servidor

Límites de precios y tarifas

La facturación de Seedance en UlazAI se ejecuta con créditos, por lo que el costo aumenta con la resolución y la duración en lugar de una tarifa fija por segundo. Utilice esto como guía de planificación; El costo del crédito en vivo se muestra en paquetes y en el momento de la solicitud.

SalidaUso típicoImpulsor de costos
480pBorradores e iteraciones rápidas.Créditos más bajos por segundo
720pClips listos para redes socialesCréditos medios por segundo
1080pEntrega finalCréditos más altos por segundo; las duraciones más largas cuestan más

Límites de tarifas y manejo del 429: Si envía muchos trabajos en paralelo, puede recibir 429 Rate limit exceeded. Trate el API como basado en trabajos: envíe, almacene el generation_idy encuesta /seedance/status/{generation_id}/ cada 5-10 segundos en lugar de generar martillazos. en un 429, retroceda exponencialmente (por ejemplo, 2, 4, 8) antes de volver a intentarlo.

Seedance 1.5 Pro frente a Seedance 2.0: esta referencia cubre bytedance/seedance-1.5-pro, el modelo actualmente conectado a Video Studio. Desde entonces, ByteDance ha introducido Seedance 2.0 como la próxima generación; cuando está habilitado aquí, utiliza el mismo flujo de generación y sondeo y la misma autenticación, por lo que el código de integración no cambia, solo el identificador del modelo.

Preguntas frecuentes

¿El UlazAI Seedance API es compatible con Seedance 2.0 y 2.5?

El API genera con bytedance/seedance-1.5-pro hoy. ByteDance lanzó Seedance 2.0 en febrero de 2026 y desde entonces ha mostrado 2.5. Cuando se habilita una versión más nueva aquí, utiliza la misma autenticación de portador y los mismos puntos finales de generación y sondeo, por lo que su código de integración no cambia, solo el identificador del modelo.

¿Cómo se relaciona UlazAI con el Seedance / ARK API oficial de ByteDance?

Seedance es el modelo propio de ByteDance, ofrecido a través de la plataforma Volcano Engine ARK de ByteDance. UlazAI es una capa API de terceros que ejecuta Seedance detrás de una ruta simplificada con una única clave de portador, carga de imágenes alojadas y una billetera de crédito compartida: sin cuenta ARK ni puntos finales de modelo sin procesar que administrar.

¿Cómo subo una imagen para la conversión de imagen a vídeo de Seedance?

Envíe la imagen como datos multiparte/formulario a POST /seedance/upload/ con su clave de Portador. La respuesta devuelve una URL permanente; pasarlo (hasta dos) en el input_urls matriz en POST /seedance/generate/. Los prompt de solo texto omiten el paso de carga.

¿Cuánto cuesta el Seedance API?

La facturación se basa en créditos, por lo que el costo aumenta con la resolución y la duración. Un borrador corto de 480p cuesta la menor cantidad de créditos; un renderizado de 12 segundos a 1080p con audio es el que más cuesta. El costo exacto se muestra en paquetes y otra vez como credits_used en la respuesta de generación.

¿Seedance está disponible en todo el mundo a través del API?

Sí. Usted llama a los puntos finales HTTPS alojados de UlazAI con una clave de portador, por lo que no se necesita VPN, solución alternativa regional ni número de teléfono chino. Cualquier servidor que pueda realizar una solicitud HTTPS autenticada puede enviar trabajos y sondear los resultados.

Adónde ir a continuación