Skip to main content
W tym artykule przedstawimy dokumentację integracji SeeDream Images Generation API, która pozwala na generowanie obrazów oficjalnych SeeDream poprzez wprowadzenie niestandardowych parametrów.

Proces aplikacji

Aby skorzystać z SeeDream Images Generation API, najpierw przejdź do Ace Data Cloud Console, aby uzyskać swój token API, który należy zachować na przyszłość. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku otrzymasz darmowy limit, aby móc skorzystać z usługi; gdy limit się wyczerpie, możesz doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: SeeDream Images Generation API →

Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, czyli wprowadzeniem słowa kluczowego prompt, działania action, rozmiaru obrazu size, aby uzyskać przetworzony wynik. Najpierw musimy przekazać pole action, którego wartość to generate, a następnie musimy wprowadzić słowo kluczowe, szczegóły są następujące:

Możemy zobaczyć, że ustawiliśmy nagłówki żądania, w tym:
  • accept: jakiego formatu odpowiedzi oczekujesz, tutaj wpisujemy application/json, czyli format JSON.
  • authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
Dodatkowo ustawiono ciało żądania, w tym:
  • prompt: słowo kluczowe.
  • model: model generacji, domyślnie doubao-seedream-5-0-260128 (SeeDream 5.0 Lite, najnowszy). Obsługuje doubao-seedream-5-0-pro-260628, doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828, doubao-seedream-3-0-t2i-250415, doubao-seededit-3-0-i2i-250628. Wśród nich doubao-seedream-5-0-pro-260628 (SeeDream 5.0 Pro) to flagowy model pojedynczego obrazu, generujący tylko pojedynczy obraz, nie obsługuje generacji grupowej (sequential_image_generation), strumieniowej (stream) ani wyszukiwania w sieci (tools). model musi być przekazany jako pełny ciąg modelu (np. doubao-seedream-5-0-260128), przekazanie skrótu takiego jak doubao-seedream-5.0-lite zwróci 400.
  • image: informacje o wprowadzonym obrazie, obsługuje URL lub kodowanie Base64. W tym przypadku doubao-seedream-5-0-pro-260628 obsługuje pojedynczy lub wiele obrazów (wiele obrazów 2-10, od drugiego obrazu naliczana jest opłata), doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 obsługują pojedynczy lub wiele obrazów, doubao-seededit-3-0-i2i-250628 obsługuje tylko pojedynczy obraz, doubao-seedream-3-0-t2i-250415 nie obsługuje tego parametru.
  • size: określa informacje o rozmiarze generowanego obrazu, obsługuje dwie metody, które nie mogą być mieszane. Metoda 1 | Określenie rozdzielczości generowanego obrazu i opisanie proporcji szerokości i wysokości w naturalnym języku w prompt. Różne modele obsługują różne ustawienia wstępne: doubao-seedream-5-0-pro-260628 obsługuje 1K/2K; doubao-seedream-5-0-260128 obsługuje 2K/3K/4K; doubao-seedream-4-5-251128 obsługuje tylko 2K/4K; doubao-seedream-4-0-250828 obsługuje 1K/2K/4K; doubao-seedream-3-0-t2i-250415 i doubao-seededit-3-0-i2i-250628 nie obsługują ustawień wstępnych, akceptują tylko metodę 2. Metoda 2 | Określenie wartości pikseli szerokości i wysokości generowanego obrazu: domyślnie 2048x2048, całkowita liczba pikseli i zakres wartości proporcji szerokości i wysokości różni się w zależności od modelu (na przykład 5.0 Pro całkowity zakres pikseli [921600, 4194304], 5.0 Lite / 4.5 dolny limit całkowitych pikseli 3,686,400, 4.0 dolny limit 921,600, 3.0-t2i / seededit-3.0-i2i zakres [512x512, 2048x2048]).
  • seed: ziarno losowe, używane do kontrolowania losowości generowanego przez modelu treści. Zakres wartości to [-1, 2147483647]. Tylko doubao-seedream-3-0-t2i-250415 obsługuje ten parametr.
  • sequential_image_generation: generacja grupowa: na podstawie wprowadzonych treści generowane są powiązane obrazy. doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 obsługują ten parametr, domyślnie disabled.
  • stream: kontroluje, czy włączyć tryb strumieniowego wyjścia. doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 obsługują ten parametr, domyślnie false.
  • guidance_scale: stopień zgodności wyników modelu z prompt, im większa wartość, tym silniejsza zgodność. Zakres wartości [1, 10]. doubao-seedream-3-0-t2i-250415 domyślnie 2.5, doubao-seededit-3-0-i2i-250628 domyślnie 5.5, inne modele nie obsługują.
  • response_format: określa format zwracany dla generowanego obrazu. Domyślnie url, obsługuje również b64_json.
  • watermark: czy dodać znak wodny do generowanego obrazu. Domyślnie true.
  • output_format: określa format pliku generowanego obrazu, obsługuje jpeg (domyślnie) i png. Tylko doubao-seedream-5-0-pro-260628 i doubao-seedream-5-0-260128 obsługują.
  • tools: konfiguruje narzędzia, które model ma wywołać, obecnie obsługuje web_search (wyszukiwanie w sieci). Tylko doubao-seedream-5-0-260128 obsługuje.
  • callback_url: URL, na który mają być zwracane wyniki.
  • async: czy przetwarzać w trybie asynchronicznym. Ustaw na true, aby interfejs natychmiast zwrócił task_id, nie ma potrzeby podawania callback_url, a następnie można uzyskać wyniki poprzez /seedream/tasks.
