Recraft: Recraft V4 Styles
Recraft V4 Styles generuje rastrowe obrazy 1K w stylu wizualnym określonym przez referencje. Jest przeznaczony do codziennych prac nad marką i kampaniami, w których każdy nowy temat ma zachowywać to samo renderowanie, teksturę i ogólny wygląd.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Recraft V4 Styles to standardowa wersja rastrowa dedykowanej rodziny Recraft do generowania ze spójnym stylem. Tworzy nowy obraz z promptu tekstowego, podążając za stylem ustanowionym przez materiały referencyjne. Model przydaje się do serii ilustracji, banerów lub scen produktowych, które mają współdzielić rozpoznawalny sposób przedstawienia. Referencja niesie renderowanie, teksturę i logikę koloru; prompt wprowadza temat i scenę dla każdego nowego materiału.
Producent podaje rastrowy wynik 1K w bezstratnym WebP lub PNG. Rozmiar kwadratowy wynosi 1024 × 1024 piksele, a udokumentowany rozmiar 16:9 to 1344 × 768; format pionowy i pozostałe obsługiwane proporcje używają własnych rozmiarów. Ta wersja jest odrębna od rastrowego wyniku 2K Styles Pro i modeli Vector tworzących SVG. Wybierz proporcje do końcowego układu, zamiast zakładać, że etykieta 1K oznacza taką samą szerokość i wysokość każdego obrazu.
Styl jest obowiązkowy. Użyj od jednego do dziesięciu referencji PNG, JPG lub WebP albo zgodnego stylu zapisanego podczas wcześniejszego tworzenia stylu. Udokumentowany proces nie przyjmuje razem identyfikatora zapisanego stylu i nowych referencji. Referencje mogą być istniejącymi materiałami marki lub kampanii, zamiast obrazów pierwotnie wygenerowanych przez Recraft. Muszą mieć poniżej 20 MB na plik i nie więcej niż 64 MB łącznie. Nie ma osobnego zadania treningowego uruchamianego przez użytkownika przed użyciem stylu. Każda referencja musi mieć najkrótszy bok co najmniej 256 pikseli, najdłuższy nie większy niż 4096 pikseli i całkowitą rozdzielczość nie większą niż 16 megapikseli.
Zacznij od jednej mocnej referencji lub kilku już zgodnych pod względem języka wizualnego. Spójne referencje pomagają stosować styl poza jednym przedmiotem lub pozą; niepowiązany moodboard może wprowadzać konkurujące motywy. Elastyczne dopasowanie jest domyślne i pozostawia więcej miejsca na interpretację; precyzyjne ściślej podąża za renderowaniem, paletą, kompozycją i oświetleniem referencji. Dokładne odtworzenie kolorów nadal nie jest gwarantowane.
W serii banerów opisz kuriera stawiającego paczkę na progu, spokojną kompozycję poziomą i wolną przestrzeń po jednej stronie na późniejszy tekst. Kolejne opisy mogą zmieniać zdarzenie lub kąt kamery, zachowując ten sam styl. Producent dopuszcza prompty do 10 000 znaków, preferowane kolory, pożądany kolor tła, ziarno losowości i od jednego do sześciu obrazów. Nie obsługuje negative_prompt, nazw stylów z biblioteki ani text_layout, dlatego opisuj zamierzony temat i układ bezpośrednio.
Linia Styles nie oferuje obraz–obraz ani uzupełniania fragmentów obrazu. Referencja stylu kieruje nowo generowanym obrazem, zamiast gwarantować zachowanie przedmiotów lub pikseli referencji. Jeśli zestaw wygląda powtarzalnie, zmień pozę, akcję, kadr lub szczegół sceny, zamiast dodawać sprzeczną referencję. Oceniaj każdy wynik w zamierzonym układzie pod kątem czytelności tematu, użytecznej przestrzeni i spójnego renderowania, a następnie zachowaj ten sam zgodny styl dla kolejnego materiału. Dzięki temu model jest praktyczny dla powtarzalnego języka wizualnego przy zmieniającej się treści.
Ailoot Ultra · Obrazy POST /v1/images/generations recraft/recraft-v4-styles
recraft/recraft-v4-stylesStart
Recraft V4 Styles generuje rastrowe obrazy 1K w stylu wizualnym określonym przez referencje. Jest przeznaczony do codziennych prac nad marką i kampaniami, w których każdy nowy temat ma zachowywać to samo renderowanie, teksturę i ogólny wygląd.
- Akceptowane dane wejściowe
- Tekst · Obrazy
- Wyniki
- Obrazy
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Obrazy POST /v1/images/generations
- Wejście
text,image- Wyjście
image
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity recraft/recraft-v4-styles | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Minimalna długość: 1 | Domyślnie— |
Poleaspect_ratio | Typstring | WymaganieOpcjonalne | Wartości i limity 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, auto | Domyślnie— |
Polen | Typinteger | WymaganieOpcjonalne | Wartości i limity Minimum: 1 Maksimum: 6 | Domyślnie— |
Poleinput_references | Typarray | WymaganieOpcjonalne | Wartości i limity Minimalna liczba elementów: 1 Maksymalna liczba elementów: 10 | Domyślnie— |
Poleprovider | Typobject | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt |
Parametrmaterial_types | Kontrakttext, image |
Cykl życia: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Cennik
Jak obliczana jest ostateczna opłata
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.
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Szacunkowe stawki do porównania
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Przewidywana ilość | Jednostka rozliczeniowa | Warunki rozliczania | Opłata |
|---|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Jednostka rozliczeniowa— | Warunki rozliczania— | Opłata Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów |
| KonfiguracjaMateriał referencyjny wejściowy | Tabela stawek— | Przewidywana ilość— | Jednostka rozliczeniowaza żądanie | Warunki rozliczaniaUtworzenie stylu przy generowaniu z materiałami referencyjnymi stylu; raz na żądanie, dodatkowo do ceny obrazu wyjściowego. | Opłata Wejście · Materiał referencyjny wejściowy · Szacunek tylko do porównania $0.01 za żądanie |
| Konfiguracjaobraz wyjściowy | Tabela stawek— | Przewidywana ilość— | Jednostka rozliczeniowaza obraz wyjściowy | Warunki rozliczania— | Opłata Wyjście · obraz wyjściowy · Szacunek tylko do porównania $0.07 za obraz wyjściowy |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Jednostka rozliczeniowa— | Warunki rozliczania— | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $0.07 szacunek przed generowaniem Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie. |
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. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Obrazy
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'recraft/recraft-v4-styles', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
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"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Odbieranie i zapisywanie wyników
Ailoot Ultra · Obrazy
Pobierz każdy zwrócony obraz lub zapisz jego zawartość Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Inne odczyty treści
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Zachowaj wszystkie ukończone wyniki
Zapisz każdy ukończony obraz; pobierz każdy zwrócony URL lub zdekoduj zawartość Base64.
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.
Jeśli trzeba sprawdzić pierwotną odpowiedź
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.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Polecreated | Typ |
Poledata[].url | Typ |
Poledata[].b64_json | Typ |
Poleusage | Typ |
Aliasy
Aliasy modelu
Ailoot Ultra recraft/recraft-v4-styles
Aliasy ścieżek metod
/v1/images
Powiązane ID modeli
FAQ · Recraft: Recraft V4 Styles
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/images/generations·recraft/recraft-v4-styles:text,image→image- Jakich pól używa żądanie?
POST /v1/images/generations·recraft/recraft-v4-styles:model,prompt,aspect_ratio,n,input_references,provider- Jakie limity obowiązują?
POST /v1/images/generations·recraft/recraft-v4-styles:n.minimum:1;n.maximum:6