API Seedream 5.0 Lite: Endpoint de Geração de Imagens Mais Rápido
Guia do desenvolvedor para a API Seedream 5.0 Lite - autenticação, endpoints, parâmetros de requisição, exemplos de código em Python e JavaScript, geração em lote, webhooks e melhores práticas.

REST API, autenticação Bearer, geração assíncrona, webhooks, batching nativo de até 50 imagens por requisição. Tudo que está disponível na UI web do Arteza também está na API. Aqui está a referência completa com exemplos funcionais em Python e JavaScript que você pode copiar para produção hoje.
TL;DR
- POST /v1/images/generate - endpoint de imagem única
- POST /v1/images/batch - até 50 imagens por requisição
- ~5-15 segundos de latência média com suporte a async + webhook
- SDKs Python e JavaScript disponíveis (
seedance/@seedance/sdk) - Autenticação por token Bearer - gere chaves em Configurações > API Keys
Visão Geral da API
A API Seedream 5.0 Lite fornece acesso programático ao pipeline de geração de imagens na plataforma Arteza. Tudo na UI web - texto para imagem, pensamento profundo, transferência de estilo, renderização de texto - está na API REST.
A API segue convenções REST com corpos de requisição e resposta em JSON. A geração é assíncrona: envie uma requisição, obtenha um ID de tarefa, depois faça polling ou receba um webhook quando concluído.
Visão geral completa de recursos em nossa guia completo.
Veja a renderização de texto você mesmo
O único modelo de IA que acerta o texto. $0,07 por imagem, 50 créditos grátis.
Experimente Seedream 5.0 Lite GrátisURL Base
https://api.arteza.ai/v1
Características Principais
| Característica | Detalhe |
|---|---|
| Protocolo | HTTPS REST |
| Formato de requisição | JSON |
| Formato de resposta | JSON |
| Autenticação | Token Bearer |
| Modelo de geração | Assíncrono |
| Latência média | 5-15 segundos |
| Suporte a batch | Sim (até 50 por requisição) |
| Suporte a webhook | Sim |
| SDKs | Python, JavaScript |
5 gerações gratuitas · Nenhum cartão de crédito necessário
Autenticação
Autenticação por token Bearer. Gere sua chave API no painel do Arteza em Configurações > API Keys.
Obtendo Sua Chave API
- Inscrever-se ou faça login em sua conta Arteza
- Navegue para Configurações > API Keys
- Clique em Gerar Nova Chave
- Copie e armazene sua chave com segurança (exibida apenas uma vez)
Cabeçalho de Autenticação
Authorization: Bearer YOUR_API_KEY
Testando Autenticação
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.arteza.ai/v1/account/credits
Resposta:
{
"credits_remaining": 1050,
"tier": "starter"
}
Endpoint de Imagem Única
POST /v1/images/generate
Requisição Mínima
{
"model": "seedream-5.0-lite",
"prompt": "A serene mountain landscape at sunrise"
}
Requisição 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"
}
}
Resposta
{
"task_id": "img_abc123def456",
"status": "processing",
"model": "seedream-5.0-lite",
"credits_charged": 7,
"credits_remaining": 1043,
"estimated_time_seconds": 10
}
Parâmetros de Requisição
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
model | string | Sim | - | Identificador do modelo: seedream-5.0-lite |
prompt | string | Sim | - | Descrição textual (máx. 1000 caracteres) |
aspect_ratio | string | Não | 1:1 | Razão de aspecto da saída |
deep_thinking | boolean | Não | false | Ativar modo pensamento profundo |
style | string | Não | auto | Preset de estilo ou descrição |
colors | array | Não | - | Paleta de cores (códigos hex) |
webhook_url | string | Não | - | URL para notificação de conclusão |
metadata | object | Não | - | Metadados customizados (retornados com resultados) |
Razões de Aspecto
| Valor | Resolução | Caso de Uso |
|---|---|---|
1:1 | 1024x1024 | Redes sociais, imagens de produtos |
16:9 | 1360x768 | Miniaturas, apresentações, banners |
9:16 | 768x1360 | Stories, papéis de parede de telefone |
4:3 | 1184x888 | Imagens de blog, cabeçalhos de email |
3:4 | 888x1184 | Pinterest, retratos |
3:2 | 1248x832 | Estilo fotografia |
Presets de Estilo
| Preset | Descrição |
|---|---|
auto | Modelo seleciona o melhor estilo baseado no prompt |
photorealistic | Estilo de fotografia realista |
digital-art | Ilustração digital limpa |
watercolor | Efeito de aquarela |
oil-painting | Pintura a óleo clássica |
anime | Estilo de animação japonesa |
minimalist | Design clean e minimalista |
retro | Estética vintage/retrô |
Formato de Resposta
Fazendo Poll de Resultados
GET /v1/images/{task_id}
Processando:
{
"task_id": "img_abc123def456",
"status": "processing",
"progress": 0.65,
"estimated_time_remaining": 5
}
Concluído:
{
"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"
}
Expiração de URL de Imagem
As URLs de imagem gerada são válidas por 24 horas. Baixe e armazene imagens em seu próprio armazenamento dentro dessa janela.

Quer texto assim de limpo? Experimente Seedream 5.0 Lite gratuitamente →
Exemplo em 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"
}
# Submit generation request
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']}")
# Poll for completion
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)
Exemplo em 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));
}
}
// Usage
const result = await generateImage(
'A cozy coffee shop interior with warm lighting',
{ aspectRatio: '16:9', deepThinking: true }
);
console.log(`Image URL: ${result.image_url}`);
Baixando Imagens Geradas
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 Geração em Batch
Para múltiplas imagens em uma única requisição:
POST /v1/images/batch
Requisição em Batch
{
"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"
}
Resposta em Batch
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_generations": 3,
"total_credits_charged": 21,
"credits_remaining": 1029
}
Consultando Status do Batch
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"
}
]
}
Limites de Batch
| Limite | Valor |
|---|---|
| Máx. de gerações por batch | 50 |
| Máx. de batches simultâneos | 5 |
| Comprimento máximo de prompt | 1000 caracteres |
| Timeout do batch | 5 minutos |
Para fluxos de trabalho em batch, veja nossa guia de geração em massa.
Integração com Webhook
Webhooks eliminam polling. Quando a geração se completa, a API faz POST para sua URL.
Payload do 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"
}
Exemplo de Handler (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', {})
# Download image
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)
# Update your database
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
Segurança do Webhook
Verifique a autenticidade do webhook através do cabeçalho 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 Pensamento Profundo
Controlado pelo parâmetro booleano deep_thinking. Quando ativado, o modelo realiza raciocínio adicional antes da geração.
Quando Ativar
| Cenário | Recomendação |
|---|---|
| Imagens simples com um único assunto | false |
| Cenas complexas com múltiplos elementos | true |
| Imagens com texto | true |
| Layouts espaciais específicos | true |
| Imagem abstrata/conceitual | true |
| Batch de imagens simples | false (máx. taxa de transferência) |
Impacto de Desempenho
| Modo | Tempo Médio de Geração | Melhoria de Qualidade |
|---|---|---|
Padrão (false) | ~5-10 segundos | Baseline |
Pensamento profundo (true) | ~8-15 segundos | Significativo para prompts complexos |
O pensamento profundo adiciona ~3-5 segundos mas não custa créditos adicionais.
Faça batch de até 50 imagens por requisição
Webhooks nativos, geração assíncrona, renderização de texto perfeita. Pegue 50 créditos grátis e sua chave API.
Obtenha Sua Chave APITratamento de Erros
Formato de Resposta de Erro
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits to complete this generation. Required: 7, Available: 3",
"status": 402
}
}
Códigos de Erro
| Código | Status | Descrição | Resolução |
|---|---|---|---|
invalid_api_key | 401 | Chave API inválida ou expirada | Regenere no painel |
insufficient_credits | 402 | Créditos insuficientes | Compre mais em /preços |
invalid_model | 400 | Identificador de modelo não reconhecido | Use seedream-5.0-lite |
invalid_prompt | 400 | Prompt vazio ou muito longo | Verifique comprimento (máx. 1000) |
invalid_aspect_ratio | 400 | Razão de aspecto não suportada | Use valores suportados |
rate_limited | 429 | Muitas requisições | Implemente backoff |
content_policy | 400 | Prompt viola política | Modifique o prompt |
generation_failed | 500 | Erro de geração interna | Tente novamente a requisição |
batch_too_large | 400 | Batch excede 50 itens | Divida em batches menores |
Estratégia de Retry
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) # Exponential backoff
Limites de Taxa e Melhores Práticas
Limites de Taxa por Tier
| Tier | Requisições/Minuto | Simultâneas | Tamanho do Batch |
|---|---|---|---|
| Free | 10 | 2 | 5 |
| Starter | 30 | 5 | 20 |
| Popular | 60 | 10 | 30 |
| Pro | 120 | 20 | 50 |
| Enterprise | 240 | 50 | 50 |
Melhores Práticas
- Use webhooks em vez de polling - mais eficiente
- Faça batch quando possível - uma requisição em batch é melhor que 50 requisições individuais
- Backoff exponencial - trate limites de taxa graciosamente
- Cache de resultados - armazene URLs de imagens e metadados em seu banco de dados
- Baixe prontamente - as URLs de imagem expiram após 24 horas
- Monitore saldo de créditos - verifique
credits_remainingpara evitar interrupções - Use metadados - marque gerações com IDs de projeto para rastreamento
- Trate erros graciosamente - nem toda geração tem sucesso
Instalação 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
});
Padrões Comuns de Integração
Integração com CMS
Gere imagens em destaque automaticamente na criação de post:
@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"])
Imagens de Produtos em E-Commerce
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
Automação de Redes Sociais
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)
A API Seedream 5.0 Lite é o caminho mais rápido de um prompt de texto para uma imagem gerada com suporte completo para pensamento profundo, geração em batch e integração com webhook.
Obtenha sua chave de API → - 50 créditos grátis, gere sua chave em Configurações > API Keys, comece a construir em minutos.
Try Seedream 5.0 Lite - Right Now
5 free generations · No credit card needed