modeller

Recraft: Recraft V4.1 Flash

Markdown · JSON

Recraft: Recraft V4.1 Flash

Recraft V4.1 Flash genererer rasterbilder i 1K fra tekst for rask visuell iterasjon. Den støtter fotografering, portretter, komplekse scener og logokonsepter, med PNG- eller tapsfrie WebP-utdata og uttrykkelige fargepreferanser.

Om modellen

Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.

Recraft V4.1 Flash er Recrafts tekst-til-bilde-modell for rask iterasjon og visuelt arbeid i stort volum. Produsenten angir fotografering, portretter, atmosfære, komplekse scener, blandede medier og logokonsepter som sterke bruksområder. En skriftlig beskrivelse blir til et rasterbilde som kan sammenlignes med andre kreative retninger før sluttmaterialet utvikles. Flash er et bestemt medlem av V4.1-familien, med egen utdatastørrelse og egne støttede kontroller.

De opprinnelige utdataene tilhører Recrafts rasterbildeklasse 1K. Velg lerret etter den tiltenkte plasseringen: en horisontal illustrasjon til en sidetopp, et vertikalt portrett eller et kvadratisk bilde til et kompakt kort. Utdataformatene er tapsfri WebP og PNG.

Start beskrivelsen med hovedmotivet og det visuelle formålet, og beskriv deretter utsnitt, omgivelser, lyssetting og medium. For et produktkonsept er en nyttig instruksjon: «En kompakt kremfarget radio på et skrivebord i valnøtt, trekvart utsnitt forfra, mykt vinduslys, rolig redaksjonelt fotografi, rikelig tom plass til venstre.» For en illustrasjon angir du formspråket, paletten og forholdet mellom elementene. Hold detaljene som definerer ideen uttrykkelige, fremfor å legge til urelaterte adjektiver. Flashs dokumenterte promptramme er opptil 10 000 tegn, så en detaljert scene kan beskrives når oppgaven trenger det.

Produsentens kontroller inkluderer foretrukne farger og ønsket bakgrunnsfarge. En seed kan oppgis for reproduserbare resultater, og genereringsgrensesnittet dokumenterer ett til seks bilder i en forespørsel. Disse kontrollene støtter en nyttig sammenligningsoppgave: hold motiv og komposisjon faste, varier én visuell retning og vurder resultatbildene for ønsket layout. Fargepreferanser beskriver det forespurte resultatet; sammenlign viktige merkevarefarger med det ferdige materialet før det kombineres med et eksisterende designsystem.

Flash produserer rastergrafikk. Et logokonsept kan hjelpe med å velge silhuett, stemning eller oppsett, mens redigerbare baner tilhører de egne navngitte Vector-modellene. Flash har heller ingen Pro-variant. Hele V4.1-serien tilbyr disse separate valgene når vektorredigering eller detaljer med høyere oppløsning er sentralt for leveransen. Produsenten beskriver et senere forbedringstrinn for å ta et valgt utkast mot et mer detaljert bilde; dette trinnet er en egen operasjon fremfor en annen opprinnelig utdatastørrelse for Flash.

Denne utgaven støtter ikke bilde-til-bilde-inndata, egendefinerte stiler, stilidentifikatorer, stilmatching eller stilreferansebilder. Det dokumenterte grensesnittet utelukker også negative prompter og uttrykkelige kontroller for tekstlayout. Legg ønsket utseende og komposisjon i den positive beskrivelsen. Når bokstaver er en del av et konsept, setter du ønsket ordlyd i anførselstegn og undersøker de gjengitte bokstavene; bruk et eget layouttrinn når nøyaktig typografi og plassering er avgjørende.

Et praktisk resultat fra Flash er en valgt visuell retning med en tydelig beskrivelse, passende sideforhold og en brukbar rasterfil. Sammenlign motiv, utsnitt, bakgrunn og viktige detaljer i den størrelsen bildet skal vises. Behold den vellykkede prompten og den valgte filen sammen, slik at neste kreative trinn følger den valgte retningen. Rask iterasjon hjelper med å utforske designet; opprinnelige vektorutdata, matching av referansestil og oppløsningen til en annen V4.1-utgave forblir separate modellvalg.

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

recraft/recraft-v4.1-flash

Recraft /recraft/recraft-v4.1-flash

Start

Recraft V4.1 Flash genererer rasterbilder i 1K fra tekst for rask visuell iterasjon. Den støtter fotografering, portretter, komplekse scener og logokonsepter, med PNG- eller tapsfrie WebP-utdata og uttrykkelige fargepreferanser.

Godkjente inndata
Tekst
Resultater
Bilder

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Bilder POST /v1/images/generations
Inndatatyper
text
Utdatatyper
image
Utdataformat
Bildefil
Antall utdata
1 utdata
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
recraft/recraft-v4.1-flash
Standard—
FeltpromptTypestringKravPåkrevdVerdier & grenser
Minste lengde: 1
Vilkår: UTF8-ledetekst med innhold. Ingen tegnbegrensning som gjelder hele produsenten, er funnet på.
Standard—
FeltnTypeintegerKravValgfrittVerdier & grenser
1
Standard1
Feltresponse_formatTypestringKravValgfrittVerdier & grenser
url, b64_json
Standard—
FeltstreamTypebooleanKravValgfrittVerdier & grenser
false
Standardfalse
Kombinasjoner av inngående materialer

Tekst til bilde · Påkrevd: prompt

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, prompt
Parametermaterial_typesAvtaletext
ParameteroptionalAvtalen, response_format, stream
ParameternAvtale1
ParameterstreamAvtalefalse
Parameterresponse_formatAvtaleurl, b64_json
Parameterreference_imagesAvtalefalse
ParametereditAvtalefalse
Parameteroutput_format_optionalAvtale
Parameterresolution_controlAvtalenull
Parameteraspect_ratio_controlAvtalenull
Parameterother_fieldsAvtaleAvvises, bortsett fra den eksakte fastsatte interne leverandørrutingen

Livssyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · faktisk returnert task_id eller oppføring i mediebiblioteket

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Generer ett bilde fra ledeteksten.

Lagre hvert dataelement; url/b64_json er kodinger av resultatet.

Priser

Slik beregnes det endelige beløpet

De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Estimerte satser for sammenligning

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonPrisplanForventet mengdeFaktureringsenhetKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsForventet mengde—Faktureringsenhet—Kostnad
Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener
Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener
Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener
Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener
KonfigurasjonUltraPrisplan—Forventet mengde—Faktureringsenhetper utdatabildeKostnad
Utdata · bildeutdata · Estimat kun for sammenligning $0.014 per utdatabilde
KonfigurasjonAnslått genereringskostnadPrisplan—Forventet mengdeestimat for én genereringFaktureringsenhet—Kostnad
Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.014 estimat før generering

Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen.

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Detaljer om referansetariffen

Referanseprisplaner på modellnivå endrer ikke metodevalg, prisoverslag eller kostnader. Aktive kostnader bruker satsene til den valgte Ailoot-metoden.

Konfigurasjoner for bildeprising

Priser etter konfigurasjon

KonfigurasjonFaktureringsvilkårKostnad
KonfigurasjonUtdatabildeFaktureringsvilkårIngen prisvariant er deklarert.Kostnad
Utdata · Utdatabilde $0.014 per bilde

Tilsvarende oppføringer beskriver samme belastning; de legger ikke til enda en avgift.

Eksempelforespørsler

Ailoot Ultra · Bilder

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

Motta og lagre resultater

Ailoot Ultra · Bilder

Last ned hvert returnerte bilde eller lagre Base64-innholdet

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Behold alle ferdige resultater

Lagre hvert ferdige bilde; hent hver returnerte URL eller dekod Base64-innholdet.

Lagre hvert dataelement. Dekod hver b64_json, eller hent hver returnerte signerte URL. Velg filendelse ut fra faktisk MIME-type/byteinnhold.

Hvis det opprinnelige svaret må kontrolleres

Hvis et resultat fra bildegenerering eller bilderedigering må kontrolleres, bevar opprinnelig operation_id/X-Client-Request-ID og den returnerte resultatinformasjonen. Hent eksisterende resultater du eier via mediebiblioteket, ved hjelp av faktiske task_id- eller asset_id-verdier. Ikke send genererings-/redigeringsforespørselen på nytt, og ikke konstruer en URL for statusavlesning fra operation_id.

Svarfelter
FeltType
FeltcreatedTypeinteger
Feltdata[].urlTypestring
Feltdata[].b64_jsonTypebase64 string
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.
Svarserver_errorVilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleresNeste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt.

Aliaser

Modellaliaser

Ailoot Ultra recraft/recraft-v4.1-flash

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

recraft/recraft-v4.1-flash

FAQ · Recraft: Recraft V4.1 Flash
Hvilke inndata og resultater er tilgjengelige?

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

Hvilke felt bruker forespørselen?

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

Flere detaljer

Koble Ailoot til Claude Code, OpenCode, Hermes eller egen applikasjon.

Selskapet og dets prosjektportefølje

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Kjøp tokener med rabatt.

Abonnementsrabatt for jevnlig bruk. Kampanjekoder gir opptil 50% på tokenkjøp.

Abonnement
Velg et rabattabonnement for faste forespørsler.
Kampanjekode opptil 50%
Oppgi kode ved kjøp. Prisen beregnes på nytt etter gjeldende kampanje.
Kostnader i historikken
Modell, tokener og beløp lagres for hver forespørsel.

Velg abonnement · Se modellpriser

Koble API-et til produktet du selger.

SaaS, apper og boter etter Ailoots offentlige tilbud og lisensavtale. Be om forhandlerlisens for videresalg.

Kommersiell applikasjon
Bygg tekst-, bilde-, video- og lydgenerering inn i betalte funksjoner i tjenesten.
Forhandlerlisens
Send prosjektbeskrivelse og tilgangsopplegg. Be om skriftlige vilkår for bruk og videresalg.
Dokumenter på nettstedet
Offentlig tilbud, lisensavtale og retningslinjer for databehandling er tilgjengelige før tilkobling.

Be om forhandlerlisens · Offentlig tilbud og lisensavtale