Proces aplikacji
Aby korzystać z API, należy najpierw przejść do strony SeeDream Images Generation API i złożyć wniosek o odpowiednią usługę. Po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku:
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować. Po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę.
Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego 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 musisz 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 wpiszapplication/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-4.0.image: informacje o wprowadzonym obrazie, obsługuje URL lub kodowanie Base64. W tym przypadkudoubao-seedream-4.5,doubao-seedream-4.0obsługują pojedyncze lub wiele obrazów,doubao-seededit-3.0-i2iobsługuje tylko pojedynczy obraz,doubao-seededit-3.0-t2inie 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 wpromptproporcji, kształtu lub zastosowania obrazu w naturalnym języku, ostatecznie model oceni rozmiar generowanego obrazu. Metoda 2 | Określenie wartości pikseli szerokości i wysokości generowanego obrazu: domyślna wartość:2048x2048, w zależności od modelu domyślna wartość może się różnić.seed: ziarno losowe, używane do kontrolowania losowości generowanej treści przez model. Zakres wartości to [-1, 2147483647]. Tylkodoubao-seedream-3.0-t2i,doubao-seededit-3.0-i2iobsługują ten parametr.sequential_image_generation: zestaw obrazów: na podstawie wprowadzonych treści generowane są powiązane obrazy. Tylkodoubao-seedream-4.5,doubao-seedream-4.0obsługują ten parametr, domyślniedisabled.stream: kontroluje, czy włączyć tryb strumieniowego wyjścia. Tylkodoubao-seedream-4.5,doubao-seedream-4.0obsługują ten parametr, domyślniefalse.guidance_scale: stopień zgodności wyników modelu zprompt, swoboda generowania obrazów, znana również jako waga tekstu; im większa wartość, tym mniejsza swoboda modelu, a większa zgodność z wprowadzonymi słowami kluczowymi. Zakres wartości: [1, 10].doubao-seedream-3.0-t2idomyślna wartość 2.5,doubao-seededit-3.0-i2idomyślna wartość 5.5, inne nie obsługują.response_format: określa format zwracany dla generowanego obrazu. Domyślnieurl, obsługuje równieżb64_json.watermark: czy dodać znak wodny do generowanego obrazu. Domyślnietrue.callback_url: URL, na który mają być zwracane wyniki.

success, status zadania generowania obrazu.task_id, ID zadania generowania obrazu.trace_id, ID śledzenia generowania obrazu.data, lista wyników zadania generowania obrazu.image_url, link do zadania generowania obrazu.prompt, słowo kluczowe.size: piksele generowanego obrazu.
data uzyskamy wygenerowany obraz SeeDream.
Jeśli chcesz wygenerować odpowiedni kod integracyjny, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:
Edytowanie zadań obrazów
Jeśli chcesz edytować konkretny obraz, najpierw parametrimage musi zawierać link do obrazu, który ma być edytowany.
- model: model używany do edytowania obrazu, obecnie obsługuje
doubao-seedream-4.5,doubao-seedream-4.0, obsługujące pojedyncze lub wiele obrazów,doubao-seededit-3.0-i2iobsługuje tylko pojedynczy obraz. - image: przesyłany obraz do edytowania, jeden lub więcej.

Asynchroniczny callback
Ponieważ czas generacji obrazów przez 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 wygląda następująco: klient inicjuje żądanie, dodatkowo określając polecallback_url, po wysłaniu żądania API natychmiast zwraca wynik, zawierający informacje o polu task_id, które reprezentuje bieżące ID zadania. Po zakończeniu zadania wynik generowanego obrazu zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, w tym również zawierając pole task_id, dzięki czemu wyniki zadania można powiązać za pomocą ID.
Poniżej przyjrzymy się, jak dokładnie to działa na przykładzie.
Klikając uruchom, można zauważyć, że natychmiast otrzymuje się wynik, jak poniżej:
task_id, a pozostałe 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.

