API Seedream 5.0 Lite: Endpoint de Generación de Imágenes más Rápido
Guía para desarrolladores de la API Seedream 5.0 Lite. Autenticación, endpoints, parámetros de solicitud, ejemplos de código en Python y JavaScript, generación en lote, webhooks y mejores prácticas.

API REST, autenticación Bearer, generación asíncrona, webhooks, batches nativos de hasta 50 imágenes por solicitud. Todo lo disponible en la interfaz web de Arteza también está en la API. Aquí está la referencia completa con ejemplos funcionales de Python y JavaScript que puedes copiar a producción hoy.
TL;DR
- POST /v1/images/generate - endpoint de imagen única
- POST /v1/images/batch - hasta 50 imágenes por solicitud
- Latencia promedio de ~5-15 segundos con soporte asíncrono + webhook
- SDKs de Python y JavaScript disponibles (
seedance/@seedance/sdk) - Autenticación por token Bearer - genera claves en Configuración > Claves API
Descripción General de la API
La API de Seedream 5.0 Lite proporciona acceso programático al pipeline de generación de imágenes en la plataforma Arteza. Todo en la interfaz web, texto a imagen, pensamiento profundo, transferencia de estilo, renderizado de texto, está en la API REST.
La API sigue convenciones REST con cuerpos de solicitud y respuesta en JSON. La generación es asíncrona: envía una solicitud, obtén un ID de tarea y luego consulta o recibe un webhook cuando esté completa.
Vista general completa de características en nuestra guía completa.
Ve el renderizado de texto tú mismo
El único modelo de IA que acierta con el texto. $0.07 por imagen, 50 créditos gratis.
Prueba Seedream 5.0 Lite GratisURL Base
https://api.arteza.ai/v1
Características Clave
| Característica | Detalle |
|---|---|
| Protocolo | HTTPS REST |
| Formato de solicitud | JSON |
| Formato de respuesta | JSON |
| Autenticación | Token Bearer |
| Modelo de generación | Asíncrono |
| Latencia promedio | 5-15 segundos |
| Soporte de batch | Sí (hasta 50 por solicitud) |
| Soporte de webhook | Sí |
| SDKs | Python, JavaScript |
5 generaciones gratis · Sin tarjeta de crédito
Autenticación
Autenticación por token Bearer. Genera tu clave API desde el panel de Arteza en Configuración > Claves API.
Obtén tu Clave API
- Registrarse o inicia sesión en tu cuenta de Arteza
- Ve a Configuración > Claves API
- Haz clic en Generar Nueva Clave
- Copia y guarda tu clave de forma segura (se muestra solo una vez)
Encabezado de Autenticación
Authorization: Bearer YOUR_API_KEY
Prueba de Autenticación
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.arteza.ai/v1/account/credits
Respuesta:
{
"credits_remaining": 1050,
"tier": "starter"
}
Endpoint de Imagen Única
POST /v1/images/generate
Solicitud Mínima
{
"model": "seedream-5.0-lite",
"prompt": "A serene mountain landscape at sunrise"
}
Solicitud Completa
{
"model": "seedream-5.0-lite",
"prompt": "Professional YouTube thumbnail with text 'TOP 10 TIPS' in bold red font, excited person on left, bright blue background",
"aspect_ratio": "16:9",
"deep_thinking": true,
"style": "photorealistic",
"webhook_url": "https://your-app.com/webhook/image-complete",
"metadata": {
"project": "youtube-thumbnails",
"batch_id": "thumb-2026-04"
}
}
Respuesta
{
"task_id": "img_abc123def456",
"status": "processing",
"model": "seedream-5.0-lite",
"credits_charged": 7,
"credits_remaining": 1043,
"estimated_time_seconds": 10
}
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
model | string | Sí | - | Identificador del modelo: seedream-5.0-lite |
prompt | string | Sí | - | Descripción de texto (máx. 1000 caracteres) |
aspect_ratio | string | No | 1:1 | Relación de aspecto de salida |
deep_thinking | boolean | No | false | Habilitar modo de pensamiento profundo |
style | string | No | auto | Preset de estilo o descripción |
colors | array | No | - | Paleta de colores (códigos hex) |
webhook_url | string | No | - | URL para notificación de finalización |
metadata | object | No | - | Metadatos personalizados (devueltos con resultados) |
Relaciones de Aspecto
| Valor | Resolución | Caso de Uso |
|---|---|---|
1:1 | 1024x1024 | Redes sociales, imágenes de productos |
16:9 | 1360x768 | Miniaturas, presentaciones, banners |
9:16 | 768x1360 | Historias, fondos de pantalla |
4:3 | 1184x888 | Imágenes de blog, encabezados de email |
3:4 | 888x1184 | Pinterest, retratos |
3:2 | 1248x832 | Estilo fotográfico |
Presets de Estilo
| Preset | Descripción |
|---|---|
auto | El modelo selecciona el mejor estilo según el prompt |
photorealistic | Estilo de fotografía realista |
digital-art | Ilustración digital limpia |
watercolor | Efecto de pintura en acuarela |
oil-painting | Pintura al óleo clásica |
anime | Estilo de animación japonesa |
minimalist | Diseño limpio y minimalista |
retro | Estética vintage/retro |
Formato de Respuesta
Consulta de Resultados
GET /v1/images/{task_id}
En procesamiento:
{
"task_id": "img_abc123def456",
"status": "processing",
"progress": 0.65,
"estimated_time_remaining": 5
}
Completado:
{
"task_id": "img_abc123def456",
"status": "completed",
"image_url": "https://cdn.arteza.ai/generated/img_abc123def456.png",
"image_url_webp": "https://cdn.arteza.ai/generated/img_abc123def456.webp",
"width": 1024,
"height": 1024,
"model": "seedream-5.0-lite",
"deep_thinking_used": true,
"credits_charged": 7,
"metadata": {
"project": "youtube-thumbnails",
"batch_id": "thumb-2026-04"
},
"created_at": "2026-04-10T14:30:00Z"
}
Expiración de URL de Imagen
Las URL de imágenes generadas son válidas durante 24 horas. Descarga y almacena imágenes en tu propio almacenamiento dentro de esta ventana.

