Proces aplikacji
Aby korzystać z SeeDream Images Generation API, najpierw przejdź do konsoli Ace Data Cloud, 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 kluczowegoprompt, 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:

accept: jakiego formatu odpowiedzi oczekujesz, tutaj wpisujemyapplication/json, czyli format JSON.authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
prompt: słowo kluczowe.model: model generacji, domyślniedoubao-seedream-5-0-260128(SeeDream 5.0 Lite, najnowszy). Obsługujedoubao-seedream-5-0-pro-260628,doubao-seedream-5-0-260128(akceptuje również oficjalny aliasdoubao-seedream-5-0-lite-260128),doubao-seedream-4-5-251128,doubao-seedream-4-0-250828. Modeldoubao-seedream-5-0-pro-260628(SeeDream 5.0 Pro) to flagowy model pojedynczego obrazu, generuje tylko pojedynczy obraz, nie obsługuje grup obrazów (sequential_image_generation), strumieniowego (stream) ani wyszukiwania w sieci (tools).modelmusi być przekazany jako pełny ciąg modelu (np.doubao-seedream-5-0-260128), przekazanie skrótu takiego jakdoubao-seedream-5.0-litezwróci 400.image: informacje o wprowadzonym obrazie, obsługuje URL lub kodowanie Base64.doubao-seedream-5-0-pro-260628obsł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-250828obsługują pojedynczy lub wiele obrazów.size: określa informacje o rozmiarze generowanego obrazu, obsługuje dwie poniższe 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 wprompt. Obsługiwane wstępne ustawienia różnią się w zależności od modelu:doubao-seedream-5-0-pro-260628obsługuje1K/1.5K/2K;doubao-seedream-5-0-260128obsługuje2K/3K/4K;doubao-seedream-4-5-251128obsługuje tylko2K/4K;doubao-seedream-4-0-250828obsługuje1K/2K/4K. Metoda 2 | Określenie wartości pikseli szerokości i wysokości generowanego obrazu: domyślnie2048x2048, całkowita liczba pikseli i proporcje 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, 4624220], 5.0 Lite / 4.5 dolny limit całkowitych pikseli 3,686,400, 4.0 dolny limit 921,600).sequential_image_generation: grupy obrazów: na podstawie wprowadzonych treści generowane są powiązane obrazy.doubao-seedream-5-0-260128,doubao-seedream-4-5-251128,doubao-seedream-4-0-250828obsługują ten parametr, domyślniedisabled.stream: kontroluje, czy włączyć tryb strumieniowy.doubao-seedream-5-0-260128,doubao-seedream-4-5-251128,doubao-seedream-4-0-250828obsługują ten parametr, domyślnie jestfalse.response_format: określa format zwracany dla generowanego obrazu. Domyślnie jesturl, obsługuje równieżb64_json.watermark: czy dodać znak wodny do generowanego obrazu. Domyślnie jesttrue.output_format: określa format pliku generowanego obrazu, obsługujejpeg(domyślnie) ipng. Tylkodoubao-seedream-5-0-pro-260628idoubao-seedream-5-0-260128obsługują.tools: konfiguruje narzędzia, które model ma wywołać, obecnie obsługujeweb_search(wyszukiwanie w sieci). Tylko Seedream 5.0 Lite obsługuje.optimize_prompt_options: konfiguracja optymalizacji słów kluczowych. 5.0 Pro obsługujestandard/fast; 5.0 Lite i 4.5 obsługują tylkostandard; 4.0 obsługujestandard/fast.background: tylko 5.0 Pro obsługuje edycję pojedynczego obrazu.transparentwymaga wprowadzenia obrazu PNG z przezroczystym kanałem, aoutput_formatmusi byćpng;opaqueto zwykłe nieprzezroczyste tło.layer_decomposition: tylko 5.0 Pro obsługuje. Ustawione natrue, musi być wprowadzony obraz PNG/JPEG, można nie przekazywaćpromptdo automatycznego podziału lub użyć naturalnego języka/<bbox>do określenia elementów;sizeobsługujeauto/1K/1.5K/2K. Ten tryb nie może być używany z grupami obrazów, strumieniowym, wyszukiwaniem w sieci lubbackground.callback_url: URL, na który mają być zwracane wyniki.async: czy przetwarzać w trybie asynchronicznym. Ustawione natrue, interfejs natychmiast zwracatask_id, nie ma potrzeby podawaniacallback_url, a następnie można uzyskać wyniki poprzez/seedream/tasks.

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.
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 obrazek, najpierw parametrimage musi zawierać link do obrazu, który ma być edytowany.
- model: model użyty w tym zadaniu edytowania obrazu,
doubao-seedream-5-0-pro-260628,doubao-seedream-5-0-260128,doubao-seedream-4-5-251128,doubao-seedream-4-0-250828obsługują wejście obrazowe. - image: przesyłany obraz do edycji, jeden lub więcej.

Rozdzielanie warstw (Seedream 5.0 Pro)
Rozdzielanie warstw podzieli jeden wejściowy obraz na 1 obraz podstawowy i maksymalnie 16 niezależnych, edytowalnych przezroczystych warstw PNG. Poniższe żądanie pozwala modelowi automatycznie rozpoznać główne elementy; jeśli chcesz określić elementy, możesz dodaćprompt, możesz również użyć znormalizowanych współrzędnych <bbox> w słowach kluczowych.
data są uporządkowane według z_index od dołu do góry. z_index obrazu podstawowego wynosi 0; warstwy zawierają również name, description oraz bounding_box.absolute/normalized. Podczas rekonstrukcji z użyciem współrzędnych absolutnych, warstwy są skalowane do [right-left, bottom-top], umieszczane w [left, top], a następnie nakładane w porządku rosnącym według z_index. Jeśli jakakolwiek warstwa nie powiedzie się w generacji, całe rozdzielenie nie powiedzie się.
Strumieniowe wyjście
W przypadku Lite/4.x, gdy ustawiszstream: true, nagłówek żądania używa accept: application/x-ndjson. Interfejs zwraca wierszami image_generation.partial_succeeded lub image_generation.partial_failed, a na końcu zwraca unikalne zdarzenie image_generation.completed oraz ostateczne usage; tylko zdarzenie zakończenia wywołuje jednorazowe naliczenie opłaty. Tryb strumieniowy nie może być używany razem z async lub callback_url.
Asynchroniczny callback
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 callbacków. Cały proces polega na tym, że klient inicjuje żądanie, dodatkowo określając polecallback_url, po zainicjowaniu żądania API, 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 wynik zadania można powiązać z ID.
Jeśli nie masz publicznego adresu do callbacku, możesz nie określać callback_url, a zamiast tego ustawić pole async na true w żądaniu. W tym 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:
task_id, a pozostałe pola są podobne do powyższych, dzięki czemu można zrealizować powiązanie z zadaniem.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpi błąd, 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.

