Seedream 5.0 Lite API: Schnellster Endpunkt zur Bildgenerierung
Entwicklerhandbuch zur Seedream 5.0 Lite API: Authentifizierung, Endpunkte, Anfrageparameter, Codebeispiele in Python und JavaScript, Stapelgenerierung, Webhooks und Best Practices.

REST API, Bearer-Authentifizierung, asynchrone Generierung, Webhooks, natives Batching mit bis zu 50 Bildern pro Anfrage. Alles, was in der Arteza-Web-UI verfügbar ist, ist auch in der API enthalten. Hier ist die vollständige Referenz mit funktionierenden Python- und JavaScript-Beispielen, die du noch heute in die Produktion übernehmen kannst.
TL;DR
- POST /v1/images/generate - Endpunkt für einzelne Bilder
- POST /v1/images/batch - bis zu 50 Bilder pro Anfrage
- Durchschnittliche Latenz von 5 bis 15 Sekunden mit Async- und Webhook-Unterstützung
- Python- und JavaScript-SDKs verfügbar (
seedance/@seedance/sdk) - Bearer-Token-Authentifizierung - Schlüssel unter Einstellungen > API-Schlüssel generieren
API-Übersicht
Die Seedream 5.0 Lite API bietet programmatischen Zugriff auf die Bildgenerierungs-Pipeline auf der Arteza-Plattform. Alles in der Web-UI, also Text-zu-Bild, Deep Thinking, Stiltransfer und Textrendering, ist in der REST API verfügbar.
Die API folgt REST-Konventionen mit JSON-Anfrage- und Antworttexten. Die Generierung ist asynchron: Du sendest eine Anfrage, erhältst eine Task-ID und pollst dann oder erhältst einen Webhook, wenn die Verarbeitung abgeschlossen ist.
Eine vollständige Funktionsübersicht findest du in unserem vollständiger Leitfaden.
Das Textrendering selbst erleben
Das einzige KI-Modell, das Text wirklich beherrscht. $0,10 pro Bild, kostenlose Credits.
Seedream 5.0 Lite kostenlos testenBasis-URL
https://api.arteza.ai/v1
Wichtige Eigenschaften
| Eigenschaft | Details |
|---|---|
| Protokoll | HTTPS REST |
| Anfrageformat | JSON |
| Antwortformat | JSON |
| Authentifizierung | Bearer-Token |
| Generierungsmodell | Asynchron |
| Durchschnittliche Latenz | 5 bis 15 Sekunden |
| Batch-Unterstützung | Ja (bis zu 50 pro Anfrage) |
| Webhook-Unterstützung | Ja |
| SDKs | Python, JavaScript |
5 kostenlose Generierungen · Keine Kreditkarte erforderlich
Authentifizierung
Bearer-Token-Authentifizierung. Generiere deinen API-Schlüssel im Arteza-Dashboard unter Einstellungen > API-Schlüssel.
API-Schlüssel erhalten
- Registrieren oder melde dich in deinem Arteza-Konto an
- Navigiere zu Einstellungen > API-Schlüssel
- Klicke auf Neuen Schlüssel generieren
- Kopiere und speichere deinen Schlüssel sicher (wird nur einmal angezeigt)
Authentifizierungs-Header
Authorization: Bearer YOUR_API_KEY
Authentifizierung testen
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.arteza.ai/v1/account/credits
Antwort:
{
"credits_remaining": 1050,
"tier": "starter"
}
Endpunkt für einzelne Bilder
POST /v1/images/generate
Minimale Anfrage
{
"model": "seedream-5.0-lite",
"prompt": "A serene mountain landscape at sunrise"
}
Vollständige Anfrage
{
"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"
}
}
Antwort
{
"task_id": "img_abc123def456",
"status": "processing",
"model": "seedream-5.0-lite",
"credits_charged": 7,
"credits_remaining": 1043,
"estimated_time_seconds": 10
}
Anfrageparameter
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
model | string | Ja | - | Modellkennung: seedream-5.0-lite |
prompt | string | Ja | - | Textbeschreibung (max. 1000 Zeichen) |
aspect_ratio | string | Nein | 1:1 | Ausgabe-Seitenverhältnis |
deep_thinking | boolean | Nein | false | Deep-Thinking-Modus aktivieren |
style | string | Nein | auto | Stil-Preset oder Beschreibung |
colors | array | Nein | - | Farbpalette (Hex-Codes) |
webhook_url | string | Nein | - | URL für Abschlussbenachrichtigung |
metadata | object | Nein | - | Benutzerdefinierte Metadaten (werden mit Ergebnissen zurückgegeben) |
Seitenverhältnisse
| Wert | Auflösung | Verwendungszweck |
|---|---|---|
1:1 | 1024x1024 | Social Media, Produktbilder |
16:9 | 1360x768 | Thumbnails, Präsentationen, Banner |
9:16 | 768x1360 | Stories, Handy-Hintergrundbilder |
4:3 | 1184x888 | Blog-Bilder, E-Mail-Header |
3:4 | 888x1184 | Pinterest, Porträts |
3:2 | 1248x832 | Fotografiestil |
Stil-Presets
| Preset | Beschreibung |
|---|---|
auto | Das Modell wählt den besten Stil basierend auf dem Prompt |
photorealistic | Lebensechter Fotografiestil |
digital-art | Klare digitale Illustration |
watercolor | Aquarellmalerei-Effekt |
oil-painting | Klassische Ölmalerei |
anime | Japanischer Animationsstil |
minimalist | Klares, minimales Design |
retro | Vintage- und Retro-Ästhetik |
Antwortformat
Ergebnisse abfragen
GET /v1/images/{task_id}
In Verarbeitung:
{
"task_id": "img_abc123def456",
"status": "processing",
"progress": 0.65,
"estimated_time_remaining": 5
}
Abgeschlossen:
{
"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"
}
Ablauf der Bild-URLs
Generierte Bild-URLs sind 24 Stunden lang gültig. Lade Bilder herunter und speichere sie in deinem eigenen Speicher innerhalb dieses Zeitfensters.

Willst du so sauberen Text? Seedream 5.0 Lite kostenlos ausprobieren →
Python-Beispiel
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"
}
# Generierungsanfrage senden
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']}")
# Auf Abschluss warten (Polling)
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)
JavaScript-Beispiel
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));
}
}
// Verwendung
const result = await generateImage(
'A cozy coffee shop interior with warm lighting',
{ aspectRatio: '16:9', deepThinking: true }
);
console.log(`Image URL: ${result.image_url}`);
Generierte Bilder herunterladen
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')
Batch-Generierungsendpunkt
Für mehrere Bilder in einer einzigen Anfrage:
POST /v1/images/batch
Batch-Anfrage
{
"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"
}
Batch-Antwort
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_generations": 3,
"total_credits_charged": 21,
"credits_remaining": 1029
}
Batch-Status abfragen
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"
}
]
}
Batch-Limits
| Limit | Wert |
|---|---|
| Maximale Generierungen pro Batch | 50 |
| Maximale gleichzeitige Batches | 5 |
| Maximale Prompt-Länge | 1000 Zeichen |
| Batch-Timeout | 5 Minuten |
Für Batch-Workflows sieh dir unsere Leitfaden zur Massengenerierung an.
Webhook-Integration
Webhooks machen Polling überflüssig. Wenn die Generierung abgeschlossen ist, sendet die API einen POST an deine URL.
Webhook-Payload
{
"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"
}
Handler-Beispiel (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', {})
# Bild herunterladen
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)
# Datenbank aktualisieren
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
Webhook-Sicherheit
Verifiziere die Authentizität des Webhooks über den 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)
Deep-Thinking-Modus
Gesteuert durch den booleschen Parameter deep_thinking. Wenn aktiviert, führt das Modell vor der Generierung zusätzliche Überlegungen durch.
Wann aktivieren
| Szenario | Empfehlung |
|---|---|
| Einfache Bilder mit einem Motiv | false |
| Komplexe Szenen mit mehreren Elementen | true |
| Bilder mit Text | true |
| Spezifische räumliche Layouts | true |
| Abstrakte oder konzeptionelle Bilder | true |
| Batch mit einfachen Bildern | false (maximaler Durchsatz) |
Auswirkungen auf die Leistung
| Modus | Durchschnittliche Generierungszeit | Qualitätsverbesserung |
|---|---|---|
Standard (false) | ca. 5 bis 10 Sekunden | Ausgangswert |
Deep Thinking (true) | ca. 8 bis 15 Sekunden | Deutlich bei komplexen Prompts |
Deep Thinking fügt ca. 3 bis 5 Sekunden hinzu, kostet aber keine zusätzlichen Credits.
Bis zu 50 Bilder pro Anfrage im Batch verarbeiten
Native Webhooks, asynchrone Generierung, perfektes Textrendering. Hol dir kostenlose Credits und deinen API-Schlüssel.
API-Schlüssel holenFehlerbehandlung
Format der Fehlerantwort
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits to complete this generation. Required: 7, Available: 3",
"status": 402
}
}
Fehlercodes
| Code | Status | Beschreibung | Lösung |
|---|---|---|---|
invalid_api_key | 401 | API-Schlüssel ungültig oder abgelaufen | Im Dashboard neu generieren |
insufficient_credits | 402 | Nicht genug Credits | Weitere Credits unter /pricing kaufen |
invalid_model | 400 | Modellkennung nicht erkannt | seedream-5.0-lite verwenden |
invalid_prompt | 400 | Prompt leer oder zu lang | Länge prüfen (max. 1000) |
invalid_aspect_ratio | 400 | Seitenverhältnis nicht unterstützt | Unterstützte Werte verwenden |
rate_limited | 429 | Zu viele Anfragen | Backoff implementieren |
content_policy | 400 | Prompt verstößt gegen Richtlinien | Prompt anpassen |
generation_failed | 500 | Interner Generierungsfehler | Anfrage wiederholen |
batch_too_large | 400 | Batch überschreitet 50 Einträge | In kleinere Batches aufteilen |
Wiederholungsstrategie
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) # Exponentielles Backoff
Ratenlimits und bewährte Methoden
Ratenlimits nach Tarif
| Tarif | Anfragen/Minute | Gleichzeitig | Batch-Größe |
|---|---|---|---|
| Free | 10 | 2 | 5 |
| Starter | 30 | 5 | 20 |
| Popular | 60 | 10 | 30 |
| Pro | 120 | 20 | 50 |
| Enterprise | 240 | 50 | 50 |
Bewährte Methoden
- Webhooks statt Polling verwenden - effizienter
- Batching wenn möglich - eine Batch-Anfrage schlägt 50 Einzelanfragen
- Exponentielles Backoff - Ratenlimits elegant handhaben
- Ergebnisse cachen - Bild-URLs und Metadaten in der Datenbank speichern
- Zeitnah herunterladen - Bild-URLs laufen nach 24 Stunden ab
- Credits-Guthaben überwachen -
credits_remainingprüfen, um Unterbrechungen zu vermeiden - Metadaten verwenden - Generierungen mit Projekt-IDs zur Nachverfolgung versehen
- Fehler elegant behandeln - nicht jede Generierung ist erfolgreich
SDK-Installation
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
});
Häufige Integrationsmuster
CMS-Integration
Beim Erstellen eines Beitrags automatisch Vorschaubilder generieren:
@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"])
Produktbilder für 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
Social-Media-Automatisierung
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)
Die Seedream 5.0 Lite API ist der schnellste Weg vom Text-Prompt zum generierten Bild, mit vollständiger Unterstützung für Deep Thinking, Batch-Generierung und Webhook-Integration.
API-Schlüssel holen → - 10 kostenlose Credits, generiere deinen Schlüssel unter Einstellungen > API-Schlüssel und starte in Minuten mit der Entwicklung.
Seedream 5.0 Lite ausprobieren - Jetzt!
5 kostenlose Generierungen · Keine Kreditkarte erforderlich