models

Recraft: Recraft V4 Pro

Markdown · JSON

Recraft: Recraft V4 Pro

Recraft V4 Pro generuoja 2K rastrinius vaizdus detalioms kompozicijoms, fotorealizmui, iliustracijai ir spaudai orientuotam kūrybiniam darbui. Tai didesnės raiškos V4 versija su tekstiniais aprašais, pasirenkama stiliaus įvestimi ir atskira vaizdo keitimo pagal vaizdą eiga.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

Recraft V4 Pro yra didesnės raiškos rastrinis modelis Recraft V4 šeimoje. V4 orientuotas į vizualinius sprendimus, subalansuotą kompoziciją, nuoseklias spalvas ir atidų kūrybinės krypties interpretavimą. Gamintojas Pro skiria smulkesnėms detalėms, realistiškesnėms sudėtingoms scenoms ir dideliems gamybiniams vaizdams. Naudokite jį detaliai iliustracijai, redakciniam vaizdui, plakato koncepcijai ar kitai medžiagai, kuriai naudingas didesnis rastrinis rezultatas. Jis skiriasi nuo vėlesnio V4.1 modelio ir V4 Pro Vector SVG išvesties.

Tikslus gamintojo kodas yra recraftv4_pro. Dokumentuota išvestis – 2K rastras nenuostolingu WebP arba PNG formatu: 2048 × 2048 pikselių kvadratui, 2688 × 1536 santykiui 16:9 ir 1664 × 2560 santykiui 2:3. Kiti palaikomi santykiai turi savo matmenis. Rinkitės numatytam maketui tinkamą kraštinių santykį arba tikslų leidžiamą dydį; savavališkas dydis pikseliais nėra dokumentuoto generavimo susitarimo dalis. Standartinis V4 turi mažesnę 1K rastrinę išvestį, o vektoriniai modeliai neturi fiksuotos raiškos pikseliais.

V4 gali interpretuoti trumpą užklausą idėjų paieškai arba struktūruotą užklausą kontroliuojamam rezultatui. Konkrečiai meninei krypčiai gamintojo vadovas nuo objekto ir aplinkos pereina prie kadravimo, savybių, erdvinių santykių, apšvietimo, gylio ir nuotaikos. Redakciniam produkto vaizdui paprašykite dramatiškos vertikalios skulptūriškos kėdės fotografijos su šlifuoto metalo paviršiais, šonine šviesa, ramiu tamsiu fonu ir vieta virš objekto antraštei. Šių santykių įvardijimas norimą kompoziciją paaiškina geriau nei bendras prašymas sukurti prabangų vaizdą.

Šeimos kūrybinis spektras apima pasakojamąją iliustraciją, fotorealistines scenas ir erdvinius vaizdus su medžiagų bei apšvietimo požymiais. 3D atrodantis rezultatas vis tiek yra vaizdas, o ne redaguojama 3D scena. Grafiniam plakatui nurodykite vizualinius sluoksnius ir jų sąveiką: foną, iliustraciją ar fotografiją, antraštės hierarchiją ir papildomą tekstą. V4 skirtas įskaitomoms trumpoms ir vidutinio ilgio frazėms, tačiau galutinę rašybą ir hierarchiją reikia patikrinti, o ne numanyti iš modelio pavadinimo.

Dabartinė generavimo specifikacija leidžia iki 10 000 simbolių užklausas, nuo vieno iki šešių rezultatų, atsitiktinumo sėklą bei pageidaujamų ir fono spalvų valdiklius. Pasirenkami individualūs stiliai ar suderinami etaloniniai vaizdai gali nukreipti išvaizdą su lanksčiu arba tiksliu derinimu. Modelis nepriima senesnių V3 valdiklių negative_prompt, parinktų stilių, text_layout, artistic_level ar no_text. Norimą galutinį vaizdą aprašykite teigiama užklausa ir aiškiai išlaikykite objekto, išdėstymo bei spalvų reikalavimus. Generavimui pagal stiliaus etalonus naudokite nuo vieno iki dešimties PNG, JPG arba WebP vaizdų: iš viso ne daugiau kaip 64 MB, kiekvienas mažesnis nei 20 MB. Trumpesnė kiekvieno etalono kraštinė turi būti bent 256 pikselių, ilgesnė – ne daugiau kaip 4 096 pikselių, o raiška – ne didesnė nei 16 megapikselių. Naudokite šiuos etalonus arba suderinamą išsaugotą stilių, bet ne abu kartu.

Recraft dokumentuoja atskirą V4 vaizdo keitimo pagal vaizdą operaciją. Ji jungia esamą vaizdą ir užklausą su strength nuo 0 iki 1 pakeitimo mastui valdyti ir šioje operacijoje nepriima V4 individualių stilių valdiklių. Paruoškite šaltinį pagal gamintojo vaizdo įvesties ribas ir nurodykite savybes, kurios turėtų pereiti į naują rezultatą. Didesnei galutinei medžiagai numatytu dydžiu patikrinkite smulkias detales, apkirpimą ir užrašus. Papildomos Pro rastrinės detalės padeda tai įvertinti, tačiau vaizdas lieka sugeneruota pateikto kūrybinio aprašo interpretacija. Vaizdo keitimui pagal vaizdą pateikite mažesnį nei 20 MB PNG, JPG, WebP arba SVG, ne daugiau kaip 16 megapikselių, su abiem kraštinėmis nuo 256 iki 4 096 pikselių.

Ailoot Ultra · Vaizdai POST /v1/images/generations recraft/recraft-v4-pro

recraft/recraft-v4-pro

Recraft /recraft/recraft-v4-pro

Pradžia

