Seedream 5.0 Lite API: snelste endpoint voor het genereren van afbeeldingen
Ontwikkelaarsgids voor de Seedream 5.0 Lite API: authenticatie, endpoints, aanvraagparameters, codevoorbeelden in Python en JavaScript, batchgeneratie, webhooks en best practices.

REST API, Bearer-authenticatie, asynchrone generatie, webhooks en native batching tot 50 afbeeldingen per verzoek. Alles wat beschikbaar is in de Arteza-webinterface is ook beschikbaar via de API. Hieronder vind je de volledige referentie met werkende Python- en JavaScript-voorbeelden die je vandaag nog in productie kunt gebruiken.
TL;DR
- POST /v1/images/generate - endpoint voor één afbeelding
- POST /v1/images/batch - tot 50 afbeeldingen per verzoek
- ~5-15 seconden gemiddelde latentie met async- en webhookondersteuning
- Python- en JavaScript-SDK's beschikbaar (
seedance/@seedance/sdk) - Bearer-token-authenticatie - genereer sleutels via Instellingen > API-sleutels
API-overzicht
De Seedream 5.0 Lite API biedt programmatische toegang tot de afbeeldingsgeneratiepijplijn op het Arteza-platform. Alles wat in de webinterface beschikbaar is, zoals tekst-naar-afbeelding, deep thinking, stijloverdracht en tekstweergave, is ook beschikbaar via de REST API.
De API volgt REST-conventies met JSON-verzoek- en antwoordteksten. Generatie verloopt asynchroon: dien een verzoek in, ontvang een taak-ID en peil daarna de status of ontvang een webhook wanneer de taak is voltooid.
Volledig functieoverzicht in onze volledige gids.
Bekijk de tekstweergave zelf
Het enige AI-model dat tekst correct weergeeft. $0.10 per afbeelding, gratis credits.
Probeer Seedream 5.0 Lite gratisBasis-URL
https://api.arteza.ai/v1
Belangrijkste kenmerken
| Kenmerk | Details |
|---|---|
| Protocol | HTTPS REST |
| Verzoekindeling | JSON |
| Antwoordindeling | JSON |
| Authenticatie | Bearer-token |
| Generatiemodel | Asynchroon |
| Gemiddelde latentie | 5-15 seconden |
| Batchondersteuning | Ja (tot 50 per verzoek) |
| Webhookondersteuning | Ja |
| SDK's | Python, JavaScript |
5 gratis generaties · Geen creditcard nodig
Authenticatie
Bearer-tokenauthenticatie. Genereer je API-sleutel vanuit het Arteza-dashboard onder Instellingen > API-sleutels.
Je API-sleutel ophalen
- Aanmelden of log in op je Arteza-account
- Ga naar Instellingen > API-sleutels
- Klik op Nieuwe sleutel genereren
- Kopieer je sleutel en bewaar deze veilig (wordt slechts één keer getoond)
Authenticatieheader
Authorization: Bearer YOUR_API_KEY
Authenticatie testen
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.arteza.ai/v1/account/credits
Antwoord:
{
"credits_remaining": 1050,
"tier": "starter"
}
Endpoint voor één afbeelding
POST /v1/images/generate
Minimaal verzoek
{
"model": "seedream-5.0-lite",
"prompt": "A serene mountain landscape at sunrise"
}
Volledig verzoek
{
"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"
}
}
Antwoord
{
"task_id": "img_abc123def456",
"status": "processing",
"model": "seedream-5.0-lite",
"credits_charged": 7,
"credits_remaining": 1043,
"estimated_time_seconds": 10
}
Verzoekparameters
| Parameter | Type | Verplicht | Standaard | Beschrijving |
|---|---|---|---|---|
model | string | Ja | - | Model-ID: seedream-5.0-lite |
prompt | string | Ja | - | Tekstbeschrijving (max. 1000 tekens) |
aspect_ratio | string | Nee | 1:1 | Beeldverhouding van de uitvoer |
deep_thinking | boolean | Nee | false | Deep-thinkingmodus inschakelen |
style | string | Nee | auto | Stijlpreset of -beschrijving |
colors | array | Nee | - | Kleurpalet (hexcodes) |
webhook_url | string | Nee | - | URL voor voltooiingsmelding |
metadata | object | Nee | - | Aangepaste metadata (wordt meegeleverd met resultaten) |
Beeldverhoudingen
| Waarde | Resolutie | Gebruiksscenario |
|---|---|---|
1:1 | 1024x1024 | Social media, productafbeeldingen |
16:9 | 1360x768 | Thumbnails, presentaties, banners |
9:16 | 768x1360 | Stories, telefoonachtergronden |
4:3 | 1184x888 | Blogafbeeldingen, e-mailheaders |
3:4 | 888x1184 | Pinterest, portretten |
3:2 | 1248x832 | Fotografiestijl |
Stijlpresets
| Preset | Beschrijving |
|---|---|
auto | Model kiest de beste stijl op basis van de prompt |
photorealistic | Levensechte fotografiestijl |
digital-art | Strakke digitale illustratie |
watercolor | Aquareleffect |
oil-painting | Klassiek olieverfportret |
anime | Japanse animatiestijl |
minimalist | Strak, minimalistisch ontwerp |
retro | Vintage/retro-esthetiek |
Antwoordindeling
Status opvragen via polling
GET /v1/images/{task_id}
Bezig met verwerken:
{
"task_id": "img_abc123def456",
"status": "processing",
"progress": 0.65,
"estimated_time_remaining": 5
}
Voltooid:
{
"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"
}
Vervaldatum van afbeeldings-URL's
Gegenereerde afbeeldings-URL's zijn 24 uur geldig. Download afbeeldingen en sla ze op in je eigen opslag binnen dit tijdsvenster.

Wil je tekst die er zo mooi uitziet? Probeer Seedream 5.0 Lite gratis →
Python-voorbeeld
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"
}
# Generatieverzoek indienen
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"Taak ingediend: {task_id}")
print(f"Credits in rekening gebracht: {task['credits_charged']}")
print(f"Resterende credits: {task['credits_remaining']}")
# Polling totdat taak is voltooid
while True:
result = requests.get(
f"{BASE_URL}/images/{task_id}",
headers=headers
).json()
if result["status"] == "completed":
print(f"Afbeelding klaar: {result['image_url']}")
break
elif result["status"] == "failed":
print(f"Generatie mislukt: {result.get('error', 'Onbekende fout')}")
break
time.sleep(2)
JavaScript-voorbeeld
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(`Taak ingediend: ${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 || 'Generatie mislukt');
}
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
// Gebruik
const result = await generateImage(
'A cozy coffee shop interior with warm lighting',
{ aspectRatio: '16:9', deepThinking: true }
);
console.log(`Afbeeldings-URL: ${result.image_url}`);
Gegenereerde afbeeldingen downloaden
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"Opgeslagen: {filename}")
download_image(result['image_url'], 'output/my_image.png')
Endpoint voor batchgeneratie
Voor meerdere afbeeldingen in één verzoek:
POST /v1/images/batch
Batchverzoek
{
"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"
}
Batchantwoord
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_generations": 3,
"total_credits_charged": 21,
"credits_remaining": 1029
}
Batchstatus opvragen via polling
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"
}
]
}
Batchlimieten
| Limiet | Waarde |
|---|---|
| Max. generaties per batch | 50 |
| Max. gelijktijdige batches | 5 |
| Max. promptlengte | 1000 tekens |
| Batchtijdslimiet | 5 minuten |
Voor batchworkflows, zie onze gids voor bulkgeneratie.
Webhookintegratie
Webhooks maken polling overbodig. Wanneer de generatie is voltooid, stuurt de API een POST-verzoek naar jouw URL.
Webhookpayload
{
"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"
}
Handlervoor beeld (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', {})
# Afbeelding downloaden
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)
# Je database bijwerken
update_generation_record(task_id, filename)
print(f"Afbeelding opgeslagen: {filename}")
elif data['event'] == 'image.failed':
print(f"Generatie mislukt: {data.get('error')}")
return jsonify({'status': 'ok'}), 200
Webhookbeveiliging
Verifieer de authenticiteit van webhooks via de 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-thinkingmodus
Wordt beheerd via de booleanse parameter deep_thinking. Wanneer ingeschakeld, voert het model aanvullende redenering uit vóór de generatie.
Wanneer inschakelen
| Scenario | Aanbeveling |
|---|---|
| Eenvoudige afbeeldingen met één onderwerp | false |
| Complexe scènes met meerdere elementen | true |
| Afbeeldingen met tekst | true |
| Specifieke ruimtelijke indelingen | true |
| Abstracte of conceptuele beelden | true |
| Batch met eenvoudige afbeeldingen | false (maximale doorvoer) |
Prestatiegevolgen
| Modus | Gemiddelde generatietijd | Kwaliteitsverbetering |
|---|---|---|
Standaard (false) | ~5-10 seconden | Basisniveau |
Deep thinking (true) | ~8-15 seconden | Significant voor complexe prompts |
Deep thinking voegt ~3-5 seconden toe maar kost geen extra credits.
Batch tot 50 afbeeldingen per verzoek
Native webhooks, asynchrone generatie en perfecte tekstweergave. Haal gratis credits en je API-sleutel.
Haal je API-sleutel opFoutafhandeling
Indeling van foutmeldingen
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits to complete this generation. Required: 7, Available: 3",
"status": 402
}
}
Foutcodes
| Code | Status | Beschrijving | Oplossing |
|---|---|---|---|
invalid_api_key | 401 | API-sleutel ongeldig of verlopen | Opnieuw genereren via dashboard |
insufficient_credits | 402 | Onvoldoende credits | Koop meer via /pricing |
invalid_model | 400 | Model-ID niet herkend | Gebruik seedream-5.0-lite |
invalid_prompt | 400 | Prompt is leeg of te lang | Controleer lengte (max. 1000) |
invalid_aspect_ratio | 400 | Beeldverhouding niet ondersteund | Gebruik ondersteunde waarden |
rate_limited | 429 | Te veel verzoeken | Implementeer backoff |
content_policy | 400 | Prompt is in strijd met beleid | Pas prompt aan |
generation_failed | 500 | Interne generatiefout | Probeer het opnieuw |
batch_too_large | 400 | Batch overschrijdt 50 items | Splits in kleinere batches |
Herhalingsstrategie
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) # Exponentiële backoff
Tarieflimieten en aanbevolen werkwijzen
Tarieflimieten per abonnementsniveau
| Niveau | Verzoeken/minuut | Gelijktijdig | Batchgrootte |
|---|---|---|---|
| Gratis | 10 | 2 | 5 |
| Starter | 30 | 5 | 20 |
| Populair | 60 | 10 | 30 |
| Pro | 120 | 20 | 50 |
| Enterprise | 240 | 50 | 50 |
Aanbevolen werkwijzen
- Gebruik webhooks in plaats van polling - efficiënter
- Gebruik batches waar mogelijk - één batchverzoek is beter dan 50 afzonderlijke verzoeken
- Exponentiële backoff - ga netjes om met tarieflimieten
- Sla resultaten op - bewaar afbeeldings-URL's en metadata in je database
- Download snel - afbeeldings-URL's verlopen na 24 uur
- Bewaak je creditbalans - controleer
credits_remainingom onderbrekingen te voorkomen - Gebruik metadata - tag generaties met project-ID's voor tracking
- Ga graceful om met fouten - niet elke generatie slaagt
SDK-installatie
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
});
Veelvoorkomende integratiepatronen
CMS-integratie
Genereer automatisch uitgelichte afbeeldingen bij het aanmaken van een bericht:
@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"])
Productafbeeldingen voor 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
Automatisering van 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)
De Seedream 5.0 Lite API is de snelste weg van tekstprompt naar gegenereerde afbeelding, met volledige ondersteuning voor deep thinking, batchgeneratie en webhookintegratie.
Haal je API-sleutel op → - 10 gratis credits, genereer je sleutel via Instellingen > API-sleutels en begin binnen enkele minuten met bouwen.
Seedream 5.0 Lite uitproberen - Nu!
5 gratis generaties · Geen creditcard nodig