Po dokonaniu wyboru, można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na obrazku:

Kliknij przycisk „Try”, aby przeprowadzić test, jak pokazano na powyższym obrazku, tutaj uzyskaliśmy następujący wynik:
Zwrócone wyniki zawierają wiele pól, które są opisane poniżej:
  • success, status zadania generowania wideo w tym momencie.
  • task_id, ID zadania generowania wideo w tym momencie.
  • trace_id, ID śledzenia generowania wideo w tym momencie.
  • data, lista wyników zadania generowania obrazu w tym momencie.
    • image_url, link do zadania generowania obrazu w tym momencie.
    • prompt, słowo kluczowe.
    • size: rozmiar wygenerowanego obrazu w pikselach.
Możemy zobaczyć, że otrzymaliśmy satysfakcjonujące informacje o obrazie, wystarczy, że uzyskamy wygenerowany obraz SeeDream na podstawie linku do obrazu w data. Jeśli chcesz wygenerować odpowiedni kod do integracji, możesz po prostu skopiować wygenerowany kod, na przykład kod CURL wygląda następująco:

Edytowanie zadania obrazka

Jeśli chcesz edytować dany obraz, najpierw parametr image musi zawierać link do obrazu, który ma być edytowany.
  • model: model użyty w tym zadaniu edytowania obrazu, doubao-seedream-5-0-260128, doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 obsługują pojedyncze lub wiele obrazów, doubao-seededit-3-0-i2i-250628 obsługuje tylko pojedynczy obraz.
  • image: przesyłany obraz do edycji, jeden lub więcej.
Przykład wypełnienia wygląda następująco:

Odpowiedni kod:
Klikając uruchom, można zauważyć, że natychmiast otrzymamy wynik, jak poniżej:
Można zauważyć, że wygenerowany efekt to efekt edytowania oryginalnego obrazu, a wynik jest podobny do powyższego.

Asynchroniczne wywołanie zwrotne

Ponieważ czas generowania API SeeDream Images Generation jest stosunkowo długi, wynosi około 1-2 minut, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych wywołań zwrotnych. Cały proces wygląda następująco: klient inicjuje żądanie, dodatkowo określając pole callback_url, po czym klient wysyła żądanie API, a API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje aktualne ID zadania. Po zakończeniu zadania wynik wygenerowanego obrazu zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, który również zawiera pole task_id, dzięki czemu wyniki zadania można powiązać za pomocą ID. Jeśli nie masz publicznego adresu do wywołania zwrotnego, możesz nie określać callback_url, a zamiast tego ustawić pole async na true w żądaniu. W takim przypadku interfejs również natychmiast zwróci task_id, ale nie wyśle wyniku, musisz użyć tego task_id, aby wywołać interfejs /seedream/tasks, aby sprawdzić status zadania i uzyskać ostateczny wynik. Poniżej przedstawiamy przykład, aby zrozumieć, jak dokładnie to działa. Klikając uruchom, można zauważyć, że natychmiast otrzymamy wynik, jak poniżej:
Zawartość wygląda następująco:
Można zauważyć, że w wynikach znajduje się pole task_id, a inne pola są podobne do powyższych, dzięki czemu można powiązać zadanie za pomocą tego pola.

Obsługa błędów

Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:
  • 400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests: Zbyt wiele żądań, przekroczono limit szybkości.
  • 500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

Wnioski

Dzięki temu dokumentowi zrozumiałeś, jak korzystać z API generowania obrazów SeeDream, aby tworzyć obrazy na podstawie wprowadzonych słów kluczowych. Mamy nadzieję, że ten dokument pomoże Ci lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, skontaktuj się z naszym zespołem wsparcia technicznego.