Seedream 5.0 Lite API: l'endpoint di generazione immagini più veloce
Guida per sviluppatori alle API di Seedream 5.0 Lite: autenticazione, endpoint, parametri delle richieste, esempi di codice in Python e JavaScript, generazione batch, webhook e best practice.

REST API, autenticazione Bearer, generazione asincrona, webhook, batching nativo fino a 50 immagini per richiesta. Tutto ciò che è disponibile nell'interfaccia web di Arteza è presente anche nell'API. Ecco la documentazione completa con esempi funzionanti in Python e JavaScript pronti per essere copiati in produzione oggi stesso.
TL;DR
- POST /v1/images/generate - endpoint per immagine singola
- POST /v1/images/batch - fino a 50 immagini per richiesta
- Latenza media di circa 5-15 secondi con supporto async e webhook
- SDK Python e JavaScript disponibili (
seedance/@seedance/sdk) - Autenticazione Bearer token - genera le chiavi in Impostazioni > Chiavi API
Panoramica dell'API
L'API di Seedream 5.0 Lite fornisce accesso programmatico alla pipeline di generazione immagini sulla piattaforma Arteza. Tutto ciò che è presente nell'interfaccia web, ovvero testo in immagine, deep thinking, trasferimento di stile e rendering del testo, è disponibile nell'API REST.
L'API segue le convenzioni REST con corpo delle richieste e risposte in JSON. La generazione è asincrona: si invia una richiesta, si riceve un ID attività, quindi si esegue il polling oppure si riceve un webhook al completamento.
Panoramica completa delle funzionalità nella nostra guida completa.
Guarda il rendering del testo con i tuoi occhi
L'unico modello AI che riproduce il testo correttamente. $0.10 per immagine, crediti gratuiti.
Prova Seedream 5.0 Lite gratisURL di base
https://api.arteza.ai/v1
Caratteristiche principali
| Caratteristica | Dettaglio |
|---|---|
| Protocollo | HTTPS REST |
| Formato richiesta | JSON |
| Formato risposta | JSON |
| Autenticazione | Bearer token |
| Modello di generazione | Asincrono |
| Latenza media | 5-15 secondi |
| Supporto batch | Sì (fino a 50 per richiesta) |
| Supporto webhook | Sì |
| SDK | Python, JavaScript |
5 generazioni gratuite · Nessuna carta di credito richiesta
Autenticazione
Autenticazione tramite Bearer token. Genera la tua chiave API dalla dashboard di Arteza sotto Impostazioni > Chiavi API.
Ottenere la chiave API
- Registrati o accedi al tuo account Arteza
- Vai su Impostazioni > Chiavi API
- Clicca su Genera nuova chiave
- Copia e conserva in modo sicuro la tua chiave (mostrata una sola volta)
Intestazione di autenticazione
Authorization: Bearer YOUR_API_KEY
Testare l'autenticazione
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.arteza.ai/v1/account/credits
Risposta:
{
"credits_remaining": 1050,
"tier": "starter"
}
Endpoint per immagine singola
POST /v1/images/generate
Richiesta minima
{
"model": "seedream-5.0-lite",
"prompt": "A serene mountain landscape at sunrise"
}
Richiesta 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"
}
}
Risposta
{
"task_id": "img_abc123def456",
"status": "processing",
"model": "seedream-5.0-lite",
"credits_charged": 7,
"credits_remaining": 1043,
"estimated_time_seconds": 10
}
Parametri della richiesta
| Parametro | Tipo | Obbligatorio | Default | Descrizione |
|---|---|---|---|---|
model | stringa | Sì | - | Identificatore del modello: seedream-5.0-lite |
prompt | stringa | Sì | - | Descrizione testuale (max 1000 caratteri) |
aspect_ratio | stringa | No | 1:1 | Proporzioni dell'immagine di output |
deep_thinking | booleano | No | false | Abilita la modalità deep thinking |
style | stringa | No | auto | Preset o descrizione dello stile |
colors | array | No | - | Palette di colori (codici hex) |
webhook_url | stringa | No | - | URL per la notifica di completamento |
metadata | oggetto | No | - | Metadati personalizzati (restituiti con i risultati) |
Proporzioni immagine
| Valore | Risoluzione | Caso d'uso |
|---|---|---|
1:1 | 1024x1024 | Social media, immagini di prodotti |
16:9 | 1360x768 | Miniature, presentazioni, banner |
9:16 | 768x1360 | Stories, sfondi per smartphone |
4:3 | 1184x888 | Immagini per blog, intestazioni email |
3:4 | 888x1184 | Pinterest, ritratti |
3:2 | 1248x832 | Stile fotografico |
Preset di stile
| Preset | Descrizione |
|---|---|
auto | Il modello seleziona lo stile migliore in base al prompt |
photorealistic | Stile fotografico realistico |
digital-art | Illustrazione digitale pulita |
watercolor | Effetto acquerello |
oil-painting | Pittura a olio classica |
anime | Stile animazione giapponese |
minimalist | Design pulito e minimalista |
retro | Estetica vintage/retrò |
Formato della risposta
Polling dei risultati
GET /v1/images/{task_id}
In elaborazione:
{
"task_id": "img_abc123def456",
"status": "processing",
"progress": 0.65,
"estimated_time_remaining": 5
}
Completato:
{
"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"
}
Scadenza degli URL delle immagini
Gli URL delle immagini generate sono validi per 24 ore. Scarica e salva le immagini nel tuo storage entro questa finestra temporale.

Vuoi un testo così nitido? Prova Seedream 5.0 Lite gratis →
Esempio 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"
}
# Invia la richiesta di generazione
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 inviato: {task_id}")
print(f"Crediti addebitati: {task['credits_charged']}")
print(f"Crediti rimanenti: {task['credits_remaining']}")
# Polling per il completamento
while True:
result = requests.get(
f"{BASE_URL}/images/{task_id}",
headers=headers
).json()
if result["status"] == "completed":
print(f"Immagine pronta: {result['image_url']}")
break
elif result["status"] == "failed":
print(f"Generazione fallita: {result.get('error', 'Errore sconosciuto')}")
break
time.sleep(2)
Esempio 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 inviato: ${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 || 'Generazione fallita');
}
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
// Utilizzo
const result = await generateImage(
'A cozy coffee shop interior with warm lighting',
{ aspectRatio: '16:9', deepThinking: true }
);
console.log(`URL immagine: ${result.image_url}`);
Scaricare le immagini generate
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"Salvato: {filename}")
download_image(result['image_url'], 'output/my_image.png')
Endpoint per generazione batch
Per più immagini in una singola richiesta:
POST /v1/images/batch
Richiesta 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"
}
Risposta batch
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_generations": 3,
"total_credits_charged": 21,
"credits_remaining": 1029
}
Polling dello stato del 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"
}
]
}
Limiti del batch
| Limite | Valore |
|---|---|
| Generazioni massime per batch | 50 |
| Batch concorrenti massimi | 5 |
| Lunghezza massima del prompt | 1000 caratteri |
| Timeout del batch | 5 minuti |
Per i flussi di lavoro batch, consulta la nostra guida alla generazione in blocco.
Integrazione webhook
I webhook eliminano il polling. Quando la generazione è completata, l'API invia una richiesta POST al tuo 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"
}
Esempio di 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', {})
# Scarica l'immagine
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)
# Aggiorna il tuo database
update_generation_record(task_id, filename)
print(f"Immagine salvata: {filename}")
elif data['event'] == 'image.failed':
print(f"Generazione fallita: {data.get('error')}")
return jsonify({'status': 'ok'}), 200
Sicurezza del webhook
Verifica l'autenticità del webhook tramite l'intestazione 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)
Modalità deep thinking
Controllata dal parametro booleano deep_thinking. Quando abilitata, il modello esegue un ragionamento aggiuntivo prima della generazione.
Quando abilitarla
| Scenario | Raccomandazione |
|---|---|
| Immagini semplici con un solo soggetto | false |
| Scene complesse con più elementi | true |
| Immagini con testo | true |
| Layout spaziali specifici | true |
| Immagini astratte o concettuali | true |
| Batch di immagini semplici | false (throughput massimo) |
Impatto sulle prestazioni
| Modalità | Tempo medio di generazione | Miglioramento della qualità |
|---|---|---|
Standard (false) | circa 5-10 secondi | Baseline |
Deep thinking (true) | circa 8-15 secondi | Significativo per prompt complessi |
Il deep thinking aggiunge circa 3-5 secondi ma non costa crediti aggiuntivi.
Batch fino a 50 immagini per richiesta
Webhook nativi, generazione asincrona, rendering del testo perfetto. Ottieni crediti gratuiti e la tua chiave API.
Ottieni la tua chiave APIGestione degli errori
Formato della risposta di errore
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits to complete this generation. Required: 7, Available: 3",
"status": 402
}
}
Codici di errore
| Codice | Stato | Descrizione | Soluzione |
|---|---|---|---|
invalid_api_key | 401 | Chiave API non valida o scaduta | Rigenera dalla dashboard |
insufficient_credits | 402 | Crediti insufficienti | Acquistane altri su /pricing |
invalid_model | 400 | Identificatore del modello non riconosciuto | Usa seedream-5.0-lite |
invalid_prompt | 400 | Prompt vuoto o troppo lungo | Controlla la lunghezza (max 1000) |
invalid_aspect_ratio | 400 | Proporzioni non supportate | Usa i valori supportati |
rate_limited | 429 | Troppe richieste | Implementa il backoff |
content_policy | 400 | Il prompt viola le linee guida | Modifica il prompt |
generation_failed | 500 | Errore interno di generazione | Riprova la richiesta |
batch_too_large | 400 | Il batch supera i 50 elementi | Suddividi in batch più piccoli |
Strategia di 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) # Backoff esponenziale
Limiti di frequenza e best practice
Limiti di frequenza per livello
| Livello | Richieste/minuto | Concorrenti | Dimensione batch |
|---|---|---|---|
| Free | 10 | 2 | 5 |
| Starter | 30 | 5 | 20 |
| Popular | 60 | 10 | 30 |
| Pro | 120 | 20 | 50 |
| Enterprise | 240 | 50 | 50 |
Best practice
- Usa i webhook invece del polling - più efficiente
- Usa il batch quando possibile - una richiesta batch vale più di 50 richieste singole
- Backoff esponenziale - gestisci i limiti di frequenza con eleganza
- Memorizza i risultati in cache - salva URL delle immagini e metadati nel tuo database
- Scarica tempestivamente - gli URL delle immagini scadono dopo 24 ore
- Monitora il saldo dei crediti - controlla
credits_remainingper evitare interruzioni - Usa i metadati - etichetta le generazioni con ID di progetto per il tracciamento
- Gestisci gli errori con eleganza - non ogni generazione va a buon fine
Installazione dell'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
});
Pattern di integrazione comuni
Integrazione CMS
Genera automaticamente le immagini in evidenza alla creazione di un articolo:
@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"])
Immagini di prodotti per 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
Automazione dei social media
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)
L'API di Seedream 5.0 Lite è il percorso più rapido dal prompt testuale all'immagine generata, con pieno supporto per deep thinking, generazione batch e integrazione webhook.
Ottieni la tua chiave API → - 10 crediti gratuiti, genera la tua chiave da Impostazioni > Chiavi API e inizia a sviluppare in pochi minuti.
Prova Seedream 5.0 Lite - Ora stesso
5 generazioni gratuite · Nessuna carta di credito richiesta