¿Quieres texto tan limpio? Prueba Seedream 5.0 Lite gratis →
Ejemplo de Python
import requests
import time
API_KEY = "your_api_key_here"
BASE_URL = "https://api.arteza.ai/v1"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# Envía solicitud de generación
response = requests.post(
f"{BASE_URL}/images/generate",
headers=headers,
json={
"model": "seedream-5.0-lite",
"prompt": "A futuristic city skyline at sunset with flying cars",
"aspect_ratio": "16:9",
"deep_thinking": True
}
)
task = response.json()
task_id = task["task_id"]
print(f"Task submitted: {task_id}")
print(f"Credits charged: {task['credits_charged']}")
print(f"Credits remaining: {task['credits_remaining']}")
# Consulta para finalización
while True:
result = requests.get(
f"{BASE_URL}/images/{task_id}",
headers=headers
).json()
if result["status"] == "completed":
print(f"Image ready: {result['image_url']}")
break
elif result["status"] == "failed":
print(f"Generation failed: {result.get('error', 'Unknown error')}")
break
time.sleep(2)
Ejemplo de JavaScript
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.arteza.ai/v1';
async function generateImage(prompt, options = {}) {
const response = await fetch(`${BASE_URL}/images/generate`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'seedream-5.0-lite',
prompt,
aspect_ratio: options.aspectRatio || '1:1',
deep_thinking: options.deepThinking || false,
...options
})
});
const task = await response.json();
console.log(`Task submitted: ${task.task_id}`);
while (true) {
const result = await fetch(
`${BASE_URL}/images/${task.task_id}`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
).then(r => r.json());
if (result.status === 'completed') {
return result;
}
if (result.status === 'failed') {
throw new Error(result.error || 'Generation failed');
}
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
// Uso
const result = await generateImage(
'A cozy coffee shop interior with warm lighting',
{ aspectRatio: '16:9', deepThinking: true }
);
console.log(`Image URL: ${result.image_url}`);
Descargar Imágenes Generadas
import requests
def download_image(image_url, filename):
response = requests.get(image_url)
with open(filename, 'wb') as f:
f.write(response.content)
print(f"Saved: {filename}")
download_image(result['image_url'], 'output/my_image.png')
Endpoint de Generación por Lotes
Para múltiples imágenes en una solicitud única:
POST /v1/images/batch
Solicitud de Lote
{
"generations": [
{
"prompt": "Minimalist logo design, blue circle with lightning bolt",
"model": "seedream-5.0-lite",
"aspect_ratio": "1:1",
"deep_thinking": true
},
{
"prompt": "Professional headshot background, soft gradient",
"model": "seedream-5.0-lite",
"aspect_ratio": "1:1",
"deep_thinking": false
},
{
"prompt": "YouTube thumbnail with text 'MUST WATCH' in red",
"model": "seedream-5.0-lite",
"aspect_ratio": "16:9",
"deep_thinking": true
}
],
"webhook_url": "https://your-app.com/webhook/batch-complete"
}
Respuesta de Lote
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_generations": 3,
"total_credits_charged": 21,
"credits_remaining": 1029
}
Consulta del Estado del Lote
GET /v1/images/batch/{batch_id}
{
"batch_id": "batch_xyz789",
"status": "completed",
"results": [
{
"index": 0,
"status": "completed",
"task_id": "img_001",
"image_url": "https://cdn.arteza.ai/generated/img_001.png"
},
{
"index": 1,
"status": "completed",
"task_id": "img_002",
"image_url": "https://cdn.arteza.ai/generated/img_002.png"
},
{
"index": 2,
"status": "completed",
"task_id": "img_003",
"image_url": "https://cdn.arteza.ai/generated/img_003.png"
}
]
}
Límites de Lote
| Límite | Valor |
|---|---|
| Generaciones máximas por lote | 50 |
| Lotes simultáneos máximos | 5 |
| Longitud máxima de prompt | 1000 caracteres |
| Tiempo de espera del lote | 5 minutos |
Para flujos de trabajo por lotes, consulta nuestro guía de generación masiva.
Integración de Webhooks
Los webhooks eliminan la consulta. Cuando la generación se completa, la API realiza una solicitud POST a tu URL.
Payload del Webhook
{
"event": "image.completed",
"task_id": "img_abc123def456",
"batch_id": "batch_xyz789",
"status": "completed",
"image_url": "https://cdn.arteza.ai/generated/img_abc123def456.png",
"model": "seedream-5.0-lite",
"credits_charged": 7,
"metadata": {
"project": "youtube-thumbnails"
},
"created_at": "2026-04-10T14:30:00Z"
}
Ejemplo de Manejador (Python/Flask)
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
@app.route('/webhook/image-complete', methods=['POST'])
def handle_image_webhook():
data = request.json
if data['event'] == 'image.completed':
task_id = data['task_id']
image_url = data['image_url']
metadata = data.get('metadata', {})
# Descarga imagen
img_response = requests.get(image_url)
filename = f"images/{metadata.get('project', 'default')}/{task_id}.png"
with open(filename, 'wb') as f:
f.write(img_response.content)
# Actualiza tu base de datos
update_generation_record(task_id, filename)
print(f"Image saved: {filename}")
elif data['event'] == 'image.failed':
print(f"Generation failed: {data.get('error')}")
return jsonify({'status': 'ok'}), 200
Seguridad de Webhook
Verifica la autenticidad del webhook mediante el encabezado X-Seedance-Signature:
import hmac
import hashlib
def verify_webhook(payload, signature, secret):
expected = hmac.new(
secret.encode(),
payload.encode(),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)
Modo de Pensamiento Profundo
Controlado por el parámetro booleano deep_thinking. Cuando está habilitado, el modelo realiza razonamiento adicional antes de la generación.
Cuándo Habilitar
| Escenario | Recomendación |
|---|---|
| Imágenes simples de un solo sujeto | false |
| Escenas complejas con múltiples elementos | true |
| Imágenes con texto | true |
| Diseños espaciales específicos | true |
| Imágenes abstractas/conceptuales | true |
| Lote de imágenes simples | false (máximo rendimiento) |
Impacto de Rendimiento
| Modo | Tiempo Promedio de Generación | Mejora de Calidad |
|---|---|---|
Estándar (false) | ~5-10 segundos | Línea base |
Pensamiento profundo (true) | ~8-15 segundos | Significativa para prompts complejos |
El pensamiento profundo añade ~3-5 segundos pero cuesta cero créditos adicionales.
Procesa hasta 50 imágenes por solicitud
Webhooks nativos, generación asíncrona, renderizado de texto perfecto. Obtén 50 créditos gratis y tu clave API.
Obtén Tu Clave APIManejo de Errores
Formato de Respuesta de Error
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits to complete this generation. Required: 7, Available: 3",
"status": 402
}
}
Códigos de Error
| Código | Estado | Descripción | Resolución |
|---|---|---|---|
invalid_api_key | 401 | Clave API inválida o expirada | Regenera en el panel |
insufficient_credits | 402 | No hay suficientes créditos | Compra más en /precios |
invalid_model | 400 | Identificador de modelo no reconocido | Usa seedream-5.0-lite |
invalid_prompt | 400 | Prompt vacío o demasiado largo | Verifica longitud (máx. 1000) |
invalid_aspect_ratio | 400 | Relación de aspecto no soportada | Usa valores soportados |
rate_limited | 429 | Demasiadas solicitudes | Implementa retroceso |
content_policy | 400 | El prompt viola la política | Modifica el prompt |
generation_failed | 500 | Error interno de generación | Reintentar la solicitud |
batch_too_large | 400 | El lote excede 50 elementos | Divide en lotes más pequeños |
Estrategia de Reintento
import time
def generate_with_retry(prompt, max_retries=3):
for attempt in range(max_retries):
try:
response = requests.post(
f"{BASE_URL}/images/generate",
headers=headers,
json={
"model": "seedream-5.0-lite",
"prompt": prompt
}
)
if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 5))
time.sleep(retry_after)
continue
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
if attempt == max_retries - 1:
raise
time.sleep(2 ** attempt) # Retroceso exponencial
Límites de Velocidad y Mejores Prácticas
Límites de Velocidad por Nivel
| Nivel | Solicitudes/Minuto | Simultáneas | Tamaño de Lote |
|---|---|---|---|
| Gratuito | 10 | 2 | 5 |
| Inicio | 30 | 5 | 20 |
| Popular | 60 | 10 | 30 |
| Pro | 120 | 20 | 50 |
| Empresa | 240 | 50 | 50 |
Mejores Prácticas
- Usa webhooks en lugar de consulta - más eficiente
- Procesa por lotes cuando sea posible - una solicitud de lote vence a 50 solicitudes individuales
- Retroceso exponencial - maneja límites de velocidad con gracia
- Cachea resultados - almacena URL de imágenes y metadatos en tu base de datos
- Descarga rápidamente - las URL de imágenes vencen después de 24 horas
- Monitorea saldo de créditos - verifica
credits_remainingpara evitar interrupciones - Usa metadatos - etiqueta generaciones con IDs de proyecto para seguimiento
- Maneja errores con gracia - no todas las generaciones tienen éxito
Instalación de SDK
Python:
pip install seedance
from seedance import SeedanceClient
client = SeedanceClient(api_key="your_key")
result = client.images.generate(
model="seedream-5.0-lite",
prompt="A beautiful sunset",
deep_thinking=True
)
JavaScript:
npm install @seedance/sdk
import { SeedanceClient } from '@seedance/sdk';
const client = new SeedanceClient({ apiKey: 'your_key' });
const result = await client.images.generate({
model: 'seedream-5.0-lite',
prompt: 'A beautiful sunset',
deepThinking: true
});
Patrones de Integración Comunes
Integración de CMS
Genera imágenes destacadas automáticamente en la creación de publicaciones:
@app.route('/cms/webhook/new-post', methods=['POST'])
def handle_new_post():
post = request.json
result = generate_image(
prompt=f"Blog header image for article about {post['title']}, "
f"professional editorial style, 16:9",
aspect_ratio="16:9",
deep_thinking=True,
metadata={"post_id": post["id"]}
)
update_post_featured_image(post["id"], result["image_url"])
Imágenes de Productos de Comercio Electrónico
def generate_product_images(product):
prompts = [
f"Product photo of {product.name}, white background, studio lighting, 1:1",
f"Lifestyle photo of {product.name} in use, natural setting, 16:9",
f"Product detail close-up of {product.name}, macro photography, 1:1"
]
batch = client.images.batch_generate(
generations=[
{"model": "seedream-5.0-lite", "prompt": p}
for p in prompts
]
)
return batch
Automatización de Redes Sociales
def generate_weekly_social_content(brand, topics):
generations = []
for topic in topics:
generations.append({
"model": "seedream-5.0-lite",
"prompt": f"{brand.style_prefix} {topic}, social media post, 1:1",
"aspect_ratio": "1:1",
"deep_thinking": True,
"metadata": {"topic": topic, "platform": "instagram"}
})
return client.images.batch_generate(generations=generations)
La API de Seedream 5.0 Lite es el camino más rápido de un prompt de texto a una imagen generada con soporte completo para pensamiento profundo, generación por lotes e integración de webhooks.
Obtén tu clave API → - 50 créditos gratis, genera tu clave desde Configuración > Claves API, comienza a construir en minutos.
Try Seedream 5.0 Lite - Right Now
5 free generations · No credit card needed