Recraft V4 Pro generuoja 2K rastrinius vaizdus detalioms kompozicijoms, fotorealizmui, iliustracijai ir spaudai orientuotam kūrybiniam darbui. Tai didesnės raiškos V4 versija su tekstiniais aprašais, pasirenkama stiliaus įvestimi ir atskira vaizdo keitimo pagal vaizdą eiga.

Leidžiamos įvestys
Tekstas · Vaizdai
Rezultatai
Vaizdai

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · Vaizdai POST /v1/images/generations
Įvestis
text, image
Išvestis
image
Išvesties formatas
Vaizdo failas
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
recraft/recraft-v4-pro
Numatyta—
LaukaspromptTipasstringReikalavimasPrivalomaReikšmės ir ribos
Mažiausias ilgis: 1
Numatyta—
LaukasnTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 1
Didžiausia reikšmė: 6
Numatyta—
Laukasaspect_ratioTipasstringReikalavimasNeprivalomaReikšmės ir ribos
1:1, 4:3, 3:4, 16:9, 9:16, auto
Numatyta—
Laukasinput_referencesTipasarrayReikalavimasNeprivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 0
Didžiausias elementų skaičius: 1
Numatyta—
Įvesties medžiagos deriniai

Iš teksto į vaizdą · Privaloma: prompt

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, prompt
Parametrasmaterial_typesSpecifikacijatext, image
Parametrasoptional_controlsSpecifikacijaaspect_ratio, n, input_references
Parametrasexact_supported_parametersSpecifikacija{"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}}
Parametrasreference_material_ruleSpecifikacijaTik tikri kliento pavyzdiniai paveikslėliai; jiems taikomos teikėjo galinio taško sąlygos.

Metodo pseudonimai: /v1/images

Gyvavimo ciklas: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · faktiškai grąžinta task_id reikšmė arba medijos bibliotekos įrašas

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Naudokite tikslų modelį ir dokumentacijoje nurodytus įvesties laukus.

Išsaugokite visą atsakymą, kiekvieną tikrą rezultatą ir pradinius grąžintus ID.

Planai

Kaip apskaičiuojamas galutinis mokestis

Rodomi įkainiai leidžia įvertinti kainą prieš generavimą. Galutinė suma apskaičiuojama pagal užfiksuotą pradinio generavimo kainą. Išmatuota rezultato trukmė ir prognozuoti kiekiai nėra galutinis apmokestinamas kiekis.

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Numatomi įkainiai palyginimui

Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

KonfigūracijaĮkainių lentelėNumatomas kiekisApskaitos vienetasMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisNumatomas kiekis—Apskaitos vienetas—Mokestis
Įvestis · Įvesties tokenai · Įvertis tik palyginimui — / 1K tokenų
Išvestis · Išvesties tokenai · Įvertis tik palyginimui — / 1K tokenų
Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui — / 1K tokenų
Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui — / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui — / 1K tokenų
KonfigūracijaUltraĮkainių lentelė—Numatomas kiekis—Apskaitos vienetasuž išvesties vaizdąMokestis
Išvestis · vaizdo išvestis · Įvertis tik palyginimui $0.5 už išvesties vaizdą
KonfigūracijaNumatoma generavimo kainaĮkainių lentelė—Numatomas kiekisvieno generavimo įvertisApskaitos vienetas—Mokestis
Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui $0.5 įvertis prieš generavimą

Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis.

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Informacinio tarifo duomenys

Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.

Paveikslėlių kainodaros konfigūracijos

Kainos pagal konfigūraciją

KonfigūracijaApmokestinimo sąlygosMokestis
KonfigūracijaIšvesties paveikslėlisApmokestinimo sąlygosKainodaros variantas nedeklaruotas.Mokestis
Išvestis · Išvesties vaizdas $0.5 už vaizdą

Lygiaverčiai sąrašų įrašai apibūdina tą patį mokestį; jie neprideda antro mokesčio.

Užklausų pavyzdžiai

Ailoot Ultra · Vaizdai

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-v4-pro', '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-v4-pro', '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-v4-pro", "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");

Gauti ir išsaugoti rezultatus

Ailoot Ultra · Vaizdai

Atsisiųskite kiekvieną grąžintą vaizdą arba išsaugokite jo Base64 turinį

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdą; gaukite turinį iš kiekvieno grąžinto URL arba dekoduokite jo Base64 turinį.

Išsaugokite kiekvieną data elementą ir visus naudojimo duomenis; perimkite į savo saugyklą ir išsaugokite visus tikrus grąžintus paveikslėlius. Jokių išgalvotų URL ar ID.

Jei reikia patikrinti pradinį atsakymą

Jei vaizdo generavimo ar redagavimo rezultatą reikia patikrinti, išsaugokite pradinį operation_id/X-Client-Request-ID ir grąžintą informaciją apie rezultatą. Atkurkite prieigą prie esamų jums priklausančių rezultatų per medijos biblioteką, naudodami faktines task_id arba asset_id reikšmes. Pakartotinai neteikite generavimo ar redagavimo užklausos ir nekurkite būsenos tikrinimo URL iš operation_id.

Atsakymo laukai
LaukasTipas
LaukascreatedTipasinteger
Laukasdata[].urlTipasstring
Laukasdata[].b64_jsonTipasbase64 string
LaukasusageTipasobject

Pseudonimai

Modelių pseudonimai

Ailoot Ultra recraft/recraft-v4-pro

Metodų kelių pseudonimai

/v1/images

Susiję ID iškvietimui

recraft/recraft-v4-pro

FAQ · Recraft: Recraft V4 Pro
Kokios įvestys ir rezultatai prieinami?

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

Kokius laukus naudoja užklausa?

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

Kokie apribojimai taikomi?

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

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis