{
  "aboutHtml": "<p>Seedream 5.0 Pro to multimodalny model ByteDance Seed do tworzenia obrazów w profesjonalnej pracy wizualnej. Łączy generowanie nowych obrazów z edycją na podstawie referencji, kładąc nacisk na strukturę projektu oraz jego wygląd. Producent przedstawia to wydanie przez cztery mocne strony: grafiki o dużej gęstości informacji, interaktywną edycję, realistyczne obrazy i natywne generowanie wielojęzyczne. Udokumentowany interfejs generowania zwraca jeden gotowy obraz; sekwencje powiązanych obrazów, wyszukiwanie i wyjście strumieniowe należą do procesów innych wydań. Optymalizacja poleceń oferuje tryby standard i fast, przy czym fast poświęca część jakości dla krótszego czasu generowania.</p><p>Złożone informacje na jednym obrazie Pro może przekształcić obszerny opis w infografikę, plakat lub wizualną koncepcję interfejsu. Przed instrukcjami dotyczącymi stylu przygotuj treść faktograficzną: zatwierdzone etykiety, wartości, relacje i kolejność odczytywania informacji. Następnie określ kompozycję, główny punkt skupienia, typografię i ilustracje pomocnicze. Przy planszy muzealnej podaj tytuł eksponatu i trzy zatwierdzone opisy, poproś o ilustrację obok każdego opisu oraz wskaż dominujący nagłówek. Porównaj gotową hierarchię i sformułowania z poleceniem, szczególnie drobniejszy tekst pomocniczy.</p><p>Takie wyjście przydaje się do materiałów edukacyjnych, wyjaśnień technicznych, grafik prezentacyjnych i wczesnego poszukiwania układu produktu. Wygenerowany obraz interfejsu pomaga przekazać pomysł wizualny; rzeczywiste kontrolki i tekst zachowuj w edytowalnym źródle projektu, gdy chcesz rozwinąć go w działający produkt. Przy infografice przechowuj oryginalną tabelę lub notatki obok obrazu, aby projektant mógł sprawdzić i poprawić poszczególne fakty.</p><p>Wskazówki przestrzenne dla zmian lokalnych Interaktywna edycja dodaje do instrukcji informację o lokalizacji. Zaznacz lub wybierz odpowiedni obszar, określ zmianę i wskaż otaczające elementy, które muszą pozostać. Producent opisuje punkty, zaznaczenia lassem lub prostokątem i szkice jako sposoby przekazywania położenia. Przy koncepcji wnętrza zaznacz tylko krzesło i poproś o inny materiał, zachowując kamerę, podłogę, ścianę i pobliskie cienie. Przy zdjęciu produktu wskaż obszar etykiety, zamiast prosić o szerokie przeprojektowanie całego przedmiotu.</p><p>Możliwości edycji Pro obejmują zmianę koloru i materiału, dodawanie lub usuwanie obiektów, tworzenie obrazu ze szkicu oraz łączenie elementów kilku referencji. Przypisz każdej referencji rolę: kompozycja bazowa, obiekt zastępczy, materiał lub paleta. Na przykład dostarcz pokój, próbkę tkaniny i referencję krzesła, a następnie poproś o krzesło w oznaczonym miejscu z zastosowaniem tej tkaniny. Porównaj wynik z każdą referencją, zwracając uwagę na skalę, punkty mocowania i oświetlenie. Przy szkicu oznacz obszary i powiedz modelowi, czy narysowane znaki mają pozostać na obrazie końcowym.</p><p>Rozdzielanie i ponowne składanie elementów wizualnych Producent pokazuje rozdzielanie obrazu na niezależne warstwy, z przezroczystymi elementami i odtworzoną zawartością tła. Przydaje się to w kompozycji wymagającej dalszej zmiany układu: wskaż tytuł, główny obiekt i dekoracje do oddzielenia, a następnie sprawdź każdy element w narzędziu projektowym. Zachowaj obraz bazowy do porównania. Zanim przesuniesz lub zastąpisz elementy, sprawdź krawędzie, brakujące szczegóły i obszary tła zasłonięte przez pierwotny obiekt. Rozdzielanie warstw jest odrębnym procesem przetwarzania obrazu; prośba o kilka niepowiązanych gotowych obrazów to inne zadanie. Proces warstw producenta wymaga jednego obrazu JPEG lub PNG: do 30 MB, od 262 144 do 36 000 000 pikseli i proporcji od 1:16 do 16:1. Wynik zawiera obraz bazowy i do 16 warstw PNG z kanałem alfa, a także nazwę, opis, kolejność stosu i prostokąt położenia każdej warstwy. Rozmiary warstw to 1K, 1.5K, 2K lub ustawienie automatyczne zachowujące proporcje źródła.</p><p>Realistyczne światło, materiały i portrety Pro kładzie nacisk na obrazy fotograficzne i komputerowe, w tym oświetlenie, zachowanie powierzchni i fakturę skóry. Użyteczne polecenie opisuje fizyczną scenę, zamiast opierać się wyłącznie na przymiotnikach: obiekt, pozycję kamery, światło główne, tło i materiały, które powinny odbijać lub przepuszczać światło. Przy koncepcji mebla określ, czy rama ma być ze szczotkowanego metalu, przezroczystego szkła czy malowanego drewna, i wyjaśnij oświetlenie. Przy obróbce portretu opisz wymagane zmiany i zachowaj istotne rysy twarzy oraz pozę. Sprawdź skórę, dłonie, odbicia i granice między materiałami w docelowym rozmiarze oglądania. Opcja przezroczystego tła producenta dotyczy edycji obrazu z dokładnie jednym wejściem, które już ma kanał alfa; przezroczyste wyjście musi być PNG. Jest to odrębne od zwykłego generowania nieprzezroczystych obrazów.</p><p>Grafiki wielojęzyczne Model obsługuje natywne polecenia i tekst renderowany w wielu popularnych językach, w tym chińskim, angielskim, francuskim, niemieckim, rosyjskim, japońskim, koreańskim, hiszpańskim i arabskim. Dostarcz dokładne zatwierdzone brzmienie, określ język i kierunek czytania oraz wskaż obszary zawierające tekst. Przy lokalizowanym plakacie zachowuj spójny układ i obrazy, podając osobno nagłówek i tekst pomocniczy. Poproś czytelnika danego języka o sprawdzenie wyniku, w tym znaków diakrytycznych, połączonych znaków, podziałów wierszy i małych etykiet.</p><p>Przygotowanie użytecznego rezultatu Zacznij od zamierzonego obrazu: grafiki bogatej w dane, lokalizowanego plakatu, koncepcji wizualnej lub precyzyjnie poprawionego obrazu źródłowego. Dostarcz treść i referencje potrzebne do konkretnego zadania, a następnie porównaj wynik z materiałami źródłowymi i wymaganymi zmianami. Proces generowania producenta przyjmuje do 10 referencji w formatach JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC lub HEIF, do 30 MB każda, z oboma bokami powyżej 14 pikseli, od 196 do 36 000 000 pikseli łącznie i proporcjami od 1:16 do 16:1. Zwraca JPEG lub PNG, z opcjami wyjścia 1K, 1.5K i 2K oraz domyślnym 2K; własne wymiary wymagają od 921 600 do 4 624 220 pikseli łącznie i tego samego zakresu proporcji. Obrazy mogą być zwracane jako zakodowane dane lub linki do pobrania wygasające w ciągu 24 godzin. Producent wskazuje dokładne renderowanie drobnego tekstu i spójność edycji na poziomie pikseli jako obszary wymagające dalszego rozwoju. Uważnie sprawdzaj gęste etykiety i obszary, które miały pozostać niezmienione, nawet gdy ogólna kompozycja wygląda przekonująco.</p>",
  "aboutText": "Seedream 5.0 Pro to multimodalny model ByteDance Seed do tworzenia obrazów w profesjonalnej pracy wizualnej. Łączy generowanie nowych obrazów z edycją na podstawie referencji, kładąc nacisk na strukturę projektu oraz jego wygląd. Producent przedstawia to wydanie przez cztery mocne strony: grafiki o dużej gęstości informacji, interaktywną edycję, realistyczne obrazy i natywne generowanie wielojęzyczne. Udokumentowany interfejs generowania zwraca jeden gotowy obraz; sekwencje powiązanych obrazów, wyszukiwanie i wyjście strumieniowe należą do procesów innych wydań. Optymalizacja poleceń oferuje tryby standard i fast, przy czym fast poświęca część jakości dla krótszego czasu generowania.\n\nZłożone informacje na jednym obrazie\nPro może przekształcić obszerny opis w infografikę, plakat lub wizualną koncepcję interfejsu. Przed instrukcjami dotyczącymi stylu przygotuj treść faktograficzną: zatwierdzone etykiety, wartości, relacje i kolejność odczytywania informacji. Następnie określ kompozycję, główny punkt skupienia, typografię i ilustracje pomocnicze. Przy planszy muzealnej podaj tytuł eksponatu i trzy zatwierdzone opisy, poproś o ilustrację obok każdego opisu oraz wskaż dominujący nagłówek. Porównaj gotową hierarchię i sformułowania z poleceniem, szczególnie drobniejszy tekst pomocniczy.\n\nTakie wyjście przydaje się do materiałów edukacyjnych, wyjaśnień technicznych, grafik prezentacyjnych i wczesnego poszukiwania układu produktu. Wygenerowany obraz interfejsu pomaga przekazać pomysł wizualny; rzeczywiste kontrolki i tekst zachowuj w edytowalnym źródle projektu, gdy chcesz rozwinąć go w działający produkt. Przy infografice przechowuj oryginalną tabelę lub notatki obok obrazu, aby projektant mógł sprawdzić i poprawić poszczególne fakty.\n\nWskazówki przestrzenne dla zmian lokalnych\nInteraktywna edycja dodaje do instrukcji informację o lokalizacji. Zaznacz lub wybierz odpowiedni obszar, określ zmianę i wskaż otaczające elementy, które muszą pozostać. Producent opisuje punkty, zaznaczenia lassem lub prostokątem i szkice jako sposoby przekazywania położenia. Przy koncepcji wnętrza zaznacz tylko krzesło i poproś o inny materiał, zachowując kamerę, podłogę, ścianę i pobliskie cienie. Przy zdjęciu produktu wskaż obszar etykiety, zamiast prosić o szerokie przeprojektowanie całego przedmiotu.\n\nMożliwości edycji Pro obejmują zmianę koloru i materiału, dodawanie lub usuwanie obiektów, tworzenie obrazu ze szkicu oraz łączenie elementów kilku referencji. Przypisz każdej referencji rolę: kompozycja bazowa, obiekt zastępczy, materiał lub paleta. Na przykład dostarcz pokój, próbkę tkaniny i referencję krzesła, a następnie poproś o krzesło w oznaczonym miejscu z zastosowaniem tej tkaniny. Porównaj wynik z każdą referencją, zwracając uwagę na skalę, punkty mocowania i oświetlenie. Przy szkicu oznacz obszary i powiedz modelowi, czy narysowane znaki mają pozostać na obrazie końcowym.\n\nRozdzielanie i ponowne składanie elementów wizualnych\nProducent pokazuje rozdzielanie obrazu na niezależne warstwy, z przezroczystymi elementami i odtworzoną zawartością tła. Przydaje się to w kompozycji wymagającej dalszej zmiany układu: wskaż tytuł, główny obiekt i dekoracje do oddzielenia, a następnie sprawdź każdy element w narzędziu projektowym. Zachowaj obraz bazowy do porównania. Zanim przesuniesz lub zastąpisz elementy, sprawdź krawędzie, brakujące szczegóły i obszary tła zasłonięte przez pierwotny obiekt. Rozdzielanie warstw jest odrębnym procesem przetwarzania obrazu; prośba o kilka niepowiązanych gotowych obrazów to inne zadanie. Proces warstw producenta wymaga jednego obrazu JPEG lub PNG: do 30 MB, od 262 144 do 36 000 000 pikseli i proporcji od 1:16 do 16:1. Wynik zawiera obraz bazowy i do 16 warstw PNG z kanałem alfa, a także nazwę, opis, kolejność stosu i prostokąt położenia każdej warstwy. Rozmiary warstw to 1K, 1.5K, 2K lub ustawienie automatyczne zachowujące proporcje źródła.\n\nRealistyczne światło, materiały i portrety\nPro kładzie nacisk na obrazy fotograficzne i komputerowe, w tym oświetlenie, zachowanie powierzchni i fakturę skóry. Użyteczne polecenie opisuje fizyczną scenę, zamiast opierać się wyłącznie na przymiotnikach: obiekt, pozycję kamery, światło główne, tło i materiały, które powinny odbijać lub przepuszczać światło. Przy koncepcji mebla określ, czy rama ma być ze szczotkowanego metalu, przezroczystego szkła czy malowanego drewna, i wyjaśnij oświetlenie. Przy obróbce portretu opisz wymagane zmiany i zachowaj istotne rysy twarzy oraz pozę. Sprawdź skórę, dłonie, odbicia i granice między materiałami w docelowym rozmiarze oglądania. Opcja przezroczystego tła producenta dotyczy edycji obrazu z dokładnie jednym wejściem, które już ma kanał alfa; przezroczyste wyjście musi być PNG. Jest to odrębne od zwykłego generowania nieprzezroczystych obrazów.\n\nGrafiki wielojęzyczne\nModel obsługuje natywne polecenia i tekst renderowany w wielu popularnych językach, w tym chińskim, angielskim, francuskim, niemieckim, rosyjskim, japońskim, koreańskim, hiszpańskim i arabskim. Dostarcz dokładne zatwierdzone brzmienie, określ język i kierunek czytania oraz wskaż obszary zawierające tekst. Przy lokalizowanym plakacie zachowuj spójny układ i obrazy, podając osobno nagłówek i tekst pomocniczy. Poproś czytelnika danego języka o sprawdzenie wyniku, w tym znaków diakrytycznych, połączonych znaków, podziałów wierszy i małych etykiet.\n\nPrzygotowanie użytecznego rezultatu\nZacznij od zamierzonego obrazu: grafiki bogatej w dane, lokalizowanego plakatu, koncepcji wizualnej lub precyzyjnie poprawionego obrazu źródłowego. Dostarcz treść i referencje potrzebne do konkretnego zadania, a następnie porównaj wynik z materiałami źródłowymi i wymaganymi zmianami. Proces generowania producenta przyjmuje do 10 referencji w formatach JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC lub HEIF, do 30 MB każda, z oboma bokami powyżej 14 pikseli, od 196 do 36 000 000 pikseli łącznie i proporcjami od 1:16 do 16:1. Zwraca JPEG lub PNG, z opcjami wyjścia 1K, 1.5K i 2K oraz domyślnym 2K; własne wymiary wymagają od 921 600 do 4 624 220 pikseli łącznie i tego samego zakresu proporcji. Obrazy mogą być zwracane jako zakodowane dane lub linki do pobrania wygasające w ciągu 24 godzin. Producent wskazuje dokładne renderowanie drobnego tekstu i spójność edycji na poziomie pikseli jako obszary wymagające dalszego rozwoju. Uważnie sprawdzaj gęste etykiety i obszary, które miały pozostać niezmienione, nawet gdy ogólna kompozycja wygląda przekonująco.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3ec11819996f2b8472c6996d8aa671f36a6b4eeb2b0ad6b241bd311340bca64f",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "pl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ByteDance Seed: Seedream 5.0 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zamknij\">×</button></div><div class=\"idline\"><span>ByteDance Seed /</span><code>bytedance-seed/seedream-5-0-pro</code><button type=\"button\" id=\"copy-id\">Kopiuj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekcje karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Dane wejściowe i metody</button><button type=\"button\" data-card-jump=\"pricing\">Cennik</button><button type=\"button\" data-card-jump=\"examples\">Przykłady</button><button type=\"button\" data-card-jump=\"results\">Wyniki</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metody API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|images|/v1/images/generations|bytedance-seed%2Fseedream-5-0-pro\">Obrazy</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Start</h3><p class=\"mdesc-full\">Seedream 5.0 Pro tworzy i edytuje obrazy z gęstymi układami infograficznymi, miejscowymi zmianami kierowanymi przestrzennie, rozdzielaniem warstw i realistycznymi teksturami fotograficznymi. Jego natywne generowanie wielojęzyczne obsługuje zlokalizowane plakaty i koncepcje projektowe z rozbudowanym tekstem na obrazie.</p><dl class=\"card-io\" data-card-io><div><dt>Akceptowane dane wejściowe</dt><dd>Tekst · Obrazy</dd></div><div><dt>Wyniki</dt><dd>Obrazy</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.</p><div class=\"mabout\" id=\"m-about\"><p>Seedream 5.0 Pro to multimodalny model ByteDance Seed do tworzenia obrazów w profesjonalnej pracy wizualnej. Łączy generowanie nowych obrazów z edycją na podstawie referencji, kładąc nacisk na strukturę projektu oraz jego wygląd. Producent przedstawia to wydanie przez cztery mocne strony: grafiki o dużej gęstości informacji, interaktywną edycję, realistyczne obrazy i natywne generowanie wielojęzyczne. Udokumentowany interfejs generowania zwraca jeden gotowy obraz; sekwencje powiązanych obrazów, wyszukiwanie i wyjście strumieniowe należą do procesów innych wydań. Optymalizacja poleceń oferuje tryby standard i fast, przy czym fast poświęca część jakości dla krótszego czasu generowania.</p><p>Złożone informacje na jednym obrazie Pro może przekształcić obszerny opis w infografikę, plakat lub wizualną koncepcję interfejsu. Przed instrukcjami dotyczącymi stylu przygotuj treść faktograficzną: zatwierdzone etykiety, wartości, relacje i kolejność odczytywania informacji. Następnie określ kompozycję, główny punkt skupienia, typografię i ilustracje pomocnicze. Przy planszy muzealnej podaj tytuł eksponatu i trzy zatwierdzone opisy, poproś o ilustrację obok każdego opisu oraz wskaż dominujący nagłówek. Porównaj gotową hierarchię i sformułowania z poleceniem, szczególnie drobniejszy tekst pomocniczy.</p><p>Takie wyjście przydaje się do materiałów edukacyjnych, wyjaśnień technicznych, grafik prezentacyjnych i wczesnego poszukiwania układu produktu. Wygenerowany obraz interfejsu pomaga przekazać pomysł wizualny; rzeczywiste kontrolki i tekst zachowuj w edytowalnym źródle projektu, gdy chcesz rozwinąć go w działający produkt. Przy infografice przechowuj oryginalną tabelę lub notatki obok obrazu, aby projektant mógł sprawdzić i poprawić poszczególne fakty.</p><p>Wskazówki przestrzenne dla zmian lokalnych Interaktywna edycja dodaje do instrukcji informację o lokalizacji. Zaznacz lub wybierz odpowiedni obszar, określ zmianę i wskaż otaczające elementy, które muszą pozostać. Producent opisuje punkty, zaznaczenia lassem lub prostokątem i szkice jako sposoby przekazywania położenia. Przy koncepcji wnętrza zaznacz tylko krzesło i poproś o inny materiał, zachowując kamerę, podłogę, ścianę i pobliskie cienie. Przy zdjęciu produktu wskaż obszar etykiety, zamiast prosić o szerokie przeprojektowanie całego przedmiotu.</p><p>Możliwości edycji Pro obejmują zmianę koloru i materiału, dodawanie lub usuwanie obiektów, tworzenie obrazu ze szkicu oraz łączenie elementów kilku referencji. Przypisz każdej referencji rolę: kompozycja bazowa, obiekt zastępczy, materiał lub paleta. Na przykład dostarcz pokój, próbkę tkaniny i referencję krzesła, a następnie poproś o krzesło w oznaczonym miejscu z zastosowaniem tej tkaniny. Porównaj wynik z każdą referencją, zwracając uwagę na skalę, punkty mocowania i oświetlenie. Przy szkicu oznacz obszary i powiedz modelowi, czy narysowane znaki mają pozostać na obrazie końcowym.</p><p>Rozdzielanie i ponowne składanie elementów wizualnych Producent pokazuje rozdzielanie obrazu na niezależne warstwy, z przezroczystymi elementami i odtworzoną zawartością tła. Przydaje się to w kompozycji wymagającej dalszej zmiany układu: wskaż tytuł, główny obiekt i dekoracje do oddzielenia, a następnie sprawdź każdy element w narzędziu projektowym. Zachowaj obraz bazowy do porównania. Zanim przesuniesz lub zastąpisz elementy, sprawdź krawędzie, brakujące szczegóły i obszary tła zasłonięte przez pierwotny obiekt. Rozdzielanie warstw jest odrębnym procesem przetwarzania obrazu; prośba o kilka niepowiązanych gotowych obrazów to inne zadanie. Proces warstw producenta wymaga jednego obrazu JPEG lub PNG: do 30 MB, od 262 144 do 36 000 000 pikseli i proporcji od 1:16 do 16:1. Wynik zawiera obraz bazowy i do 16 warstw PNG z kanałem alfa, a także nazwę, opis, kolejność stosu i prostokąt położenia każdej warstwy. Rozmiary warstw to 1K, 1.5K, 2K lub ustawienie automatyczne zachowujące proporcje źródła.</p><p>Realistyczne światło, materiały i portrety Pro kładzie nacisk na obrazy fotograficzne i komputerowe, w tym oświetlenie, zachowanie powierzchni i fakturę skóry. Użyteczne polecenie opisuje fizyczną scenę, zamiast opierać się wyłącznie na przymiotnikach: obiekt, pozycję kamery, światło główne, tło i materiały, które powinny odbijać lub przepuszczać światło. Przy koncepcji mebla określ, czy rama ma być ze szczotkowanego metalu, przezroczystego szkła czy malowanego drewna, i wyjaśnij oświetlenie. Przy obróbce portretu opisz wymagane zmiany i zachowaj istotne rysy twarzy oraz pozę. Sprawdź skórę, dłonie, odbicia i granice między materiałami w docelowym rozmiarze oglądania. Opcja przezroczystego tła producenta dotyczy edycji obrazu z dokładnie jednym wejściem, które już ma kanał alfa; przezroczyste wyjście musi być PNG. Jest to odrębne od zwykłego generowania nieprzezroczystych obrazów.</p><p>Grafiki wielojęzyczne Model obsługuje natywne polecenia i tekst renderowany w wielu popularnych językach, w tym chińskim, angielskim, francuskim, niemieckim, rosyjskim, japońskim, koreańskim, hiszpańskim i arabskim. Dostarcz dokładne zatwierdzone brzmienie, określ język i kierunek czytania oraz wskaż obszary zawierające tekst. Przy lokalizowanym plakacie zachowuj spójny układ i obrazy, podając osobno nagłówek i tekst pomocniczy. Poproś czytelnika danego języka o sprawdzenie wyniku, w tym znaków diakrytycznych, połączonych znaków, podziałów wierszy i małych etykiet.</p><p>Przygotowanie użytecznego rezultatu Zacznij od zamierzonego obrazu: grafiki bogatej w dane, lokalizowanego plakatu, koncepcji wizualnej lub precyzyjnie poprawionego obrazu źródłowego. Dostarcz treść i referencje potrzebne do konkretnego zadania, a następnie porównaj wynik z materiałami źródłowymi i wymaganymi zmianami. Proces generowania producenta przyjmuje do 10 referencji w formatach JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC lub HEIF, do 30 MB każda, z oboma bokami powyżej 14 pikseli, od 196 do 36 000 000 pikseli łącznie i proporcjami od 1:16 do 16:1. Zwraca JPEG lub PNG, z opcjami wyjścia 1K, 1.5K i 2K oraz domyślnym 2K; własne wymiary wymagają od 921 600 do 4 624 220 pikseli łącznie i tego samego zakresu proporcji. Obrazy mogą być zwracane jako zakodowane dane lub linki do pobrania wygasające w ciągu 24 godzin. Producent wskazuje dokładne renderowanie drobnego tekstu i spójność edycji na poziomie pikseli jako obszary wymagające dalszego rozwoju. Uważnie sprawdzaj gęste etykiety i obszary, które miały pozostać niezmienione, nawet gdy ogólna kompozycja wygląda przekonująco.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostępne w Ailoot · dane wejściowe i metody</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Obrazy</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Wejście</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Wyjście</dt><dd><code>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Wymaganie</th><th>Wartości i limity</th><th>Domyślnie</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>bytedance-seed/seedream-5-0-pro</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>Minimalna długość: 1</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>1K, 2K</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>1:1, 1:2, 2:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 9:19.5, 19.5:9, 9:20, 20:9, 9:21, 21:9, auto</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>integer</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>Minimum: 1</div><div>Maksimum: 1</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>array</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>Minimalna liczba elementów: 0</div><div>Maksymalna liczba elementów: 14</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametry i cykl życia metody</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Kontrakt</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>model, prompt</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>text, image</td></tr></tbody></table></div><p>Cykl życia: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cennik</h3><div class=\"card-result-process\" data-billing-basis><h5>Jak obliczana jest ostateczna opłata</h5><p class=\"note-s\">Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.</p><dl data-price-conditions><dt>Tryb szybki</dt><dd>Nie określono <span class=\"note-s\">Gdy wybrany jest tryb szybki</span></dd><dt>Tryb flex</dt><dd>Nie określono <span class=\"note-s\">Gdy wybrany jest tryb flex</span></dd><dt>Maksymalna intensywność rozumowania</dt><dd>Nie określono <span class=\"note-s\">Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Szacunkowe stawki do porównania</h4><h4>Ceny według konfiguracji</h4><p class=\"note-s\">Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguracja</th><th>Tabela stawek</th><th>Przewidywana ilość</th><th>Jednostka rozliczeniowa</th><th>Opłata</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>Bazowe stawki za tokeny</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>Stawka podstawowa</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>—</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>—</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · Tokeny wejściowe · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Odczyt cache · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div></td></tr><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>obraz wejściowy</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>—</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>za obraz wejściowy</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · obraz wejściowy · Szacunek tylko do porównania</span> <b>$0.006</b> <span class=\"price-unit\">za obraz wejściowy</span></div></td></tr><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>obraz wyjściowy</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>—</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>za obraz wyjściowy</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wyjście · obraz wyjściowy · Szacunek tylko do porównania</span> <b>$0.09</b> <span class=\"price-unit\">za obraz wyjściowy</span></div></td></tr><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>Szacowany koszt generowania</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>szacunek dla jednego generowania</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>—</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania</span> <b>$0.09</b> <span class=\"price-unit\">szacunek przed generowaniem</span></div><p class=\"note-s\">Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. <a href=\"/docs/pl/billing/reserve/\">Jak działają rezerwacja i rozliczenie →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Przykładowe żądania</h3><h4>Ailoot Ultra · Obrazy</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Warianty kodu\"><button class=\"cg-tab\" id=\"model-code-1126-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1126-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiuj kod\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1126-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1126-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;bytedance-seed/seedream-5-0-pro&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Odbieranie i zapisywanie wyników</h3><h4>Ailoot Ultra · Obrazy</h4><p class=\"note-s\">Pobierz każdy zwrócony obraz lub zapisz jego zawartość Base64</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Inne odczyty treści</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Warianty kodu\"><button class=\"cg-tab\" id=\"model-code-1127-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1127-panel-0\" aria-selected=\"true\" tabindex=\"0\">Odczytaj istniejące zasoby należące do Ciebie</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiuj kod\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1127-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1127-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Zachowaj wszystkie ukończone wyniki</h5><p class=\"note-s\">Zapisz każdy ukończony obraz; pobierz każdy zwrócony URL lub zdekoduj zawartość Base64.</p><p class=\"note-s\">Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jeśli trzeba sprawdzić pierwotną odpowiedź</h5><p class=\"note-s\">Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia.</p></div><details class=\"card-about\" data-output-fields><summary>Pola odpowiedzi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelu</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=bytedance-seed%2Fseedream-5-0-pro&amp;route=Ultra&amp;caller=bytedance-seed%2Fseedream-5-0-pro&amp;fmt=images\"><code>bytedance-seed/seedream-5-0-pro</code></a></span></p><h4>Aliasy ścieżek metod</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>Powiązane ID modeli</h4><p class=\"note-s\"><a href=\"#m=bytedance-seed%2Fseedream-5-0-pro&amp;route=Ultra&amp;caller=bytedance-seed%2Fseedream-5-0-pro&amp;fmt=images\"><code>bytedance-seed/seedream-5-0-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance-seed/seedream-5-0-pro",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|bytedance-seed%2Fseedream-5-0-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia."
            },
            "outputs": {
              "all_results": "Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seedream-5-0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "1:2",
                  "2:1",
                  "2:3",
                  "3:2",
                  "3:4",
                  "4:3",
                  "4:5",
                  "5:4",
                  "9:16",
                  "16:9",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "9:21",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 14,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "1:2",
                    "2:1",
                    "2:3",
                    "3:2",
                    "3:4",
                    "4:3",
                    "4:5",
                    "5:4",
                    "9:16",
                    "16:9",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "9:21",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 14,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seedream-5-0-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "bytedance-seed/seedream-5-0-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "obraz wejściowy",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Szacowany koszt generowania",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Obrazy",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.006",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance-seed/seedream-5-0-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "41ca353e39a051e1f1c224ac70a8434618bd6d7a88c46bd4928e7df53d7d191c",
    "input_html_sha256": "5a84baa3a40db41b4863850b1b7a9dcc21c9c83fd591c8da4756a7bd614de072",
    "private_audit_sha256": "4803acb47bebaaf62690ebf6b17c74108aed040ae762525a7d71bf92daf92372",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pl/bytedance-seed-seedream-5-0-pro/",
    "description": "Seedream 5.0 Pro tworzy i edytuje obrazy z gęstymi układami infograficznymi, miejscowymi zmianami kierowanymi przestrzennie, rozdzielaniem warstw i realistycznymi teksturami fotograficznymi. Jego natywne generowanie wielojęzyczne obsługuje zlokalizowane plakaty i koncepcje projektowe z rozbudowanym tekstem na obrazie.",
    "locale": "pl",
    "md_url": "https://ailoot.ai/models/pl/bytedance-seed-seedream-5-0-pro/index.md",
    "title": "ByteDance Seed: Seedream 5.0 Pro — Ailoot",
    "url": "https://ailoot.ai/models/pl/bytedance-seed-seedream-5-0-pro/"
  },
  "rawModel": {
    "about": "Seedream 5.0 Pro to multimodalny model ByteDance Seed do tworzenia obrazów w profesjonalnej pracy wizualnej. Łączy generowanie nowych obrazów z edycją na podstawie referencji, kładąc nacisk na strukturę projektu oraz jego wygląd. Producent przedstawia to wydanie przez cztery mocne strony: grafiki o dużej gęstości informacji, interaktywną edycję, realistyczne obrazy i natywne generowanie wielojęzyczne. Udokumentowany interfejs generowania zwraca jeden gotowy obraz; sekwencje powiązanych obrazów, wyszukiwanie i wyjście strumieniowe należą do procesów innych wydań. Optymalizacja poleceń oferuje tryby standard i fast, przy czym fast poświęca część jakości dla krótszego czasu generowania.\n\nZłożone informacje na jednym obrazie\nPro może przekształcić obszerny opis w infografikę, plakat lub wizualną koncepcję interfejsu. Przed instrukcjami dotyczącymi stylu przygotuj treść faktograficzną: zatwierdzone etykiety, wartości, relacje i kolejność odczytywania informacji. Następnie określ kompozycję, główny punkt skupienia, typografię i ilustracje pomocnicze. Przy planszy muzealnej podaj tytuł eksponatu i trzy zatwierdzone opisy, poproś o ilustrację obok każdego opisu oraz wskaż dominujący nagłówek. Porównaj gotową hierarchię i sformułowania z poleceniem, szczególnie drobniejszy tekst pomocniczy.\n\nTakie wyjście przydaje się do materiałów edukacyjnych, wyjaśnień technicznych, grafik prezentacyjnych i wczesnego poszukiwania układu produktu. Wygenerowany obraz interfejsu pomaga przekazać pomysł wizualny; rzeczywiste kontrolki i tekst zachowuj w edytowalnym źródle projektu, gdy chcesz rozwinąć go w działający produkt. Przy infografice przechowuj oryginalną tabelę lub notatki obok obrazu, aby projektant mógł sprawdzić i poprawić poszczególne fakty.\n\nWskazówki przestrzenne dla zmian lokalnych\nInteraktywna edycja dodaje do instrukcji informację o lokalizacji. Zaznacz lub wybierz odpowiedni obszar, określ zmianę i wskaż otaczające elementy, które muszą pozostać. Producent opisuje punkty, zaznaczenia lassem lub prostokątem i szkice jako sposoby przekazywania położenia. Przy koncepcji wnętrza zaznacz tylko krzesło i poproś o inny materiał, zachowując kamerę, podłogę, ścianę i pobliskie cienie. Przy zdjęciu produktu wskaż obszar etykiety, zamiast prosić o szerokie przeprojektowanie całego przedmiotu.\n\nMożliwości edycji Pro obejmują zmianę koloru i materiału, dodawanie lub usuwanie obiektów, tworzenie obrazu ze szkicu oraz łączenie elementów kilku referencji. Przypisz każdej referencji rolę: kompozycja bazowa, obiekt zastępczy, materiał lub paleta. Na przykład dostarcz pokój, próbkę tkaniny i referencję krzesła, a następnie poproś o krzesło w oznaczonym miejscu z zastosowaniem tej tkaniny. Porównaj wynik z każdą referencją, zwracając uwagę na skalę, punkty mocowania i oświetlenie. Przy szkicu oznacz obszary i powiedz modelowi, czy narysowane znaki mają pozostać na obrazie końcowym.\n\nRozdzielanie i ponowne składanie elementów wizualnych\nProducent pokazuje rozdzielanie obrazu na niezależne warstwy, z przezroczystymi elementami i odtworzoną zawartością tła. Przydaje się to w kompozycji wymagającej dalszej zmiany układu: wskaż tytuł, główny obiekt i dekoracje do oddzielenia, a następnie sprawdź każdy element w narzędziu projektowym. Zachowaj obraz bazowy do porównania. Zanim przesuniesz lub zastąpisz elementy, sprawdź krawędzie, brakujące szczegóły i obszary tła zasłonięte przez pierwotny obiekt. Rozdzielanie warstw jest odrębnym procesem przetwarzania obrazu; prośba o kilka niepowiązanych gotowych obrazów to inne zadanie. Proces warstw producenta wymaga jednego obrazu JPEG lub PNG: do 30 MB, od 262 144 do 36 000 000 pikseli i proporcji od 1:16 do 16:1. Wynik zawiera obraz bazowy i do 16 warstw PNG z kanałem alfa, a także nazwę, opis, kolejność stosu i prostokąt położenia każdej warstwy. Rozmiary warstw to 1K, 1.5K, 2K lub ustawienie automatyczne zachowujące proporcje źródła.\n\nRealistyczne światło, materiały i portrety\nPro kładzie nacisk na obrazy fotograficzne i komputerowe, w tym oświetlenie, zachowanie powierzchni i fakturę skóry. Użyteczne polecenie opisuje fizyczną scenę, zamiast opierać się wyłącznie na przymiotnikach: obiekt, pozycję kamery, światło główne, tło i materiały, które powinny odbijać lub przepuszczać światło. Przy koncepcji mebla określ, czy rama ma być ze szczotkowanego metalu, przezroczystego szkła czy malowanego drewna, i wyjaśnij oświetlenie. Przy obróbce portretu opisz wymagane zmiany i zachowaj istotne rysy twarzy oraz pozę. Sprawdź skórę, dłonie, odbicia i granice między materiałami w docelowym rozmiarze oglądania. Opcja przezroczystego tła producenta dotyczy edycji obrazu z dokładnie jednym wejściem, które już ma kanał alfa; przezroczyste wyjście musi być PNG. Jest to odrębne od zwykłego generowania nieprzezroczystych obrazów.\n\nGrafiki wielojęzyczne\nModel obsługuje natywne polecenia i tekst renderowany w wielu popularnych językach, w tym chińskim, angielskim, francuskim, niemieckim, rosyjskim, japońskim, koreańskim, hiszpańskim i arabskim. Dostarcz dokładne zatwierdzone brzmienie, określ język i kierunek czytania oraz wskaż obszary zawierające tekst. Przy lokalizowanym plakacie zachowuj spójny układ i obrazy, podając osobno nagłówek i tekst pomocniczy. Poproś czytelnika danego języka o sprawdzenie wyniku, w tym znaków diakrytycznych, połączonych znaków, podziałów wierszy i małych etykiet.\n\nPrzygotowanie użytecznego rezultatu\nZacznij od zamierzonego obrazu: grafiki bogatej w dane, lokalizowanego plakatu, koncepcji wizualnej lub precyzyjnie poprawionego obrazu źródłowego. Dostarcz treść i referencje potrzebne do konkretnego zadania, a następnie porównaj wynik z materiałami źródłowymi i wymaganymi zmianami. Proces generowania producenta przyjmuje do 10 referencji w formatach JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC lub HEIF, do 30 MB każda, z oboma bokami powyżej 14 pikseli, od 196 do 36 000 000 pikseli łącznie i proporcjami od 1:16 do 16:1. Zwraca JPEG lub PNG, z opcjami wyjścia 1K, 1.5K i 2K oraz domyślnym 2K; własne wymiary wymagają od 921 600 do 4 624 220 pikseli łącznie i tego samego zakresu proporcji. Obrazy mogą być zwracane jako zakodowane dane lub linki do pobrania wygasające w ciągu 24 godzin. Producent wskazuje dokładne renderowanie drobnego tekstu i spójność edycji na poziomie pikseli jako obszary wymagające dalszego rozwoju. Uważnie sprawdzaj gęste etykiety i obszary, które miały pozostać niezmienione, nawet gdy ogólna kompozycja wygląda przekonująco.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance Seed",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Pełny cennik konfiguracji w szczegółach."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "bytedance-seed/seedream-5-0-pro",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia."
            },
            "outputs": {
              "all_results": "Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seedream-5-0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "1:2",
                  "2:1",
                  "2:3",
                  "3:2",
                  "3:4",
                  "4:3",
                  "4:5",
                  "5:4",
                  "9:16",
                  "16:9",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "9:21",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 14,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "1:2",
                    "2:1",
                    "2:3",
                    "3:2",
                    "3:4",
                    "4:3",
                    "4:5",
                    "5:4",
                    "9:16",
                    "16:9",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "9:21",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 14,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seedream-5-0-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "bytedance-seed/seedream-5-0-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "obraz wejściowy",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Szacowany koszt generowania",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Obrazy",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.006",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance-seed/seedream-5-0-pro",
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance Seed: Seedream 5.0 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.09,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.09,
      "varies": false
    },
    "short": "Seedream 5.0 Pro tworzy i edytuje obrazy z gęstymi układami infograficznymi, miejscowymi zmianami kierowanymi przestrzennie, rozdzielaniem warstw i realistycznymi teksturami fotograficznymi. Jego natywne generowanie wielojęzyczne obsługuje zlokalizowane plakaty i koncepcje projektowe z rozbudowanym tekstem na obrazie."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Seedream 5.0 Pro tworzy i edytuje obrazy z gęstymi układami infograficznymi, miejscowymi zmianami kierowanymi przestrzennie, rozdzielaniem warstw i realistycznymi teksturami fotograficznymi. Jego natywne generowanie wielojęzyczne obsługuje zlokalizowane plakaty i koncepcje projektowe z rozbudowanym tekstem na obrazie.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "4b90e8f3fdbed6d66755bcde3bdd632ddc44bcb0dddd09413293d15fdc7701ac",
    "renderer_sha256": "1217dcf19a93e99ac1d6fd7bf974dc19adc12fea4bd4470c2601f04e48f688cb"
  },
  "sourceRevision": "29b68338cea6b0c8fe212e56252677335b0a204585172036e08adb5bb29da353"
}
