mallit

Recraft: Recraft V4 Pro

Markdown · JSON

Recraft: Recraft V4 Pro

Recraft V4 Pro generoi 2K-rasterikuvia yksityiskohtaisiin sommitelmiin, fotorealismiin, kuvitukseen ja painoon suunnattuun luovaan työhön. Se on korkeamman tarkkuuden V4-versio, jossa on tekstiohjeet, valinnaiset tyylisyötteet ja erillinen kuvasta kuvaksi -työnkulku.

Tietoa mallista

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

Recraft V4 Pro on Recraftin V4-perheen korkeamman tarkkuuden rasterimalli. V4 keskittyy visuaaliseen harkintaan, tasapainoiseen sommitteluun, yhtenäisiin väreihin ja luovan ohjeen huolelliseen tulkintaan. Valmistaja asemoi Pron hienompiin yksityiskohtiin, realistisempiin monimutkaisiin kohtauksiin ja laajoihin tuotantokuviin. Käytä sitä yksityiskohtaiseen kuvitukseen, toimitukselliseen kuvaan, julistekonseptiin tai muuhun suuremmasta rasterituloksesta hyötyvään aineistoon. Se pysyy erillään myöhemmästä V4.1-mallista ja V4 Pro Vectorin SVG-tuloksesta.

Valmistajan nimenomainen koodi on recraftv4_pro. Dokumentoitu tulos on 2K-rasteri häviöttömänä WebP:nä tai PNG:nä: neliö 2048 × 2048 pikseliä, 16:9 2688 × 1536 ja 2:3 1664 × 2560. Muilla tuetuilla suhteilla on omat mittansa. Valitse halutun asettelun kuvasuhde tai tarkka sallittu koko; mielivaltainen pikselikoko ei kuulu dokumentoituun generointisopimukseen. Tavallisella V4:llä on pienempi 1K-rasteritulos, kun taas vektorimalleilla ei ole kiinteää pikselitarkkuutta.

V4 voi tulkita lyhyen kehotteen ideointiin tai rakenteisen kehotteen hallittuun tulokseen. Tiettyä taiteellista suuntaa varten valmistajan opas etenee kohteesta ja ympäristöstä rajaukseen, ominaisuuksiin, tilallisiin suhteisiin, valaistukseen, syvyyteen ja tunnelmaan. Pyydä toimitukselliseen tuotekuvaan dramaattinen pystyvalokuva veistoksellisesta tuolista, harjatut metallipinnat, sivuvalo, rauhallinen tumma tausta ja tilaa esineen yläpuolelle otsikolle. Näiden suhteiden nimeäminen selventää haluttua sommittelua enemmän kuin yleinen laadukkaan kuvan pyyntö.

Perheen luova alue sisältää kerronnallisen kuvituksen, fotorealistiset kohtaukset ja tilalliset kuvat materiaali- ja valaistusvihjeillä. 3D:n näköinen tulos on silti kuva, ei muokattava 3D-kohtaus. Määrittele graafiseen julisteeseen visuaaliset kerrokset ja niiden vuorovaikutus: tausta, kuvitus tai valokuva, otsikkohierarkia ja tukiteksti. V4 asemoidaan luettaviin lyhyisiin ja keskipitkiin ilmauksiin, mutta lopullinen oikeinkirjoitus ja hierarkia tulee tarkastaa eikä päätellä mallinimestä.

Nykyinen generointiviite sallii enintään 10 000 merkin kehotteet, yhdestä kuuteen tulosta, satunnaissiemenen sekä toivottujen värien ja taustavärin asetukset. Valinnaiset omat tyylit tai yhteensopivat viitekuvat voivat ohjata ulkonäköä joustavalla tai tarkalla vastaavuudella. Malli ei hyväksy vanhempia V3-asetuksia negative_prompt, kuratoituja tyylejä, text_layout, artistic_level tai no_text. Kuvaile haluttu lopullinen kuva myönteisessä kehotteessa ja määrittele kohde-, asettelu- ja värivaatimukset selvästi. Käytä viitetyyligenerointiin yhdestä kymmeneen PNG-, JPG- tai WebP-kuvaa, yhteensä enintään 64 MB ja kukin alle 20 MB. Jokaisen viitteen lyhyemmän sivun on oltava vähintään 256 pikseliä, pidemmän enintään 4 096 pikseliä ja tarkkuuden enintään 16 megapikseliä. Käytä joko näitä viitteitä tai yhteensopivaa tallennettua tyyliä, älä molempia.

Recraft dokumentoi erillisen kuvasta kuvaksi -operaation V4:lle. Se yhdistää olemassa olevan kuvan ja kehotteen sekä muutoksen astetta ohjaavan voimakkuuden 0–1 eikä hyväksy siinä V4:n omia tyyliasetuksia. Valmistele lähde valmistajan kuvasyöterajojen sisällä ja kerro uuteen tulokseen siirtyvät ominaisuudet. Tarkista suuremmasta lopullisesta kuvasta hienot yksityiskohdat, rajaus ja teksti tarkoitetussa koossa. Pron suuremmat rasteriyksityiskohdat tukevat tarkastusta, mutta kuva pysyy annetun luovan ohjeen generoituna tulkintana. Anna kuvasta kuvaksi -työhön PNG, JPG, WebP tai SVG alle 20 MB:n koossa, enintään 16 megapikseliä ja molemmat sivut 256–4 096 pikseliä.

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

recraft/recraft-v4-pro

Recraft /recraft/recraft-v4-pro

Aloitus

Recraft V4 Pro generoi 2K-rasterikuvia yksityiskohtaisiin sommitelmiin, fotorealismiin, kuvitukseen ja painoon suunnattuun luovaan työhön. Se on korkeamman tarkkuuden V4-versio, jossa on tekstiohjeet, valinnaiset tyylisyötteet ja erillinen kuvasta kuvaksi -työnkulku.

Hyväksytyt syötteet
Teksti · Kuvat
Tulokset
Kuvat

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot Ultra · Kuvat POST /v1/images/generations
Syötetyypit
text, image
Tulostyypit
image
Tulosteen muoto
Kuvatiedosto
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
recraft/recraft-v4-pro
Oletus—
KenttäpromptTyyppistringVaatimusPakollinenArvot & rajat
Vähimmäispituus: 1
Oletus—
KenttänTyyppiintegerVaatimusValinnainenArvot & rajat
Vähimmäismäärä: 1
Enimmäismäärä: 6
Oletus—
Kenttäaspect_ratioTyyppistringVaatimusValinnainenArvot & rajat
1:1, 4:3, 3:4, 16:9, 9:16, auto
Oletus—
Kenttäinput_referencesTyyppiarrayVaatimusValinnainenArvot & rajat
Kohteiden vähimmäismäärä: 0
Kohteiden enimmäismäärä: 1
Oletus—
Syöteaineistojen yhdistelmät

Tekstistä kuvaksi · Pakollinen: prompt

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametricontent_typeSopimusapplication/json
ParametrirequiredSopimusmodel, prompt
Parametrimaterial_typesSopimustext, image
Parametrioptional_controlsSopimusaspect_ratio, n, input_references
Parametriexact_supported_parametersSopimus{"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}}
Parametrireference_material_ruleSopimusVain asiakkaan todelliset kuvaviitteet; niitä koskevat palveluntarjoajan rajapintapisteen ehdot.

Menetelmien aliakset: /v1/images

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}

Käytä täsmällistä mallia ja dokumentoituja syötekenttiä.

Säilytä koko vastaus, jokainen todellinen tulos ja alkuperäiset palautetut tunnisteet.

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.5 tuloskuvaa kohden
AsetuksetArvioitu luontikustannusHinnasto—Ennustettu määräyhden generoinnin arvioLaskutusyksikkö—Veloitus
Tuloste · Arvioidut generointikustannukset · Arvio vain vertailua varten $0.5 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.5 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={'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");

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ö.

Säilytä jokainen data-alkio ja kaikki käyttötiedot; ota hallintaan ja tallenna kaikki todellisuudessa palautetut kuvat. Älä keksi osoitteita tai tunnisteita.

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

Aliakset

Mallin aliakset

Ailoot Ultra recraft/recraft-v4-pro

Menetelmäpolkujen aliakset

/v1/images

Liittyvät kutsujan ID:t

recraft/recraft-v4-pro

FAQ · Recraft: Recraft V4 Pro
Mitä syötteitä ja tuloksia on saatavilla?

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

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

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

Mitä rajoja sovelletaan?

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

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