modely

Recraft: Recraft V4.1 Flash

Markdown · JSON

Recraft: Recraft V4.1 Flash

Recraft V4.1 Flash generuje rastrové obrázky 1K z textu pro rychlé vizuální iterace. Podporuje fotografii, portréty, složité scény a koncepty log s výstupem PNG nebo bezztrátovým WebP a explicitními barevnými preferencemi.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Recraft V4.1 Flash je model Recraft pro generování obrázků z textu určený k rychlým iteracím a velkoobjemové vizuální práci. Výrobce označuje fotografii, portréty, atmosféru, složité scény, kombinovaná média a koncepty log za silná použití. Písemné zadání se stává rastrovým obrázkem, který lze porovnat s dalšími tvůrčími směry před vytvořením finálního materiálu. Flash je konkrétní člen rodiny V4.1 s vlastní velikostí výstupu a podporovaným ovládáním.

Nativní výstup patří do rastrové obrazové třídy Recraft 1K. Plátno zvolte podle zamýšleného umístění: vodorovnou ilustraci pro záhlaví stránky, svislý portrét nebo čtvercový vizuál pro kompaktní kartu. Výstupní formáty jsou bezztrátové WebP a PNG.

Zadání začněte hlavním objektem a vizuálním účelem a poté popište rámování, prostředí, osvětlení a médium. U produktového konceptu je užitečným pokynem: „Kompaktní krémové rádio na ořechovém stole, čelní tříčtvrteční pohled, měkké okenní světlo, klidná redakční fotografie, velkorysý prázdný prostor vlevo.“ U ilustrace určete tvarový jazyk, paletu a vztah prvků. Detaily určující nápad ponechte explicitní místo přidávání nesouvisejících přídavných jmen. Dokumentovaný limit promptu Flash je až 10 000 znaků, takže lze podrobně popsat scénu, pokud to úloha potřebuje.

Ovládání výrobce zahrnuje preferované barvy a požadovanou barvu pozadí. Pro reprodukovatelné výsledky lze dodat seed a rozhraní generování dokumentuje jeden až šest obrázků v požadavku. Tato ovládání podporují užitečnou srovnávací úlohu: ponechte objekt a kompozici stabilní, měňte jeden vizuální směr a výsledné obrázky kontrolujte vůči zamýšlenému rozvržení. Barevné preference popisují požadovaný výsledek; před spojením s existujícím designovým systémem porovnejte důležité barvy značky s hotovým materiálem.

Flash vytváří rastrovou grafiku. Koncept loga může pomoci vybrat siluetu, náladu či uspořádání, zatímco editovatelné cesty patří samostatně pojmenovaným modelům Vector. Flash také nemá variantu Pro. Úplná řada V4.1 nabízí tyto samostatné volby, když je pro výstup zásadní vektorová editace nebo detail vyššího rozlišení. Výrobce popisuje pozdější krok zdokonalení zvoleného návrhu směrem k detailnějšímu obrázku; jde o samostatnou operaci místo jiné nativní velikosti výstupu Flash.

Tato edice nepodporuje vstup image-to-image, vlastní styly, identifikátory stylů, přiřazování stylu ani stylové referenční obrázky. Její dokumentované rozhraní vylučuje také negativní prompty a explicitní ovládání rozvržení textu. Požadovaný vzhled a kompozici vložte do pozitivního zadání. Je-li písmo součástí konceptu, zamýšlené znění uveďte v uvozovkách a vykreslené znaky prohlédněte; je-li zásadní přesná typografie a umístění, použijte samostatnou fázi rozvržení.

Praktickým výsledkem Flash je zvolený vizuální směr s jasným zadáním, vhodným poměrem stran a použitelným rastrovým souborem. Objekt, rámování, pozadí a důležité detaily porovnejte ve velikosti zobrazení obrázku. Úspěšný prompt a vybraný soubor uchovejte společně, aby další tvůrčí krok sledoval zvolený směr. Rychlé iterace pomáhají zkoumat design; nativní vektorový výstup, shoda s referenčním stylem a rozlišení jiné edice V4.1 zůstávají samostatnými volbami modelu.

Ailoot Ultra · Obrázky POST /v1/images/generations recraft/recraft-v4.1-flash

recraft/recraft-v4.1-flash

Recraft /recraft/recraft-v4.1-flash

Úvod

Recraft V4.1 Flash generuje rastrové obrázky 1K z textu pro rychlé vizuální iterace. Podporuje fotografii, portréty, složité scény a koncepty log s výstupem PNG nebo bezztrátovým WebP a explicitními barevnými preferencemi.

