models

Recraft: Recraft V4.1 Flash

Markdown · JSON

Recraft: Recraft V4.1 Flash

A Recraft V4.1 Flash szövegből generál 1K raszterképeket gyors vizuális iterációhoz. Fotográfiát, portrékat, összetett jeleneteket és logókoncepciókat támogat PNG vagy veszteségmentes WebP kimenettel és kifejezett színpreferenciákkal.

A modellről

Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.

A Recraft V4.1 Flash a Recraft szöveg-kép modellje gyors iterációhoz és nagy volumenű vizuális munkához. A gyártó erős felhasználásként fotográfiát, portrékat, hangulatot, összetett jeleneteket, vegyes médiát és logókoncepciókat nevez meg. Írott leírásból raszterkép lesz, amely más alkotói irányokkal összevethető a végleges kép kidolgozása előtt. A Flash a V4.1 család konkrét tagja, saját kimeneti mérettel és támogatott vezérlőkkel.

A natív kimenet a Recraft 1K raszterképosztályába tartozik. A vásznat a kívánt elhelyezéshez válaszd: vízszintes illusztráció oldalfejléchez, függőleges portré vagy négyzetes vizuál kompakt kártyához. A kimeneti formátum veszteségmentes WebP és PNG.

A leírást a fő témával és vizuális céllal kezdd, majd írd le a képkivágást, környezetet, világítást és médiumot. Termékkoncepcióhoz hasznos utasítás: „Kompakt krémszínű rádió diófa íróasztalon, elülső háromnegyedes nézet, lágy ablakfény, nyugodt szerkesztőségi fotó, bőséges üres tér baloldalt.” Illusztrációnál nevezd meg a formanyelvet, palettát és elemek kapcsolatát. Az ötletet meghatározó részletek legyenek kifejezettek, független jelzők hozzáadása helyett. A Flash dokumentált promptkerete legfeljebb 10 000 karakter, így szükség esetén részletes jelenet is leírható.

A gyártó vezérlői preferált színeket és kívánt háttérszínt tartalmaznak. Reprodukálhatósághoz seed adható meg, generálási felülete pedig kérésenként egy–hat képet dokumentál. E vezérlők hasznos összehasonlítást támogatnak: tartsd változatlanul a témát és a kompozíciót, változtass egy vizuális irányt, és a kapott képeket ellenőrizd a kívánt elrendezéshez képest. A színpreferencia a kért eredményt írja le; fontos márkaszíneket a kész képpel vess össze, mielőtt meglévő dizájnrendszerhez kapcsolod.

A Flash rasztergrafikát készít. Logókoncepció segíthet sziluett, hangulat vagy elrendezés kiválasztásában, a szerkeszthető görbék viszont a külön megnevezett Vector modellekhez tartoznak. A Flashnek Pro változata sincs. A teljes V4.1 termékvonal külön választásként kínálja ezeket, ha a vektorszerkesztés vagy nagyobb felbontású részletesség központi követelmény. A gyártó későbbi finomítási lépést ír le kiválasztott vázlat részletesebb képpé fejlesztéséhez; ez külön művelet, nem másik natív Flash kimeneti méret.

E kiadás nem támogat kép-kép bemenetet, egyéni stílust, stílusazonosítót, stílusillesztést vagy stílusreferenciaképet. Dokumentált felülete negatív promptot és kifejezett szövegelrendezési vezérlőt is kizár. A kívánt megjelenést és kompozíciót a pozitív leírásba tedd. Ha felirat része a koncepciónak, idézd a kívánt szöveget és ellenőrizd a megjelenített betűket; ha pontos tipográfia és elhelyezés létfontosságú, használj külön elrendezési szakaszt.

A Flash gyakorlati eredménye kiválasztott vizuális irány világos leírással, megfelelő oldalaránnyal és használható raszterfájllal. A témát, képkivágást, hátteret és fontos részleteket a megjelenési méretben vesd össze. A sikeres promptot és kiválasztott fájlt őrizd meg együtt, hogy a következő alkotói lépés a kiválasztott irányt kövesse. A gyors iteráció segíti a dizájn felfedezését; a natív vektorkimenet, referenciastílus-illesztés és más V4.1 kiadás felbontása külön modellválasztás marad.

Ailoot Ultra · Képek POST /v1/images/generations recraft/recraft-v4.1-flash

recraft/recraft-v4.1-flash

Recraft /recraft/recraft-v4.1-flash

Kezdő lépések

A Recraft V4.1 Flash szövegből generál 1K raszterképeket gyors vizuális iterációhoz. Fotográfiát, portrékat, összetett jeleneteket és logókoncepciókat támogat PNG vagy veszteségmentes WebP kimenettel és kifejezett színpreferenciákkal.

Elfogadott bemenetek
Szöveg
Eredmények
Képek

Elérhető az Ailootban · bemenetek és metódusok

Ailoot Ultra · Képek POST /v1/images/generations
Bemenet
text
Kimenet
image
Kimeneti formátum
Képfájl
Kimenetek száma
1 kimenet
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
recraft/recraft-v4.1-flash
Alapértelmezett—
MezőpromptTípusstringKövetelményKötelezőÉrtékek és korlátok
Minimális hossz: 1
Feltételek: Nem üres UTF8 szöveges utasítás. Nem vezetünk be kitalált, a gyártó összes modelljére érvényes karakterkorlátot.
Alapértelmezett—
MezőnTípusintegerKövetelményOpcionálisÉrtékek és korlátok
1
Alapértelmezett1
Mezőresponse_formatTípusstringKövetelményOpcionálisÉrtékek és korlátok
url, b64_json
Alapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
false
Alapértelmezettfalse
Bemeneti anyagok kombinációi

Szövegből kép · Kötelező: prompt

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétercontent_typeSzerződésapplication/json
ParaméterrequiredSzerződésmodel, prompt
Paramétermaterial_typesSzerződéstext
ParaméteroptionalSzerződésn, response_format, stream
ParaméternSzerződés1
ParaméterstreamSzerződésfalse
Paraméterresponse_formatSzerződésurl, b64_json
Paraméterreference_imagesSzerződésfalse
ParamétereditSzerződésfalse
Paraméteroutput_format_optionalSzerződés
Paraméterresolution_controlSzerződésnull
Paraméteraspect_ratio_controlSzerződésnull
Paraméterother_fieldsSzerződéselutasítva, kivéve a pontosan rögzített belső szolgáltatói útválasztást

Életciklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · A ténylegesen visszaadott task_id vagy a médiatár bejegyzése

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Generáljon egy képet a szöveges utasításból.

Mentse el az összes adatelemet; az url/b64_json az eredmény kódolási formáját jelöli.

Díjcsomagok

A végső díj számítása

A megjelenített díjtételek a generálás előtti költségbecsléshez szolgálnak. A végleges díj az eredeti generáláshoz rögzített költségből számítódik. A kimenet mért időtartama és az előre jelzett mennyiségek nem azonosak a véglegesen elszámolandó mennyiséggel.

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód
Nincs megadva Ha a gyors mód van kiválasztva
Flex mód
Nincs megadva Ha a flex mód van kiválasztva
Maximális gondolkodási ráfordítás
Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Becsült díjak összehasonlításhoz

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatElőre jelzett mennyiségElszámolási egységDíj
BeállításTokenek alapdíjaiDíjtáblázatAlapdíjElőre jelzett mennyiség—Elszámolási egység—Díj
Bemenet · Bemeneti tokenek · Becslés, csak összehasonlításra — / 1K token
Kimenet · Kimeneti tokenek · Becslés, csak összehasonlításra — / 1K token
Bemenet · Gyorsítótár olvasása · Becslés, csak összehasonlításra — / 1K token
Bemenet · Írás a gyorsítótárba · Becslés, csak összehasonlításra — / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra · Becslés, csak összehasonlításra — / 1K token
BeállításUltraDíjtáblázat—Előre jelzett mennyiség—Elszámolási egységkimeneti képenkéntDíj
Kimenet · képkimenet · Becslés, csak összehasonlításra $0.014 kimeneti képenként
BeállításA generálás becsült költségeDíjtáblázat—Előre jelzett mennyiségbecslés egy generálásraElszámolási egység—Díj
Kimenet · Becsült generálási költség · Becslés, csak összehasonlításra $0.014 becslés a generálás előtt

Ez a becslés nem jelent további díjat, és nem rögzített díjszabás az elkészült generálásra.

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

A referencia-díjszabás részletei

A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.

Képárazási beállítások

Árak beállításonként

BeállításElszámolási feltételekDíj
BeállításKimeneti képElszámolási feltételekNincs deklarált árazási változat.Díj
Kimenet · Kimeneti kép $0.014 képenként

Az egyenértékű felsorolások ugyanazt a díjat írják le; nem jelentenek második díjat.

Példakérések

Ailoot Ultra · Képek

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");

Eredmények fogadása és mentése

Ailoot Ultra · Képek

Töltsön le minden visszaadott képet, vagy mentse a Base64-tartalmat

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Őrizzen meg minden elkészült eredményt

Mentsen minden elkészült képet; töltse le az összes visszaadott URL tartalmát, vagy dekódolja a Base64-tartalmat.

Mentsen minden adatelemet. Dekódoljon minden b64_json értéket, vagy töltse le minden visszaadott, aláírt URL tartalmát. A fájlnév kiterjesztését a tényleges MIME-típus/bájtok alapján válassza ki.

Ha az eredeti választ ellenőrizni kell

Ha egy képgenerálási vagy képszerkesztési eredmény ellenőrzést igényel, őrizze meg az eredeti operation_id/X-Client-Request-ID értéket és a visszaadott eredményadatokat. A saját, már meglévő eredményeket a médiatárból állítsa helyre a tényleges task_id vagy asset_id értékekkel. Ne küldje be újra a generálási/szerkesztési kérést, és ne állítson össze állapotlekérdezési URL-t az operation_id értékéből.

Válaszmezők
MezőTípus
MezőcreatedTípusinteger
Meződata[].urlTípusstring
Meződata[].b64_jsonTípusbase64 string
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.
Válaszserver_errorFeltételA visszaadott válasz szerint a művelet vagy az eredmény ellenőrzést igényelKövetkező lépésŐrizze meg az eredetileg visszaadott művelet- vagy feladatazonosítót, a kérés fejléceit és a választ; folytassa az eredeti művelet támogatott lekérdezéseit. Ne küldje be újra a létrehozási kérést.

Álnevek

Modell álnevei

Ailoot Ultra recraft/recraft-v4.1-flash

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

recraft/recraft-v4.1-flash

FAQ · Recraft: Recraft V4.1 Flash
Milyen bemenetek és eredmények érhetők el?

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

Mely mezőket használja a kérés?

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

További részletek

Csatlakoztassa az Ailootot a Claude Code-hoz, OpenCode-hoz, Hermeshez vagy saját alkalmazásához.

A vállalat és projektportfóliója

A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.

Vásároljon tokeneket kedvezménnyel.

Előfizetési kedvezmény rendszeres munkához. Promókódok — akár 50% tokenvásárlási kedvezmény.

Előfizetés
Válasszon kedvezményes tarifát a rendszeres kéréseihez.
Promókód akár 50%-ig
Vásárláskor adja meg a kódot. Az ár az érvényes akció szerint újraszámolódik.
Költségek az előzményekben
Minden kéréshez megmarad a modell, a tokenek és az összeg.

Előfizetés kiválasztása · Modellárak megtekintése

Csatlakoztassa az API-t az értékesített termékéhez.

SaaS, alkalmazások és botok — az Ailoot ajánlati feltételei és licencszerződése alapján. Viszonteladáshoz kérjen viszonteladói licencet.

Kereskedelmi alkalmazás
Építsen szöveg-, kép-, videó- és hanggenerálást szolgáltatása fizetős funkcióiba.
Viszonteladói licenc
Küldje el a projekt leírását és a hozzáférés módját. Kérjen írásos használati és viszonteladási feltételeket.
Dokumentumok a weboldalon
Az ajánlati feltételek, licencszerződés és adatkezelési szabályzat már a csatlakoztatás előtt elérhető.

Viszonteladói licenc kérése · Ajánlati feltételek és licencszerződés