Seedream 5.0 Edit API: programowe edytowanie obrazów
Przewodnik dla deweloperów po Seedream 5.0 Edit API. Dowiedz się o uwierzytelnianiu, punktach końcowych, formatach żądań, przykładach kodu w Python i JavaScript, obsłudze błędów oraz przepływach pracy przy edycji wsadowej.

Interfejsy webowe sprawdzają się przy jednorazowych edycjach. API to sposób na edycję 10 000 obrazów z dnia na dzień. API Seedream 5.0 Edit zapewnia programistyczny dostęp do tego samego modelu edycji w języku naturalnym, który napędza platformę Arteza, w tej samej cenie $0,10 za edycję. Ten przewodnik omawia uwierzytelnianie, endpointy, przykłady w Pythonie i JavaScript, wzorce przetwarzania wsadowego oraz najlepsze praktyki produkcyjne.
W skrócie
- Programistyczny dostęp do Seedream 5.0 Edit w cenie $0,10 za edycję (1 kredytów)
- REST API z odpowiedziami JSON, generowanie w czasie 5-15 sekund
- Dołączone przykłady w Pythonie i JavaScript
- Zaprojektowane do przetwarzania wsadowego - przetwarzaj tysiące obrazów w jednym zadaniu
- 10 darmowych kredytów do testów na arteza.ai
Kiedy używać API, a kiedy interfejsu webowego
Używaj interfejsu webowego, gdy:
- Edytujesz ręcznie 1-20 obrazów
- Chcesz iterować wizualnie
- Szukasz kierunków kreatywnych
Używaj API, gdy:
- Edytujesz ponad 50 obrazów
- Budujesz produkt edytujący obrazy
- Potrzebujesz spójnych promptów w całej partii
- Chcesz zintegrować edycję z istniejącym potokiem danych (eksport z Lightroom, Shopify, CMS itp.)
Edytuj swoje pierwsze zdjęcie z pomocą AI
Bez umiejętności w Photoshop. Po prostu napisz, co chcesz zmienić. $0.10 za edycję.
Wypróbuj Seedream 5.0 Edit za darmo5 bezpłatnych generacji · Bez wymaganej karty kredytowej
Uwierzytelnianie
API używa uwierzytelniania tokenem bearer. Pobierz swój klucz API z Panel Arteza po rejestracji.
# Zapisz klucz jako zmienną środowiskową
export SEEDANCE_API_KEY="your_api_key_here"
Nigdy nie umieszczaj kluczy API w repozytorium git. Używaj zmiennych środowiskowych, menedżerów sekretów lub plików .env.
Endpoint edycji
Endpoint: POST https://api.arteza.ai/v1/edit
Wymagane parametry:
| Parametr | Typ | Opis |
|---|---|---|
image | plik / URL | Obraz źródłowy (JPEG, PNG, WebP) |
prompt | string | Instrukcja edycji w języku naturalnym |
model | string | "seedream-5-lite-edit" |
Parametry opcjonalne:
| Parametr | Typ | Opis |
|---|---|---|
output_format | string | "png" (domyślnie) lub "jpeg" |
seed | integer | Do odtwarzalnych wyników |
strength | float | Intensywność edycji 0.1-1.0 |
Każde pomyślne wywołanie potrąca 1 kredytów.
Przykład w Pythonie
import os
import requests
API_KEY = os.environ["SEEDANCE_API_KEY"]
API_URL = "https://api.arteza.ai/v1/edit"
def edit_image(image_path: str, prompt: str) -> bytes:
with open(image_path, "rb") as f:
files = {"image": f}
data = {
"prompt": prompt,
"model": "seedream-5-lite-edit",
"output_format": "png",
}
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.post(
API_URL, files=files, data=data, headers=headers, timeout=60
)
response.raise_for_status()
return response.content
# Użycie
edited = edit_image(
"product.jpg",
"Replace background with seamless white studio, add soft shadow"
)
with open("product_edited.png", "wb") as f:
f.write(edited)
Przykład w JavaScript / Node.js
import fs from "fs";
import FormData from "form-data";
import axios from "axios";
const API_KEY = process.env.SEEDANCE_API_KEY;
const API_URL = "https://api.arteza.ai/v1/edit";
async function editImage(imagePath, prompt) {
const form = new FormData();
form.append("image", fs.createReadStream(imagePath));
form.append("prompt", prompt);
form.append("model", "seedream-5-lite-edit");
form.append("output_format", "png");
const response = await axios.post(API_URL, form, {
headers: {
...form.getHeaders(),
Authorization: `Bearer ${API_KEY}`,
},
responseType: "arraybuffer",
timeout: 60000,
});
return response.data;
}
// Użycie
const edited = await editImage(
"product.jpg",
"Apply warm golden-hour cinematic color grade"
);
fs.writeFileSync("product_edited.png", edited);
Przykład z cURL
curl -X POST https://api.arteza.ai/v1/edit \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-F "[email protected]" \
-F "prompt=Replace background with clean white studio" \
-F "model=seedream-5-lite-edit" \
-o product_edited.png

Chcesz takich efektów? Wypróbuj Seedream 5.0 Edit za darmo →
Wzorzec przetwarzania wsadowego
Kluczowym zastosowaniem API jest przetwarzanie wsadowe. Oto gotowy do produkcji wzorzec w Pythonie:
import os
import concurrent.futures
from pathlib import Path
def process_batch(image_dir: str, prompt: str, output_dir: str, workers: int = 4):
Path(output_dir).mkdir(parents=True, exist_ok=True)
images = list(Path(image_dir).glob("*.jpg"))
def process_one(img_path: Path):
try:
result = edit_image(str(img_path), prompt)
output_path = Path(output_dir) / f"{img_path.stem}_edited.png"
with open(output_path, "wb") as f:
f.write(result)
return (img_path.name, "success")
except Exception as e:
return (img_path.name, f"error: {e}")
with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:
results = list(executor.map(process_one, images))
for name, status in results:
print(f"{name}: {status}")
# Edytuj 100 zdjęć produktów tym samym promptem
process_batch(
image_dir="./raw_products",
prompt="Replace background with pure white studio, soft shadow beneath",
output_dir="./edited_products",
workers=4,
)
Wydajność: przy 4 wątkach roboczych 100 obrazów zajmuje łącznie około 3-5 minut. Koszt: 100 x 1 kredyt = 100 kredytów = łącznie $10.
Obsługa błędów
API zwraca standardowe kody statusu HTTP:
| Kod | Znaczenie | Działanie |
|---|---|---|
| 200 | Sukces | Użyj zwróconego obrazu |
| 400 | Nieprawidłowe żądanie | Sprawdź prompt i format obrazu |
| 401 | Brak autoryzacji | Sprawdź klucz API |
| 402 | Niewystarczające kredyty | Doładuj konto na cennik |
| 413 | Obraz zbyt duży | Zmień rozmiar poniżej 2048px |
| 429 | Przekroczono limit żądań | Zastosuj wykładniczy backoff |
| 500 | Błąd serwera | Ponów z backoffem |
Wzorzec ponownych prób
import time
import requests
def edit_with_retry(image_path: str, prompt: str, max_retries: int = 3):
for attempt in range(max_retries):
try:
return edit_image(image_path, prompt)
except requests.HTTPError as e:
if e.response.status_code in (429, 500, 502, 503, 504):
wait = 2 ** attempt # wykładniczy backoff: 1s, 2s, 4s
time.sleep(wait)
continue
raise
raise Exception("Przekroczono maksymalną liczbę prób")
Przepływ pracy z webhookiem dla dużych partii
W przypadku zadań obejmujących tysiące obrazów użyj webhooków, aby uniknąć ciągłego odpytywania:
# Wyślij zadanie z adresem URL webhooka
response = requests.post(
f"{API_URL}/batch",
json={
"model": "seedream-5-lite-edit",
"images": ["s3://bucket/img1.jpg", "s3://bucket/img2.jpg", ...],
"prompt": "Replace background with white studio",
"webhook": "https://yourapp.com/webhook/seedance",
},
headers={"Authorization": f"Bearer {API_KEY}"},
)
job_id = response.json()["job_id"]
# Arteza wyśle wyniki na webhook po zakończeniu zadania
Limity żądań
| Plan | Równoczesne żądania | Żądania na minutę |
|---|---|---|
| Darmowy (próbny) | 2 | 30 |
| Starter | 4 | 60 |
| Popular | 8 | 120 |
| Pro | 16 | 240 |
| Max / Enterprise | 32+ | 480+ |
Jeśli potrzebujesz wyższych limitów, skontaktuj się z pomocą techniczną z poziomu swojego panelu.
Typowe wzorce produkcyjne
1. Potok produktowy Shopify
# Pobierz nowe produkty z Shopify → edytuj → wyślij z powrotem
for product in new_products:
for image_url in product.images:
edited = edit_image_url(image_url, BRAND_PROMPT)
upload_to_shopify(product.id, edited)
Zobacz przewodnik po zdjęciach produktowych, aby znaleźć pomysły na prompty.
2. Automatyzacja ogłoszeń nieruchomości
# Automatycznie poprawiaj nowe zdjęcia ofert
for photo in listing.photos:
if photo.type == "exterior":
edited = edit_image(photo.path, "Replace sky with blue clear sky, brighten")
elif photo.type == "interior_empty":
edited = edit_image(photo.path, "Stage in modern Scandinavian style")
save_to_mls(edited)
Zobacz przewodnik po wirtualnym stagingu, aby znaleźć szablony promptów.
3. Potok treści do mediów społecznościowych
# Generuj warianty każdego posta dla różnych platform
for source_image in incoming_posts:
instagram = edit_image(source_image, "Bright airy Instagram aesthetic")
tiktok = edit_image(source_image, "High-energy saturated TikTok look")
linkedin = edit_image(source_image, "Clean corporate LinkedIn tones")
publish_to_platforms(instagram, tiktok, linkedin)
Zobacz przewodnik po mediach społecznościowych.
Edytuj 10 000 obrazów z dnia na dzień
Prompty w języku naturalnym, skala programistyczna. Ta sama cena $0.10 za edycję niezależnie od tego, czy uruchomisz to raz, czy milion razy.
Pobierz klucz API za darmoŚledzenie kosztów
Każde wywołanie API potrąca 1 kredytów. Śledź swoje wydatki programistycznie:
def get_credit_balance():
response = requests.get(
"https://api.arteza.ai/v1/account/credits",
headers={"Authorization": f"Bearer {API_KEY}"},
)
return response.json()["balance"]
print(f"Pozostałe kredyty: {get_credit_balance()}")
Cennik
| Plan | Kredyty | Cena | Edycje |
|---|---|---|---|
| Starter | 60 | $5 | 60 |
| Creator | 300 | $25 | 300 |
| Pro | 700 | $50 | 700 |
| Studio | 1 800 | $120 | 1 800 |
Miesięczne kredyty odnawiają się każdego cyklu rozliczeniowego. Kredyty doładowane nigdy nie wygasają. Pełny cennik.
Lista kontrolna przed wdrożeniem produkcyjnym
- Klucz API przechowywany bezpiecznie (zmienna środowiskowa lub menedżer sekretów)
- Logika ponownych prób z wykładniczym backoffem
- Rejestrowanie błędów i alerty
- Monitorowanie salda kredytów
- Równoległość uwzględniająca limity żądań
- Walidacja rozmiaru obrazu wejściowego (<2048px)
- Przechowywanie danych wyjściowych (CDN, S3 itp.)
- Szablony promptów wersjonowane w git
Następne kroki
- Kompletny przewodnik po Seedream 5.0 Edit
- Procesy fotografii produktowej
- Automatyzacja w branży nieruchomości
- Tworzenie wariantów na dużą skalę
Uzyskaj bezpłatny klucz API → - darmowe kredyty przy rejestracji, bez karty płatniczej.
Wypróbuj Seedream 5.0 Edit - Już teraz
Prześlij swój obraz na stronie tworzenia, aby rozpocząć edycję.
5 bezpłatnych generacji · Bez wymaganej karty kredytowej