modely

Recraft: Recraft V3

Markdown · JSON

Recraft: Recraft V3

Recraft V3 vytvára fotografie, ilustrácie a grafické rozloženia s kompozíciou zohľadňujúcou text a ovládaním štýlu. Jeho samostatné rastrové a SVG varianty sa hodia na plagáty, značkové obrazové sady, ikony a dizajny, v ktorých znenie a vizuálna štruktúra musia fungovať spoločne.

O modeli

Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.

Recraft V3 je model generovania obrázkov vytvorený pre grafický dizajn aj fotografické a ilustrované scény. Písané zadanie opisuje subjekt, prostredie a kompozíciu; výsledkom je obrázok. V3 rozvíja vykresľovanie textu a fotorealizmus Recraft pri zachovaní konzistentného štýlu z príkladových obrázkov bez opätovného tréningu.

Text ako súčasť kompozície

V3 pracuje s textom v obrázku vrátane dlhšieho textu a stredne veľkého písma. Recraft opisuje fázu rozloženia, ktorá stanovuje slová a ich pozície pred generovaním obrázka. Rozloženie možno vytvoriť automaticky zo zadania alebo usporiadať ručne v dizajnovom prostredí Recraft. To pomáha prepojiť nadpis, ilustráciu a podporný text v jednej kompozícii. Výrobca dokumentuje aj explicitné súradnice rozloženia textu vyjadrené relatívne k obrázku namiesto pevnej pixelovej mriežky. Každý textový prvok obsahuje jedno slovo a štyri rohové body v normalizovaných súradniciach: (0, 0) je ľavý horný a (1, 1) pravý dolný roh. Súradnice môžu presiahnuť tento rozsah a vtedy sa tvar oreže. Slová explicitného textového rozloženia musia dodržiavať dokumentované obmedzenia znakov.

Pri plagáte alebo obálke dodajte presné znenie a opíšte jeho hierarchiu: ktorý riadok vedie, kde sa nachádza a ako ho obraz podporuje. Pri výbere výsledku skontrolujte vykreslený pravopis a rozstupy.

Štýl, paleta a umelecké smerovanie

V3 obsahuje kurátorované fotografické, ilustračné a emblémové štýly a samostatnú knižnicu vektorových štýlov. Recraft V3 Raw je predvolený štýl rastrového modelu; Vector art je predvolený pre vektorový variant. Photorealism smeruje k fotografickému vzhľadu, zatiaľ čo Illustration zahŕňa štylizované textúry, tieňovanie a zložitejšie farebné prechody. Vektorové štýly uprednostňujú tvary, obmedzené palety a ploché výplne alebo jednoduché prechody.

Vlastné štýly možno vytvárať z referenčných obrázkov, existujúcich kompatibilných štýlov alebo ich kombinácie. Poskytujú opakovane použiteľný vizuálny smer naprieč obrazovou sériou. Dokumentované ovládanie miešania umožňuje referenciám a zdrojovým štýlom niesť samostatné váhy; počty váh zodpovedajú zdrojom. PaletteMatch a MaxWeight sú dve uvedené politiky miešania. Výrobca povoľuje až 10 štýlových referenčných obrázkov a pre V3 používa bežný režim zhody štýlu. Uložený vlastný štýl a priame štýlové referencie sú alternatívne vstupy a vlastný štýl musí zodpovedať modelu použitému na generovanie.

Preferované farby a farba pozadia usmerňujú paletu. Dokumentovaných je až 10 farieb RGB s každou zložkou od 0 do 255. Voliteľné relatívne váhy siahajú od 0 do 1; musia byť dodané pre každú farbu alebo pre žiadnu a ich súčet nesmie presiahnuť 1. Artistic level siaha od 0 pre statické, čisté spracovanie po 5 pre dynamickejšie, výstredné kompozície. Negatívne zadanie opisuje nechcené prvky; samostatné ovládanie bez textu vypína vložené textové rozloženia. Pre reprodukovateľnosť je dostupný náhodný seed. Tieto ovládania poskytujú rôzne možnosti pre scénu, jej štýl a vizuálne rozloženie.