Přijímané vstupy
Text
Výsledky
Obrázky

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Obrázky POST /v1/images/generations
Vstup
text
Výstup
image
Výstupní formát
Soubor obrázku
Počet výstupů
1 výstup
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
recraft/recraft-v4.1-flash
Výchozí—
PolepromptTypstringPožadavekPovinnéHodnoty a limity
Minimální délka: 1
Podmínky: Neprázdné zadání v UTF8. Žádný limit počtu znaků pro všechny modely výrobce se zde nedoplňuje.
Výchozí—
PolenTypintegerPožadavekVolitelnéHodnoty a limity
1
Výchozí1
Poleresponse_formatTypstringPožadavekVolitelnéHodnoty a limity
url, b64_json
Výchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limity
false
Výchozífalse
Kombinace vstupních materiálů

Text na obrázek · Povinné: prompt

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, prompt
Parametrmaterial_typesKontrakttext
ParametroptionalKontraktn, response_format, stream
ParametrnKontrakt1
ParametrstreamKontraktfalse
Parametrresponse_formatKontrakturl, b64_json
Parametrreference_imagesKontraktfalse
ParametreditKontraktfalse
Parametroutput_format_optionalKontrakt
Parametrresolution_controlKontraktnull
Parametraspect_ratio_controlKontraktnull
Parametrother_fieldsKontraktodmítnuto s výjimkou přesně určeného interního směrování poskytovatele

Životní cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutečně vrácené task_id nebo záznam v knihovně médií

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Vygenerujte jeden obrázek z textového zadání.

Uložte každou položku data; url/b64_json jsou způsoby kódování výsledku.

Tarify

Jak se vypočítá konečný poplatek

Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Odhadované sazby pro srovnání

Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

KonfiguraceTabulka sazebPředpokládané množstvíÚčtovací jednotkaPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPředpokládané množství—Účtovací jednotka—Poplatek
Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů
Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů
KonfiguraceUltraTabulka sazeb—Předpokládané množství—Účtovací jednotkaza výstupní obrázekPoplatek
Výstup · výstup obrázku · Odhad pouze pro srovnání $0.014 za výstupní obrázek
KonfiguraceOdhadovaná cena generováníTabulka sazeb—Předpokládané množstvíodhad pro jedno generováníÚčtovací jednotka—Poplatek
Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.014 odhad před generováním

Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování.

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Podrobnosti referenčního tarifu

Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.

Cenové konfigurace obrázků

Ceny podle konfigurace

KonfiguracePodmínky účtováníPoplatek
KonfiguraceVýstupní obrázekPodmínky účtováníNení deklarována žádná cenová varianta.Poplatek
Výstup · Výstupní obrázek $0.014 za obrázek

Ekvivalentní položky popisují tutéž účtovanou částku; nepřidávají druhý poplatek.

Příklady požadavků

Ailoot Ultra · Obrázky

curlPython SDKNode.js SDK
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=json.loads('{"model": "recraft/recraft-v4.1-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"}')

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
from openai import OpenAI
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")

request={'model': 'recraft/recraft-v4.1-flash', 'prompt': 'A lighthouse on a cliff, watercolor', 'n': 1, 'response_format': 'b64_json'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "recraft/recraft-v4.1-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");

Přijímání a ukládání výsledků

Ailoot Ultra · Obrázky

Stáhněte každý vrácený obrázek nebo uložte jeho obsah Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Uchovejte všechny dokončené výsledky

Uložte každý dokončený obrázek; stáhněte obsah každé vrácené URL nebo dekódujte obsah Base64.

Uložte všechny datové položky. Dekódujte každé b64_json nebo stáhněte soubor z každé vrácené podepsané URL. Příponu souboru zvolte podle skutečného typu MIME a bajtů.

Pokud je nutné ověřit původní odpověď

Pokud výsledek generování nebo úpravy obrázku vyžaduje kontrolu, uchovejte původní operation_id/X-Client-Request-ID a vrácené informace o výsledku. Existující vlastní výsledky obnovte prostřednictvím knihovny médií pomocí skutečných hodnot task_id nebo asset_id. Požadavek na generování či úpravu znovu neodesílejte a nevytvářejte URL pro dotazování na stav z operation_id.

Pole odpovědi
PoleTyp
PolecreatedTypinteger
Poledata[].urlTypstring
Poledata[].b64_jsonTypbase64 string
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.
Odpověďserver_errorPodmínkaVrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovatDalší krokUchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte.

Aliasy

Aliasy modelu

Ailoot Ultra recraft/recraft-v4.1-flash

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

recraft/recraft-v4.1-flash

FAQ · Recraft: Recraft V4.1 Flash
Jaké vstupy a výsledky jsou dostupné?

POST /v1/images/generations · recraft/recraft-v4.1-flash: text → image

Jaká pole požadavek používá?

POST /v1/images/generations · recraft/recraft-v4.1-flash: model, prompt, n, response_format, stream

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva