Recraft: Recraft V4 Styles
Recraft V4 Styles genererar rasterbilder i 1K med en visuell stil definierad av referenser. Den är avsedd för löpande varumärkes- och kampanjarbete där varje nytt motiv ska behålla samma rendering, textur och helhetsutseende.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Recraft V4 Styles är standardutgåvan för rasterbilder i Recrafts särskilda familj för stilkonsekvent generering. Den skapar en ny bild från en textprompt och följer en stil som fastställts av referensmaterial. Modellen är användbar för en serie illustrationer, banners eller produktscener som ska dela en igenkännbar visuell behandling. Referensen bär rendering, textur och färglogik; prompten introducerar motivet och scenen för varje nytt material.
Tillverkaren listar rasterutdata i 1K som förlustfri WebP eller PNG. Kvadratstorleken är 1024 × 1024 pixlar och den dokumenterade storleken för 16:9 är 1344 × 768; stående och andra stödda förhållanden använder egna storlekar. Utgåvan skiljer sig från Styles Pros rasterutdata i 2K och från Vector-modellerna som producerar SVG. Välj bildförhållande för slutlayouten i stället för att anta att etiketten 1K betyder att alla bilder har samma bredd och höjd.
En stil är obligatorisk. Använd en till tio PNG-, JPG- eller WebP-referenser eller en kompatibel stil sparad från tidigare stilskapande. Det dokumenterade flödet tar inte emot en sparad stilidentifierare och nya referenser tillsammans. Referenser kan vara befintligt varumärkes- eller kampanjmaterial snarare än bilder som ursprungligen genererats av Recraft. De måste vara under 20 MB per fil och högst 64 MB sammanlagt. Det finns ingen separat användarkörd träningsuppgift innan stilen kan användas. Varje referens måste ha en kortsida på minst 256 pixlar, en långsida på högst 4 096 pixlar och en total upplösning på högst 16 megapixlar.
Börja med en stark referens eller flera som redan är enhetliga i sitt visuella språk. Konsekventa referenser hjälper till att tillämpa stilen bortom ett föremål eller en pose; en orelaterad moodboard kan införa konkurrerande motiv. Flexibel matchning är standard och lämnar mer tolkningsutrymme; precis matchning följer referensens rendering, palett, komposition och ljus närmare. Exakt färgåtergivning garanteras fortfarande inte.
För en bannerserie beskriver du ett bud som ställer ett paket vid en dörr, en lugn liggande komposition och tomrum på ena sidan för senare text. Efterföljande instruktioner kan ändra händelsen eller kameravinkeln och behålla samma stil. Tillverkaren tillåter prompter på upp till 10 000 tecken, önskade färger, önskad bakgrundsfärg, ett slumpseed och en till sex bilder. Den stöder inte negative_prompt, kurerade stilnamn eller text_layout, så beskriv avsett motiv och layout direkt i instruktionen.
Styles-serien erbjuder inte bild-till-bild eller inpainting. En stilreferens styr en nygenererad bild snarare än att garantera bevarande av referensens föremål eller pixlar. Om uppsättningen ser repetitiv ut reviderar du pose, handling, utsnitt eller scendetaljer i stället för att lägga till en motstridig referens. Bedöm varje resultat i avsedd layout för tydligt motiv, användbart utrymme och sammanhängande rendering och behåll sedan samma kompatibla stil för nästa material. Det gör modellen praktisk för ett upprepningsbart visuellt språk med föränderligt innehåll.
Ailoot Ultra · Bilder POST /v1/images/generations recraft/recraft-v4-styles
recraft/recraft-v4-stylesStart
Recraft V4 Styles genererar rasterbilder i 1K med en visuell stil definierad av referenser. Den är avsedd för löpande varumärkes- och kampanjarbete där varje nytt motiv ska behålla samma rendering, textur och helhetsutseende.
- Godkända indata
- Text · Bilder
- Resultat
- Bilder
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Bilder POST /v1/images/generations
- Indatatyper
text,image- Utdatatyper
image
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser recraft/recraft-v4-styles | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Minsta längd: 1 | Standard— |
Fältaspect_ratio | Typstring | KravValfritt | Värden & gränser 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, auto | Standard— |
Fältn | Typinteger | KravValfritt | Värden & gränser Minimum: 1 Maximum: 6 | Standard— |
Fältinput_references | Typarray | KravValfritt | Värden & gränser Minsta antal objekt: 1 Maximalt antal objekt: 10 | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt |
Parametermaterial_types | Avtaltext, image |
Livscykel: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Det task_id som faktiskt returnerades eller en post i mediebiblioteket
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationIndatareferens | Prislista— | Prognostiserad mängd— | Debiteringsenhetper begäran | DebiteringsvillkorStilskapande vid generering med stilreferenser; en gång per begäran, utöver priset för utdatabilden. | Avgift Indata · Indatareferens · Uppskattning endast för jämförelse $0.01 per begäran |
| Konfigurationutdatabild | Prislista— | Prognostiserad mängd— | Debiteringsenhetper utdatabild | Debiteringsvillkor— | Avgift Utdata · utdatabild · Uppskattning endast för jämförelse $0.07 per utdatabild |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.07 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Bilder
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-styles', '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
Ta emot och spara resultat
Ailoot Ultra · Bilder
Ladda ned varje returnerad bild eller spara dess Base64-innehåll
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Andra innehållsläsningar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Behåll alla färdiga resultat
Spara varje färdig bild; hämta varje returnerad URL eller avkoda dess Base64-innehåll.
Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.
Om det ursprungliga svaret behöver kontrolleras
Behåll det returnerade värdet för X-Client-Request-ID för avstämning. Läs endast av resultat via de task_id/asset_id-värden som faktiskt returnerades eller via det mediebibliotek som tillhör dig. Bygg aldrig en uppgifts-URL från operations-ID:t och skicka aldrig skapandeförfrågan igen.
Svarsfält
| Fält | Typ |
|---|---|
Fältcreated | Typ |
Fältdata[].url | Typ |
Fältdata[].b64_json | Typ |
Fältusage | Typ |
Alias
Modellalias
Ailoot Ultra recraft/recraft-v4-styles
Alias för metodsökvägar
/v1/images
Relaterade anropar-ID:n
FAQ · Recraft: Recraft V4 Styles
- Vilka indata och resultat finns?
POST /v1/images/generations·recraft/recraft-v4-styles:text,image→image- Vilka fält använder begäran?
POST /v1/images/generations·recraft/recraft-v4-styles:model,prompt,aspect_ratio,n,input_references,provider- Vilka gränser gäller?
POST /v1/images/generations·recraft/recraft-v4-styles:n.minimum:1;n.maximum:6