Rastrové obrázky a samostatný variant SVG

Recraft dokumentuje dva varianty V3. Rastrový model vytvára bezstratový WebP alebo PNG a hodí sa na fotografické detaily, tieňovanie a textúrovanú ilustráciu. Recraft V3 Vector vytvára SVG: cesty a tvary, ktoré možno škálovať bez pevného pixelového rozlíšenia. Hodí sa na piktogramy, koncepty loga, odznaky a podrobné vektorové obrazy. Konverzia rastra na vektor je samostatná operácia od priameho generovania vektorovej tvorby.

Oba varianty majú vlastnú identitu. Obrázok s vektorovým vzhľadom a skutočný výstup SVG sú odlišné voľby. Pri príprave dizajnového postupu vyberte zamýšľaný výstup namiesto považovania spoločného názvu V3 za dôkaz, že každá operácia vracia rovnaký typ súboru.

Úpravy a dokončovanie existujúcej tvorby

Dokumentácia V3 Recraft uvádza generovanie image-to-image, inpainting, outpainting a nahradenie či generovanie pozadia. Práca image-to-image spája existujúci obrázok s novým zadaním. Inpainting regeneruje vybranú oblasť pomocou obrázka a zodpovedajúcej masky; outpainting pridáva obsah za pôvodný rám. Operácie pozadia sa týkajú okolia subjektu.

Sprievodná sada nástrojov zahŕňa aj mazanie, odstránenie pozadia, vektorizáciu a dva prístupy k zväčšovaniu rozlíšenia. Creative upscaling môže zaviesť nové detaily; crisp upscaling cieli na ostrejšie väčšie podanie existujúceho obsahu. Ide o samostatné operácie s vlastnými vstupmi a výsledkami, nie o ďalšie významy názvu rastrového či vektorového modelu.

Limity zadania, veľkosti a zdrojového obrázka

Špecifikácia generovania V3 výrobcu prijíma zadanie do 1000 znakov a 1–6 obrázkov na požiadavku. Podporuje 14 pomerov strán: 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 6:10, 14:10, 10:14, 16:9 a 9:16. Dokumentované rastrové príklady zahŕňajú 1024x1024, 1820x1024 a 1024x1820. Presné rastrové rozmery musia pochádzať z podporovaného zoznamu; SVG používa pomery strán bez pevnej pixelovej veľkosti. Keď sa veľkosť vynechá, systém výrobcu ju vyberie zo zadania.

Pri operáciách s obrazovým vstupom výrobca uvádza PNG, JPG a WebP a SVG tam, kde ho konkrétna operácia povoľuje. Súbory musia byť pod 20 MB, najviac 16 MP, s dlhšou stranou najviac 4096 pixelov. Kratšia strana má aspoň 256 pixelov, s výnimkou 32 pixelov pre crisp upscaling. Masky zodpovedajú veľkosti obrázka a používajú čistú čiernu a bielu; štýlové referencie majú spoločný limit 64 MB.

Pri projekte Ailoot API premeňte úlohu na sústredené obrazové zadanie: presný text, usporiadanie objektov, vizuálny štýl a požadovanú kompozíciu. Plagát, produktová scéna a séria ikon vyžadujú odlišné zadania; pri rozhodovaní o použití každého výsledku zachovajte relevantné rozdiely variantu V3 a operácie.

Ailoot Ultra · Obrázky POST /v1/images/generations recraft/recraft-v3

recraft/recraft-v3

Recraft /recraft/recraft-v3

Úvod

Recraft V3 vytvára fotografie, ilustrácie a grafické rozloženia s kompozíciou zohľadňujúcou text a ovládaním štýlu. Jeho samostatné rastrové a SVG varianty sa hodia na plagáty, značkové obrazové sady, ikony a dizajny, v ktorých znenie a vizuálna štruktúra musia fungovať spoločne.

Povolené vstupy
Text · Obrázky
Výsledky
Obrázky

Dostupné v Ailoot · vstupy a metódy

Ailoot Ultra · Obrázky POST /v1/images/generations
Vstup
text, image
Výstup
image
Výstupný formát
Súbor obrázka
PoleTypPožiadavkaHodnoty a limityPredvolené
PolemodelTypstringPožiadavkaPovinnéHodnoty a limity
recraft/recraft-v3
Predvolené—
PolepromptTypstringPožiadavkaPovinnéHodnoty a limity
Minimálna dĺžka: 1
Predvolené—
PolenTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 1
Maximum: 6
Predvolené—
Poleaspect_ratioTypstringPožiadavkaVoliteľnéHodnoty a limity
1:1, 4:3, 3:4, 16:9, 9:16, auto
Predvolené—
Poleinput_referencesTyparrayPožiadavkaVoliteľnéHodnoty a limity
Minimálny počet položiek: 0
Maximálny počet položiek: 1
Predvolené—
Kombinácie vstupných podkladov

Z textu na obrázok · Povinné: prompt

Parametre a životný cyklus metódy
ParameterŠpecifikácia
Parametercontent_typeŠpecifikáciaapplication/json
ParameterrequiredŠpecifikáciamodel, prompt
Parametermaterial_typesŠpecifikáciatext, image
Parameteroptional_controlsŠpecifikáciaaspect_ratio, n, input_references
Parameterexact_supported_parametersŠpecifikácia{"aspect_ratio":{"type":"enum","values":["1:1","4:3","3:4","16:9","9:16","auto"]},"n":{"type":"range","min":1,"max":6},"input_references":{"type":"range","min":0,"max":1}}
Parameterreference_material_ruleŠpecifikáciaIba skutočné referenčné obrázky zákazníka; vzťahujú sa na ne podmienky koncového bodu poskytovateľa.

Aliasy metódy: /v1/images

Životný cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutočne vrátené task_id alebo záznam v knižnici médií

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Použite presný model a zdokumentované vstupné polia.

Zachovajte celú odpoveď, každý skutočný výstup a pôvodné vrátené ID.

Cenník

Ako sa vypočíta konečný poplatok

Zobrazené sadzby slúžia na odhad nákladov pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Namerané trvanie výstupu a predpokladané množstvá nepredstavujú konečné účtované množstvo.

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim
Neuvedené Keď je zvolený rýchly režim
Režim Flex
Neuvedené Keď je zvolený režim flex
Maximálna úroveň uvažovania
Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

Odhadované sadzby na porovnanie

Ceny podľa konfigurácie

Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.

KonfiguráciaSadzobníkOdhadované množstvoÚčtovacia jednotkaPoplatok
KonfiguráciaZákladné sadzby za tokenySadzobníkZákladná sadzbaOdhadované množstvo—Účtovacia jednotka—Poplatok
Vstup · Vstupné tokeny · Odhad iba na porovnanie — / 1K tokenov
Výstup · Výstupné tokeny · Odhad iba na porovnanie — / 1K tokenov
Vstup · Čítanie cache · Odhad iba na porovnanie — / 1K tokenov
Vstup · Zápis do cache · Odhad iba na porovnanie — / 1K tokenov
Vstup · Zápis do cache, 1 hod · Odhad iba na porovnanie — / 1K tokenov
KonfiguráciaUltraSadzobník—Odhadované množstvo—Účtovacia jednotkaza výstupný obrázokPoplatok
Výstup · výstup obrázka · Odhad iba na porovnanie $0.08 za výstupný obrázok
KonfiguráciaOdhadované náklady na generovanieSadzobník—Odhadované množstvoodhad pre jedno generovanieÚčtovacia jednotka—Poplatok
Výstup · Odhadované náklady na generovanie · Odhad iba na porovnanie $0.08 odhad pred generovaním

Tento odhad nepredstavuje dodatočný poplatok ani pevnú sadzbu za dokončené generovanie.

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →

Podrobnosti referenčnej tarify

Referenčné sadzobníky modelu nemenia výber metódy, cenové odhady ani poplatky. Aktívne poplatky používajú sadzby vybranej metódy Ailoot.

Cenové konfigurácie obrázkov

Ceny podľa konfigurácie

KonfiguráciaPodmienky účtovaniaPoplatok
KonfiguráciaVýstupný obrázokPodmienky účtovaniaNie je deklarovaný žiadny cenový variant.Poplatok
Výstup · Výstupný obrázok $0.08 za obrázok

Ekvivalentné položky opisujú rovnaký poplatok; nepridávajú druhý poplatok.

Príklady požiadaviek

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={'model': 'recraft/recraft-v3', '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
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-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
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-v3", "prompt": "a red panda astronaut floating in space, studio lighting"};
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");

Prijať a uložiť výsledky

Ailoot Ultra · Obrázky

Stiahnite každý vrátený obrázok alebo 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}
Uchovať všetky dokončené výsledky

Uložte každý dokončený obrázok; stiahnite obsah z každej vrátenej URL alebo dekódujte jeho obsah Base64.

Zachovajte každú dátovú položku a úplnú spotrebu; prevezmite do vlastníctva a uložte všetky skutočne vrátené obrázky. Žiadne vymyslené URL ani ID.

Ak treba overiť pôvodnú odpoveď

Ak je potrebné skontrolovať výsledok generovania alebo úpravy obrázka, uchovajte pôvodné operation_id/X-Client-Request-ID a vrátené informácie o výsledku. Existujúce vlastné výsledky obnovte cez knižnicu médií pomocou skutočných hodnôt task_id alebo asset_id. Požiadavku na generovanie/úpravu znova neodosielajte ani nevytvárajte URL na priebežné zisťovanie stavu z operation_id.

Polia odpovede
PoleTyp
PolecreatedTypinteger
Poledata[].urlTypstring
Poledata[].b64_jsonTypbase64 string
PoleusageTypobject

Aliasy

Aliasy modelov

Ailoot Ultra recraft/recraft-v3

Aliasy ciest metód

/v1/images

Súvisiace ID na volanie

recraft/recraft-v3

FAQ · Recraft: Recraft V3
Aké vstupy a výsledky sú dostupné?

POST /v1/images/generations · recraft/recraft-v3: text, image → image

Aké polia používa požiadavka?

POST /v1/images/generations · recraft/recraft-v3: model, prompt, n, aspect_ratio, input_references

Aké limity platia?

POST /v1/images/generations · recraft/recraft-v3: n.minimum: 1; n.maximum: 6

Viac podrobností

Pripojte Ailoot k Claude Code, OpenCode, Hermes alebo vlastnej aplikácii.

Spoločnosť a jej portfólio projektov

Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.

Nakupujte tokeny so zľavou.

Zľava predplatného na pravidelnú prácu. Promo kódy až 50% na nákup tokenov.

Predplatné
Na pravidelné požiadavky vyberte tarifu so zľavou.
Promo kód až 50%
Pri nákupe zadajte kód. Cena sa prepočíta podľa prebiehajúcej akcie.
Výdavky v histórii
Pri každej požiadavke sa uloží model, tokeny a suma.

Vybrať predplatné · Zobraziť ceny modelov

Pripojte API k produktu, ktorý predávate.

SaaS, aplikácie a boti podľa ponuky a licenčnej zmluvy Ailoot. Na ďalší predaj požiadajte o licenciu predajcu.

Komerčná aplikácia
Začleňte generovanie textu, obrázkov, videa a zvuku do platených funkcií svojej služby.
Licencia pre predajcu
Pošlite popis projektu a spôsob poskytovania prístupu. Vyžiadajte písomné podmienky použitia a ďalšieho predaja.
Dokumenty na webe
Ponuka, licenčná zmluva a zásady spracovania dát sú dostupné pred pripojením.

Požiadať o licenciu predajcu · Ponuka a licenčná zmluva