tutorials

Seedream 5.0 Pro API: generuj i edytuj obrazy za pomocą kodu

Poyo.ai Team
5 min read
Share:

Przewodnik po API Seedream 5.0 Pro

API Seedream 5.0 Pro daje programistom dostęp do flagowego modelu ByteDance do generowania i edycji obrazów, w asynchronicznym workflow nastawionym na produkcję. Ten przewodnik pokazuje, jak przesyłać zadania tekst na obraz i edycji obrazów przez Poyo.ai, a potem pobierać wynik przez odpytywanie lub webhook.

Obecna cena to 15 kredytów, czyli około $0.075 za wygenerowany obraz, dla obu wariantów modelu.

Modele i parametry API

TrybID modelu
Tekst na obrazseedream-5.0-pro
Edycja obrazówseedream-5.0-pro-edit

Obsługiwane dane wejściowe:

  • prompt: wymagana instrukcja generowania lub edycji
  • size: gotowa rozdzielczość, np. 1K lub 2K, albo proporcje obrazu, np. 1:1, 4:3, 3:4, 16:9 lub 9:16
  • n: liczba obrazów do wygenerowania
  • output_format: jpeg lub png
  • image_urls: obrazy referencyjne dla modelu edycji, maksymalnie 10
  • callback_url: opcjonalny endpoint HTTPS do powiadomień o zakończeniu

Bieżący schemat znajdziesz w dokumentacji API na żywo.

1. Utwórz klucz API

Załóż konto w Poyo.ai, otwórz zarządzanie kluczami API i zapisz klucz w zmiennej środowiskowej. Nigdy nie umieszczaj klucza produkcyjnego w kodzie działającym w przeglądarce ani nie dodawaj go do repozytorium Git.

export POYO_API_KEY="your-api-key"

2. Wyślij żądanie tekst na obraz

Wszystkie zadania korzystają z jednolitego endpointu przesyłania:

POST https://api.poyo.ai/api/generate/submit

cURL

curl --request POST \
  --url https://api.poyo.ai/api/generate/submit \
  --header "Authorization: Bearer $POYO_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "seedream-5.0-pro",
    "callback_url": "https://example.com/webhooks/poyo",
    "input": {
      "prompt": "Editorial science magazine cover about clean energy cities, title \"THE ELECTRIC CITY\", structured grid, accurate icons, dark navy and electric green palette",
      "size": "3:4",
      "n": 1,
      "output_format": "png"
    }
  }'

Odpowiedź zawiera ID zadania:

{
  "code": 200,
  "data": {
    "task_id": "task-unified-example",
    "status": "not_started",
    "created_time": "2026-07-16T10:10:00"
  }
}

3. Wywołanie Seedream 5.0 Pro w JavaScript

const API_URL = 'https://api.poyo.ai/api/generate/submit';

async function generateSeedreamImage(prompt) {
  const response = await fetch(API_URL, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.POYO_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'seedream-5.0-pro',
      input: {
        prompt,
        size: '2K',
        n: 1,
        output_format: 'png',
      },
    }),
  });

  const payload = await response.json();
  if (!response.ok || payload.code !== 200) {
    throw new Error(payload.error?.message || 'Seedream request failed');
  }
  return payload.data.task_id;
}

Wartość 2K wybierz wtedy, gdy ważniejsza jest rozdzielczość niż stałe proporcje. Wartość z proporcjami obrazu wybierz wtedy, gdy główne ograniczenie stanowi format miejsca docelowego.

4. Wywołanie Seedream 5.0 Pro w Pythonie

import os
import requests

API_URL = "https://api.poyo.ai/api/generate/submit"

def generate_seedream_image(prompt: str) -> str:
    response = requests.post(
        API_URL,
        headers={
            "Authorization": f"Bearer {os.environ['POYO_API_KEY']}",
            "Content-Type": "application/json",
        },
        json={
            "model": "seedream-5.0-pro",
            "input": {
                "prompt": prompt,
                "size": "16:9",
                "n": 1,
                "output_format": "jpeg",
            },
        },
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("code") != 200:
        raise RuntimeError(payload.get("error", {}).get("message", "Request failed"))
    return payload["data"]["task_id"]

5. Edycja obrazów z wieloma referencjami

Zmień ID modelu i podaj image_urls. Napisz modelowi, co wnosi każda referencja.

curl --request POST \
  --url https://api.poyo.ai/api/generate/submit \
  --header "Authorization: Bearer $POYO_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "seedream-5.0-pro-edit",
    "input": {
      "prompt": "Use the room from reference 1. Replace only the chair with the chair from reference 2. Put the logo from reference 3 on the wall. Preserve the original camera, windows, floor, and afternoon lighting.",
      "image_urls": [
        "https://example.com/room.jpg",
        "https://example.com/chair.png",
        "https://example.com/logo.png"
      ],
      "size": "16:9",
      "n": 1,
      "output_format": "png"
    }
  }'

Żeby edycje były przewidywalne, podziel prompt na trzy części: role referencji, żądane zmiany i ograniczenia dotyczące tego, co zachować.

6. Pobierz wynik

Przesyłanie jest asynchroniczne. Po otrzymaniu task_id możesz:

  • odpytywać jednolity endpoint statusu zadań Poyo.ai; albo
  • podać callback_url i obsłużyć webhook o zakończeniu.

Aktualną ścieżkę statusu i obiekt odpowiedzi znajdziesz w dokumentacji zarządzania zadaniami. W produkcji stosuj wykładniczy backoff zamiast odpytywać bez przerwy.

Obsługa błędów

Obsłuż jawnie te przypadki:

  • 400: nieprawidłowe parametry modelu, nieobsługiwane rozmiary, niedostępne adresy URL obrazów lub błędny JSON
  • 401: brak klucza API albo nieprawidłowy klucz
  • nieudane zadanie asynchroniczne: generowanie nie powiodło się po poprawnym przesłaniu
  • ponowienie webhooka: to samo zdarzenie zakończenia może zostać dostarczone więcej niż raz

Zapisuj ID zadania razem z wewnętrznym ID zlecenia, zadbaj o idempotentną obsługę webhooków i loguj komunikaty błędów dostawcy, nie zapisując przy tym sekretów.

Lista kontrolna przed produkcją

  • Trzymaj klucze API po stronie serwera.
  • Przed przesłaniem sprawdzaj długość promptu i typy adresów URL obrazów.
  • Używaj obrazów referencyjnych po HTTPS, do których usługa generowania ma dostęp.
  • Ustaw limity czasu dla wywołań przesyłania.
  • Ponawiaj przejściowe błędy sieciowe, ale nie ponawiaj na ślepo nieprawidłowych żądań.
  • Licz koszt jako liczba żądanych wyników × 15 kredytów według obecnego cennika.
  • Przed publikacją sprawdź wygenerowany tekst, szczegóły produktów i twierdzenia faktograficzne.
  • Dodaj moderację treści dopasowaną do twojego produktu i rynku.

Kiedy wybrać Pro zamiast Lite

Seedream 5.0 Pro wybierz do ustrukturyzowanych projektów, gęstych układów, tekstu w wielu językach i kontrolowanych edycji. Seedream 5.0 Lite wybierz do tańszych zadań o większym wolumenie, gdzie precyzja projektowa na poziomie Pro nie jest potrzebna.

Przegląd bez szczegółów technicznych znajdziesz w artykule funkcje i cennik Seedream 5.0 Pro. Dane żądania możesz też przetestować wizualnie na stronie modelu Seedream 5.0 Pro.

Najczęstsze pytania

Jaki jest endpoint API Seedream 5.0 Pro?

Zadania generowania i edycji przesyłaj na POST https://api.poyo.ai/api/generate/submit.

Jakie jest ID modelu edycji?

Użyj seedream-5.0-pro-edit i podaj jedną lub więcej wartości w input.image_urls.

Ile obrazów referencyjnych jest obsługiwanych?

Obecna dokumentacja Poyo.ai obsługuje do 10 obrazów referencyjnych przy edycji w Seedream 5.0 Pro.

Ile kosztuje jeden obraz przez API?

Obecna cena Poyo.ai to 15 kredytów, około $0.075, za każdy wygenerowany lub edytowany obraz.

Share: