mallit

Recraft: Recraft V4.1 Flash

Markdown · JSON

Recraft: Recraft V4.1 Flash

Recraft V4.1 Flash generoi tekstistä 1K-rasterikuvia nopeaan visuaaliseen iterointiin. Se tukee valokuvausta, muotokuvia, monimutkaisia kohtauksia ja logokonsepteja sekä PNG- tai häviötöntä WebP-tulosta ja täsmällisiä väritoiveita.

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

Recraft V4.1 Flash on Recraftin tekstistä kuvaksi -malli nopeaan iterointiin ja suurivolyymiseen visuaaliseen työhön. Valmistaja nimeää vahvoiksi käyttökohteiksi valokuvauksen, muotokuvat, tunnelman, monimutkaiset kohtaukset, sekatekniikan ja logokonseptit. Kirjallisesta ohjeesta syntyy rasterikuva, jota voidaan verrata muihin luoviin suuntiin ennen lopullisen kuvan kehittämistä. Flash on V4.1-perheen nimenomainen jäsen, jolla on oma tuloskokonsa ja tuetut asetuksensa.

Alkuperäinen tulos kuuluu Recraftin 1K-rasterikuvaluokkaan. Valitse piirtoalue käyttökohteen mukaan: vaakakuvitus sivun otsakkeeseen, pystymuotokuva tai neliökuva tiiviiseen korttiin. Tulosmuodot ovat häviötön WebP ja PNG.

Aloita ohje pääkohteesta ja visuaalisesta tarkoituksesta ja kuvaile sitten rajaus, ympäristö, valaistus ja tekniikka. Hyödyllinen tuotekonseptiohje on: ”Kompakti kermanvärinen radio pähkinäpuisella pöydällä, edestä kolmen neljäsosan näkymä, pehmeä ikkunavalo, rauhallinen toimituksellinen valokuva, runsaasti tyhjää tilaa vasemmalla.” Yksilöi kuvituksessa muotokieli, paletti ja elementtien suhteet. Määrittele idean ratkaisevat yksityiskohdat selvästi irrallisten adjektiivien lisäämisen sijaan. Flashin dokumentoitu kehoteraja on enintään 10 000 merkkiä, joten tarvittaessa kohtauksen voi kuvailla yksityiskohtaisesti.

Valmistajan asetuksiin kuuluvat toivotut värit ja haluttu taustaväri. Siemenen voi antaa toistettavia tuloksia varten, ja generointirajapinta dokumentoi yhdestä kuuteen kuvaa pyynnössä. Asetukset tukevat hyödyllistä vertailutehtävää: pidä kohde ja sommittelu samoina, vaihtele yhtä visuaalista suuntaa ja arvioi syntyneitä kuvia haluttua asettelua varten. Väritoiveet kuvaavat pyydettyä tulosta; vertaa tärkeitä brändivärejä valmiiseen kuvaan ennen yhdistämistä olemassa olevaan suunnittelujärjestelmään.

Flash tuottaa rasterigrafiikkaa. Logokonsepti voi auttaa siluetin, tunnelman tai järjestelyn valinnassa, kun taas muokattavat polut kuuluvat erikseen nimetyille Vector-malleille. Flashilla ei myöskään ole Pro-muunnelmaa. Koko V4.1-sarja tarjoaa nämä erilliset valinnat, kun vektorimuokkaus tai korkeamman tarkkuuden yksityiskohdat ovat toimituksen keskiössä. Valmistaja kuvaa myöhemmän tarkennusvaiheen valitun luonnoksen kehittämiseen yksityiskohtaisemmaksi kuvaksi; tämä on erillinen operaatio eikä eri alkuperäinen Flash-tuloskoko.

Tämä versio ei tue kuvasta kuvaksi -syötettä, omia tyylejä, tyylitunnisteita, tyylivastaavuutta eikä tyyliviitekuvia. Sen dokumentoitu rajapinta sulkee pois myös negatiiviset kehotteet ja täsmälliset tekstiasetteluasetukset. Kirjoita pyydetty ulkoasu ja sommittelu myönteiseen ohjeeseen. Kun konsepti sisältää tekstiä, lainaa haluttu sanamuoto ja tarkasta muodostetut kirjaimet; käytä erillistä asetteluvaihetta, kun tarkka typografia ja sijoittelu ovat välttämättömiä.

Käytännön Flash-tulos on valittu visuaalinen suunta selkeällä ohjeella, sopivalla kuvasuhteella ja käyttökelpoisella rasteritiedostolla. Vertaa kohdetta, rajausta, taustaa ja tärkeitä yksityiskohtia kuvan käyttökoossa. Säilytä onnistunut kehote ja valittu tiedosto yhdessä, jotta seuraava luova vaihe seuraa valittua suuntaa. Nopea iterointi auttaa suunnittelun tutkimisessa; alkuperäinen vektoritulos, viitetyylin vastaavuus ja toisen V4.1-version tarkkuus ovat erillisiä mallivalintoja.

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

recraft/recraft-v4.1-flash

Recraft /recraft/recraft-v4.1-flash

Aloitus

Recraft V4.1 Flash generoi tekstistä 1K-rasterikuvia nopeaan visuaaliseen iterointiin. Se tukee valokuvausta, muotokuvia, monimutkaisia kohtauksia ja logokonsepteja sekä PNG- tai häviötöntä WebP-tulosta ja täsmällisiä väritoiveita.

Hyväksytyt syötteet
Teksti
Tulokset
Kuvat

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot Ultra · Kuvat POST /v1/images/generations
Syötetyypit
text
Tulostyypit
image
Tulosteen muoto
Kuvatiedosto
Tulosteiden määrä
1 tuloste
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
recraft/recraft-v4.1-flash
Oletus—
KenttäpromptTyyppistringVaatimusPakollinenArvot & rajat
Vähimmäispituus: 1
Ehdot: Ei-tyhjä UTF8-kehote. Valmistajaa kokonaisuutena koskevaa merkkirajaa ei keksitä.
Oletus—
KenttänTyyppiintegerVaatimusValinnainenArvot & rajat
1
Oletus1
Kenttäresponse_formatTyyppistringVaatimusValinnainenArvot & rajat
url, b64_json
Oletus—
KenttästreamTyyppibooleanVaatimusValinnainenArvot & rajat
false
Oletusfalse
Syöteaineistojen yhdistelmät

Tekstistä kuvaksi · Pakollinen: prompt

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametricontent_typeSopimusapplication/json
ParametrirequiredSopimusmodel, prompt
Parametrimaterial_typesSopimustext
ParametrioptionalSopimusn, response_format, stream
ParametrinSopimus1
ParametristreamSopimusfalse
Parametriresponse_formatSopimusurl, b64_json
Parametrireference_imagesSopimusfalse
ParametrieditSopimusfalse
Parametrioutput_format_optionalSopimus
Parametriresolution_controlSopimusnull
Parametriaspect_ratio_controlSopimusnull
Parametriother_fieldsSopimushylätään, paitsi täsmällinen lukittu palveluntarjoajan sisäinen reititys

Elinkaari: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · todellisuudessa palautettu task_id tai mediakirjaston tietue

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Luo yksi kuva kehotteesta.

Tallenna jokainen data-alkio; url/b64_json ovat tuloksen koodausmuotoja.

Hinnoittelu

Lopullisen veloituksen laskenta

Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila
Ei määritetty Kun nopea tila on valittu
Flex-tila
Ei määritetty Kun flex-tila on valittu
Päättelyn enimmäisteho
Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Arvioidut vertailuhinnat

Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

AsetuksetHinnastoEnnustettu määräLaskutusyksikköVeloitus
AsetuksetTokenien perushinnatHinnastoPerushintaEnnustettu määrä—Laskutusyksikkö—Veloitus
Syöte · Syötetokenit · Arvio vain vertailua varten — / 1K tokenia
Tuloste · Tulostokenit · Arvio vain vertailua varten — / 1K tokenia
Syöte · Välimuistin luku · Arvio vain vertailua varten — / 1K tokenia
Syöte · Välimuistiin kirjoitus · Arvio vain vertailua varten — / 1K tokenia
Syöte · Välimuistiin kirjoitus, 1 tunti · Arvio vain vertailua varten — / 1K tokenia
AsetuksetUltraHinnasto—Ennustettu määrä—Laskutusyksikkötuloskuvaa kohdenVeloitus
Tuloste · kuvatuloste · Arvio vain vertailua varten $0.014 tuloskuvaa kohden
AsetuksetArvioitu luontikustannusHinnasto—Ennustettu määräyhden generoinnin arvioLaskutusyksikkö—Veloitus
Tuloste · Arvioidut generointikustannukset · Arvio vain vertailua varten $0.014 arvio ennen generointia

Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →

Viitehinnaston tiedot

Mallitason viitehinnastot eivät muuta menetelmän valintaa, hinta-arvioita tai veloituksia. Käytössä olevat veloitukset käyttävät valitun Ailoot-menetelmän hintoja.

Kuvahinnoittelun kokoonpanot

Hinnat asetusten mukaan

AsetuksetLaskutusehdotVeloitus
AsetuksetTuloskuvaLaskutusehdotHinnoitteluvaihtoehtoa ei ole määritelty.Veloitus
Tuloste · Kuvatuloste $0.014 kuvaa kohden

Vastaavat luettelomerkinnät kuvaavat samaa veloitusta; ne eivät lisää toista maksua.

Esimerkkipyynnöt

Ailoot Ultra · Kuvat

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

Vastaanota ja tallenna tulokset

Ailoot Ultra · Kuvat

Lataa jokainen palautettu kuva tai tallenna sen Base64-sisältö

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut kuva; nouda jokainen palautettu URL tai pura sen Base64-sisältö.

Tallenna jokainen data-alkio. Pura jokainen b64_json-arvo tai lataa jokaisen palautetun allekirjoitetun URL-osoitteen sisältö. Valitse tiedostopääte todellisen MIME-tyypin tai tavusisällön perusteella.

Jos alkuperäinen vastaus on tarkistettava

Jos kuvan generoinnin tai muokkauksen tulos edellyttää tarkistusta, säilytä alkuperäinen operation_id/X-Client-Request-ID ja palautetut tulostiedot. Hae olemassa olevat omistamasi tulokset mediakirjastosta käyttämällä todellisia task_id- tai asset_id-arvoja. Älä lähetä generointi- tai muokkauspyyntöä uudelleen äläkä muodosta tilakyselyn URL-osoitetta operation_id-arvosta.

Vastauksen kentät
KenttäTyyppi
KenttäcreatedTyyppiinteger
Kenttädata[].urlTyyppistring
Kenttädata[].b64_jsonTyyppibase64 string
KenttäusageTyyppiobject
Virheet ja seuraavat vaiheet
VastausEhtoSeuraava vaihe
Vastaus400 · invalid_request_errorEhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvoSeuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä.
Vastausserver_errorEhtoPalautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistustaSeuraava vaiheSäilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.

Aliakset

Mallin aliakset

Ailoot Ultra recraft/recraft-v4.1-flash

Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

Liittyvät kutsujan ID:t

recraft/recraft-v4.1-flash

FAQ · Recraft: Recraft V4.1 Flash
Mitä syötteitä ja tuloksia on saatavilla?

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

Mitä kenttiä pyyntö käyttää?

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

Lisätietoja

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus
Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.
Kampanjakoodi jopa 50%
Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.
Kulut historiassa
Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

Valitse tilaus · Katso mallihinnat

Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus
Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.
Jälleenmyyjälisenssi
Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.
Asiakirjat verkkosivustolla
Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

Pyydä jälleenmyyjälisenssi · Palveluehdot ja lisenssisopimus