modeli

Recraft: Recraft V4.1 Flash

Markdown · JSON

Recraft: Recraft V4.1 Flash

Recraft V4.1 Flash iz besedila ustvarja rastrske slike 1K za hitro vizualno iteriranje. Podpira fotografijo, portrete, kompleksne prizore in zamisli za logotipe, z izhodom PNG ali WebP brez izgub ter izrecno določenimi barvnimi željami.

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

Recraft V4.1 Flash je Recraftov model za pretvorbo besedila v sliko, namenjen hitremu iteriranju in obsežnemu vizualnemu delu. Proizvajalec med njegova močna področja uvršča fotografijo, portrete, vzdušje, kompleksne prizore, mešane tehnike in zamisli za logotipe. Pisni opis postane rastrska slika, ki jo lahko primerjate z drugimi ustvarjalnimi usmeritvami, preden razvijete končno gradivo. Flash je določen član družine V4.1 s svojo izhodno velikostjo in podprtimi nastavitvami.

Izvirni izhod spada v Recraftov razred rastrskih slik 1K. Platno izberite glede na predvideno mesto uporabe: vodoravno ilustracijo za glavo strani, navpičen portret ali kvadratno podobo za manjšo kartico. Izhodna formata sta WebP brez izgub in PNG.

Opis začnite z glavnim motivom in vizualnim namenom, nato opišite kadriranje, okolje, osvetlitev in tehniko. Za koncept izdelka je uporabno navodilo: »Majhen radio kremne barve na orehovi mizi, pogled od spredaj pod kotom treh četrtin, mehka svetloba okna, umirjena uredniška fotografija, veliko praznega prostora na levi.« Pri ilustraciji določite jezik oblik, paleto in razmerja med elementi. Izrecno navedite podrobnosti, ki opredeljujejo idejo, namesto da dodajate nepovezane pridevnike. Dokumentirana dovoljena dolžina poziva za Flash je do 10.000 znakov, zato lahko po potrebi prizor opišete podrobno.

Proizvajalčeve nastavitve vključujejo želene barve in želeno barvo ozadja. Za ponovljivost rezultatov lahko podate seme, vmesnik za ustvarjanje pa dokumentira od ene do šest slik v zahtevi. Te nastavitve podpirajo uporabno primerjanje: motiv in kompozicijo ohranite enaka, spremenite eno vizualno usmeritev in dobljene slike preglejte glede na predvideno postavitev. Barvne želje opisujejo zahtevani rezultat; pomembne barve blagovne znamke primerjajte s končnim gradivom, preden ga združite z obstoječim oblikovnim sistemom.

Flash ustvarja rastrsko grafiko. Zamisel za logotip lahko pomaga izbrati silhueto, vzdušje ali razporeditev, medtem ko poti, ki jih je mogoče urejati, pripadajo ločeno poimenovanim modelom Vector. Flash tudi nima različice Pro. Celotna linija V4.1 ponuja te ločene možnosti, kadar sta vektorsko urejanje ali višja ločljivost ključna za končni izdelek. Proizvajalec opisuje poznejši korak dodelave, ki izbrani osnutek pripelje bližje podrobnejši sliki; ta korak je ločen postopek in ne druga izvirna izhodna velikost modela Flash.

Ta izdaja ne podpira slikovnega vhoda za pretvorbo slike v sliko, slogov po meri, identifikatorjev slogov, slogovnega ujemanja ali referenčnih slik za slog. Dokumentirani vmesnik prav tako ne vključuje negativnih pozivov in izrecnih nastavitev postavitve besedila. Želeni videz in kompozicijo vključite v pozitivni opis. Če koncept vsebuje napise, navedite želeno besedilo v narekovajih in preverite upodobljene črke; kadar sta natančna tipografija in postavitev ključni, uporabite ločen korak postavitve.

Praktični rezultat modela Flash je izbrana vizualna usmeritev z jasnim opisom, ustreznim razmerjem stranic in uporabno rastrsko datoteko. Motiv, kadriranje, ozadje in pomembne podrobnosti primerjajte pri velikosti, v kateri bo slika prikazana. Uspešni poziv in izbrano datoteko hranite skupaj, da bo naslednji ustvarjalni korak sledil izbrani usmeritvi. Hitro iteriranje pomaga raziskovati oblikovanje; izvirni vektorski izhod, ujemanje z referenčnim slogom in ločljivost druge izdaje V4.1 ostajajo ločene možnosti izbire modela.

Ailoot Ultra · Slike POST /v1/images/generations recraft/recraft-v4.1-flash

recraft/recraft-v4.1-flash

Recraft /recraft/recraft-v4.1-flash

Začetek

Recraft V4.1 Flash iz besedila ustvarja rastrske slike 1K za hitro vizualno iteriranje. Podpira fotografijo, portrete, kompleksne prizore in zamisli za logotipe, z izhodom PNG ali WebP brez izgub ter izrecno določenimi barvnimi željami.

Dovoljeni vhodi
Besedilo
Rezultati
Slike

Na voljo v Ailoot · vhodi in metode

Ailoot Ultra · Slike POST /v1/images/generations
Vhod
text
Izhod
image
Izhodni format
Slikovna datoteka
Število izhodov
1 izhod
PoljeVrstaZahtevaVrednosti in omejitvePrivzeto
PoljemodelVrstastringZahtevaObveznoVrednosti in omejitve
recraft/recraft-v4.1-flash
Privzeto—
PoljepromptVrstastringZahtevaObveznoVrednosti in omejitve
Najmanjša dolžina: 1
Pogoji: Neprazen poziv UTF8. Splošne omejitve števila znakov za vse modele proizvajalca ne določamo.
Privzeto—
PoljenVrstaintegerZahtevaIzbirnoVrednosti in omejitve
1
Privzeto1
Poljeresponse_formatVrstastringZahtevaIzbirnoVrednosti in omejitve
url, b64_json
Privzeto—
PoljestreamVrstabooleanZahtevaIzbirnoVrednosti in omejitve
false
Privzetofalse
Kombinacije vhodnih gradiv

Iz besedila v sliko · Obvezno: prompt

Parametri in življenjski cikel metode
ParameterSpecifikacija
Parametercontent_typeSpecifikacijaapplication/json
ParameterrequiredSpecifikacijamodel, prompt
Parametermaterial_typesSpecifikacijatext
ParameteroptionalSpecifikacijan, response_format, stream
ParameternSpecifikacija1
ParameterstreamSpecifikacijafalse
Parameterresponse_formatSpecifikacijaurl, b64_json
Parameterreference_imagesSpecifikacijafalse
ParametereditSpecifikacijafalse
Parameteroutput_format_optionalSpecifikacija
Parameterresolution_controlSpecifikacijanull
Parameteraspect_ratio_controlSpecifikacijanull
Parameterother_fieldsSpecifikacijazavrnjeno, razen za natančno pripeto notranje usmerjanje ponudnika

Življenjski cikel: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Dejansko vrnjeni task_id ali zapis v medijski knjižnici

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Ustvarite eno sliko iz poziva.

Shranite vsak element data; url/b64_json sta kodiranji rezultatov.

Cenik

Kako se izračuna končni strošek

Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način
Ni navedeno Ko je izbran hitri način
Način flex
Ni navedeno Ko je izbran način flex
Najvišja raven razmišljanja
Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Ocenjene cene za primerjavo

Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

NastavitevCenovna lestvicaPredvidena količinaObračunska enotaStrošek
NastavitevOsnovne cene žetonovCenovna lestvicaOsnovna cenaPredvidena količina—Obračunska enota—Strošek
Vhod · Vhodni žetoni · Ocena samo za primerjavo — / 1K žetonov
Izhod · Izhodni žetoni · Ocena samo za primerjavo — / 1K žetonov
Vhod · Branje predpomnilnika · Ocena samo za primerjavo — / 1K žetonov
Vhod · Zapis v predpomnilnik · Ocena samo za primerjavo — / 1K žetonov
Vhod · Zapis v predpomnilnik, 1 ura · Ocena samo za primerjavo — / 1K žetonov
NastavitevUltraCenovna lestvica—Predvidena količina—Obračunska enotana izhodno slikoStrošek
Izhod · izhod slike · Ocena samo za primerjavo $0.014 na izhodno sliko
NastavitevOcenjeni strošek ustvarjanjaCenovna lestvica—Predvidena količinaocena za eno generiranjeObračunska enota—Strošek
Izhod · Ocenjeni stroški ustvarjanja · Ocena samo za primerjavo $0.014 ocena pred ustvarjanjem

Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje.

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →

Podrobnosti referenčne tarife

Referenčne lestvice modela ne spreminjajo izbire metode, ocen cen ali stroškov. Veljavni stroški uporabljajo cene izbrane metode Ailoot.

Konfiguracije cen slik

Cene po nastavitvah

NastavitevObračunski pogojiStrošek
NastavitevIzhodna slikaObračunski pogojiRazličica cen ni deklarirana.Strošek
Izhod · Izhodna slika $0.014 na sliko

Enakovredne navedbe opisujejo isti zaračunani znesek; ne dodajajo druge pristojbine.

Primeri zahtev

Ailoot Ultra · Slike

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

Prejmi in shrani rezultate

Ailoot Ultra · Slike

Prenesite vsako vrnjeno sliko ali shranite njeno vsebino Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Ohrani vse dokončane rezultate

Shranite vsako dokončano sliko; pridobite vsebino z vsake vrnjene URL ali dekodirajte njeno vsebino Base64.

Shranite vsak podatkovni element. Dekodirajte vsak b64_json ali pridobite vsebino z vsakega vrnjenega podpisanega URL. Končnico imena datoteke izberite glede na dejanski tip MIME oziroma bajte.

Če je treba preveriti izvirni odgovor

Če je treba preveriti rezultat generiranja ali urejanja slike, shranite izvirni operation_id/X-Client-Request-ID in vrnjene podatke o rezultatu. Obstoječe rezultate, ki vam pripadajo, pridobite prek medijske knjižnice z dejanskimi vrednostmi task_id ali asset_id. Zahteve za generiranje/urejanje ne pošiljajte znova in iz operation_id ne sestavljajte URL za periodično preverjanje stanja.

Polja odgovora
PoljeVrsta
PoljecreatedVrstainteger
Poljedata[].urlVrstastring
Poljedata[].b64_jsonVrstabase64 string
PoljeusageVrstaobject
Napake in naslednji koraki
OdgovorPogojNaslednji korak
Odgovor400 · invalid_request_errorPogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametraNaslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja.
Odgovorserver_errorPogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveritiNaslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.

Druga imena

Druga imena modelov

Ailoot Ultra recraft/recraft-v4.1-flash

Druga imena poti metod

Uporabite zgoraj navedene poti metod.

Povezani ID-ji za klic

recraft/recraft-v4.1-flash

FAQ · Recraft: Recraft V4.1 Flash
Kateri vhodi in rezultati so na voljo?

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

Katera polja uporablja zahteva?

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

Več podrobnosti

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina
Za redne zahteve izberite paket s popustom.
Promocijska koda do 50%
Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.
Poraba v zgodovini
Za vsako zahtevo se shranijo model, žetoni in znesek.

Izberite naročnino · Oglejte si cene modelov

API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija
Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.
Licenca za preprodajalca
Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.
Dokumenti na strani
Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

Zaprosite za preprodajno licenco · Ponudba in licenčna pogodba