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

API REST, autenticazione Bearer, generazione asincrona, webhook, batching nativo fino a 50 immagini per richiesta. Tutto ciò che è disponibile nell'interfaccia web di Arteza è disponibile anche nell'API. Ecco il riferimento completo con esempi Python e JavaScript funzionanti che puoi copiare in produzione oggi.
TL;DR
- POST /v1/images/generate - endpoint per singola immagine
- POST /v1/images/batch - fino a 50 immagini per richiesta
- Latenza media di ~5-15 secondi con supporto asincrono e webhook
- SDK Python e JavaScript disponibili (
seedance/@seedance/sdk) - Autenticazione token Bearer - genera le chiavi in Impostazioni > Chiavi API
Panoramica API
L'API di Seedream 5.0 Lite fornisce accesso programmatico alla pipeline di generazione di immagini sulla piattaforma Arteza. Tutto ciò che è nell'interfaccia web - da testo a immagine, deep thinking, trasferimento di stile, rendering di testo - è nell'API REST.
L'API segue le convenzioni REST con corpi di richiesta e risposta in JSON. La generazione è asincrona: invia una richiesta, ricevi un ID task, quindi esegui il polling oppure ricevi un webhook quando è completa.
Panoramica completa delle funzionalità in guida completa.
Vedi il rendering del testo da solo
L'unico modello di IA che gestisce il testo correttamente. $0.07 per immagine, 50 crediti gratuiti.
Prova Seedream 5.0 Lite GratisURL Base
https://api.arteza.ai/v1
Caratteristiche Principali
| Caratteristica | Dettagli |
|---|---|
| Protocollo | HTTPS REST |
| Formato richiesta | JSON |
| Formato risposta | JSON |
| Autenticazione | Token Bearer |
| 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 token Bearer. Genera la tua chiave API dal dashboard di Arteza sotto Impostazioni > Chiavi API.
Ottenere la Tua Chiave API
- Iscriviti o accedi al tuo account Arteza
- Vai a Impostazioni > Chiavi API
- Fai clic su Genera Nuova Chiave
- Copia e conserva in sicurezza la tua chiave (visualizzata solo una volta)
Header di Autenticazione
Authorization: Bearer YOUR_API_KEY
Test dell'Autenticazione
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.arteza.ai/v1/account/credits
Risposta:
{
"credits_remaining": 1050,
"tier": "starter"
}
Endpoint per Singola Immagine
POST /v1/images/generate
Richiesta Minima
{
"model": "seedream-5.0-lite",
"prompt": "Un paesaggio di montagna sereno all'alba"
}
Richiesta Completa
{
"model": "seedream-5.0-lite",
"prompt": "Miniatura professionale per YouTube con testo 'TOP 10 TIPS' in grassetto rosso, persona entusiasta a sinistra, sfondo blu brillante",
"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 di Richiesta
| Parametro | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|
model | string | Sì | - | Identificatore modello: seedream-5.0-lite |
prompt | string | Sì | - | Descrizione testuale (max 1000 caratteri) |
aspect_ratio | string | No | 1:1 | Rapporto di aspetto dell'output |
deep_thinking | boolean | No | false | Abilita modalità deep thinking |
style | string | No | auto | Preset di stile o descrizione |
colors | array | No | - | Palette di colori (codici esadecimali) |
webhook_url | string | No | - | URL per notifica di completamento |
metadata | object | No | - | Metadati personalizzati (restituiti con risultati) |
Rapporti di Aspetto
| Valore | Risoluzione | Caso d'Uso |
|---|---|---|
1:1 | 1024x1024 | Social media, immagini di prodotti |
16:9 | 1360x768 | Miniature, presentazioni, banner |
9:16 | 768x1360 | Storie, sfondi per telefono |
4:3 | 1184x888 | Immagini blog, intestazioni email |
3:4 | 888x1184 | Pinterest, ritratti |
3:2 | 1248x832 | Stile fotografia |
Preset di Stile
| Preset | Descrizione |
|---|---|
auto | Il modello seleziona lo stile migliore in base al prompt |
photorealistic | Stile fotografia realistica |
digital-art | Illustrazione digitale pulita |
watercolor | Effetto pittura ad acquerello |
oil-painting | Pittura a olio classica |
anime | Stile animazione giapponese |
minimalist | Design pulito e minimalista |
retro | Estetica vintage/retrò |
Formato 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 URL Immagine
Gli URL delle immagini generate sono validi per 24 ore. Scarica e memorizza le immagini nella tua archiviazione entro questa finestra.

Vuoi testo così pulito? 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"
}
# 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)
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 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}`);
Download delle 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"Saved: {filename}")
download_image(result['image_url'], 'output/my_image.png')
Endpoint di Generazione in Batch
Per più immagini in una singola richiesta:
POST /v1/images/batch
Richiesta Batch
{
"generations": [
{
"prompt": "Design logo minimalista, cerchio blu con fulmine",
"model": "seedream-5.0-lite",
"aspect_ratio": "1:1",
"deep_thinking": true
},
{
"prompt": "Sfondo foto professionale, gradiente morbido",
"model": "seedream-5.0-lite",
"aspect_ratio": "1:1",
"deep_thinking": false
},
{
"prompt": "Miniatura YouTube con testo 'MUST WATCH' in rosso",
"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 Batch
| Limite | Valore |
|---|---|
| Max generazioni per batch | 50 |
| Max batch concorrenti | 5 |
| Max lunghezza prompt | 1000 caratteri |
| Timeout batch | 5 minuti |
Per i flussi di lavoro batch, consulta 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 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', {})
# 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
Sicurezza Webhook
Verifica l'autenticità del webhook tramite l'header 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. Se abilitata, il modello esegue ulteriori ragionamenti prima della generazione.
Quando Abilitare
| Scenario | Consiglio |
|---|---|
| Immagini semplici con un solo soggetto | false |
| Scene complesse con più elementi | true |
| Immagini con testo | true |
| Layout spaziali specifici | true |
| Immagini astratte/concettuali | true |
| Batch di immagini semplici | false (massimo throughput) |
Impatto sulla Prestazione
| Modalità | Tempo Medio di Generazione | Miglioramento Qualità |
|---|---|---|
Standard (false) | ~5-10 secondi | Linea di base |
Deep thinking (true) | ~8-15 secondi | Significativo per prompt complessi |
Deep thinking aggiunge ~3-5 secondi ma non costa crediti aggiuntivi.
Batch fino a 50 immagini per richiesta
Webhook nativi, generazione asincrona, rendering perfetto del testo. Ottieni 50 crediti gratuiti e la tua chiave API.
Ottieni la Tua Chiave APIGestione degli Errori
Formato di Risposta di Errore
{
"error": {
"code": "insufficient_credits",
"message": "Non ci sono abbastanza crediti per completare questa generazione. Richiesti: 7, Disponibili: 3",
"status": 402
}
}
Codici di Errore
| Codice | Stato | Descrizione | Risoluzione |
|---|---|---|---|
invalid_api_key | 401 | Chiave API non valida o scaduta | Rigenera nel dashboard |
insufficient_credits | 402 | Non ci sono abbastanza crediti | Acquista altri su /pricing |
invalid_model | 400 | Identificatore 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 | Rapporto di aspetto non supportato | Usa valori supportati |
rate_limited | 429 | Troppe richieste | Implementa backoff |
content_policy | 400 | Il prompt viola la policy | Modifica il prompt |
generation_failed | 500 | Errore interno di generazione | Riprova la richiesta |
batch_too_large | 400 | Il batch supera 50 elementi | Dividi 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) # Exponential backoff
Limiti di Velocità e Best Practices
Limiti di Velocità per Tier
| Tier | 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 Practices
- Usa webhook al posto del polling - più efficiente
- Batch quando possibile - una richiesta batch batte 50 richieste individuali
- Backoff esponenziale - gestisci i limiti di velocità con eleganza
- Cache dei risultati - memorizza gli URL delle immagini e i metadati nel tuo database
- Scarica tempestivamente - gli URL delle immagini scadono dopo 24 ore
- Monitorare il saldo crediti - controlla
credits_remainingper evitare interruzioni - Usa metadati - etichetta le generazioni con ID progetto per il tracciamento
- Gestisci gli errori con eleganza - non tutte le generazioni hanno successo
Installazione 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="Un bellissimo tramonto",
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: 'Un bellissimo tramonto',
deepThinking: true
});
Pattern di Integrazione Comuni
Integrazione CMS
Genera immagini in primo piano automaticamente alla creazione del post:
@app.route('/cms/webhook/new-post', methods=['POST'])
def handle_new_post():
post = request.json
result = generate_image(
prompt=f"Immagine intestazione blog per articolo su {post['title']}, "
f"stile editoriale professionale, 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"Foto di prodotto di {product.name}, sfondo bianco, illuminazione da studio, 1:1",
f"Foto lifestyle di {product.name} in uso, ambientazione naturale, 16:9",
f"Close-up dettaglio prodotto di {product.name}, fotografia macro, 1:1"
]
batch = client.images.batch_generate(
generations=[
{"model": "seedream-5.0-lite", "prompt": p}
for p in prompts
]
)
return batch
Automazione 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}, post social media, 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ù veloce da prompt testuale a immagine generata con supporto completo per deep thinking, generazione in batch e integrazione webhook.
Ottieni la tua chiave API → - 50 crediti gratuiti, genera la tua chiave da Impostazioni > Chiavi API, inizia a sviluppare in pochi minuti.
Try Seedream 5.0 Lite - Right Now
5 free generations · No credit card needed