Modelle

Recraft: Recraft V4 Pro

Markdown · JSON

Recraft: Recraft V4 Pro

Recraft V4 Pro erzeugt 2K-Rasterbilder für detailreiche Kompositionen, Fotorealismus, Illustration und kreative Arbeiten für den Druck. Es ist die höher auflösende V4-Ausgabe mit Textbriefings, optionalen Stileingaben und einem separaten Image-to-Image-Workflow.

Über das Modell

Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.

Recraft V4 Pro ist das höher auflösende Rastermodell der V4-Familie von Recraft. V4 konzentriert sich auf gestalterisches Urteilsvermögen, ausgewogene Komposition, stimmige Farben und die sorgfältige Interpretation kreativer Vorgaben. Der Hersteller positioniert Pro für feinere Details, realistischere komplexe Szenen und aufwendige Produktionsmotive. Verwenden Sie es für eine detaillierte Illustration, ein redaktionelles Bild, einen Plakatentwurf oder ein anderes Motiv, das von einem größeren Rasterergebnis profitiert. Es bleibt vom späteren Modell V4.1 und der SVG-Ausgabe von V4 Pro Vector getrennt.

Der genaue Herstellercode lautet recraftv4_pro. Dokumentiert ist eine 2K-Rasterausgabe als verlustfreies WebP oder PNG: 2048 × 2048 Pixel im Quadrat, 2688 × 1536 bei 16:9 und 1664 × 2560 bei 2:3. Weitere unterstützte Seitenverhältnisse haben eigene Abmessungen. Wählen Sie ein Seitenverhältnis für das vorgesehene Layout oder eine exakt zulässige Größe. Eine beliebige Pixelgröße gehört nicht zum dokumentierten Generierungsumfang. Standard-V4 hat eine kleinere 1K-Rasterausgabe, während Vektormodelle keine feste Pixelauflösung haben.

V4 kann einen kurzen Prompt zur Erkundung oder einen strukturierten Prompt für ein kontrolliertes Ergebnis interpretieren. Für eine konkrete Art Direction führt der Herstellerleitfaden von Motiv und Umgebung zu Bildausschnitt, Eigenschaften, räumlichen Beziehungen, Beleuchtung, Tiefe und Stimmung. Fordern Sie für ein redaktionelles Produktbild ein dramatisches vertikales Foto eines skulpturalen Stuhls, gebürstete Metalloberflächen, Seitenlicht, einen ruhigen dunklen Hintergrund und Platz über dem Objekt für einen Titel an. Diese Beziehungen zu benennen macht die beabsichtigte Komposition klarer als eine allgemeine Bitte um ein hochwertiges Bild.

Das kreative Spektrum der Familie umfasst erzählerische Illustration, fotorealistische Szenen und räumlich wirkende Motive mit Material- und Lichtvorgaben. Ein Ergebnis mit 3D-Optik ist weiterhin ein Bild, keine bearbeitbare 3D-Szene. Geben Sie für ein grafisches Plakat die visuellen Ebenen und ihr Zusammenspiel an: Hintergrund, Illustration oder Foto, Hierarchie der Überschriften und ergänzender Text. V4 ist auf lesbare kurze und mittellange Formulierungen ausgerichtet. Die fertige Schreibweise und Hierarchie sollten jedoch geprüft und nicht aus dem Modellnamen abgeleitet werden.

Die aktuelle Generierungsreferenz erlaubt Prompts mit bis zu 10.000 Zeichen, ein bis sechs Ausgaben, einen Zufalls-Seed sowie Vorgaben für bevorzugte Farben und die Hintergrundfarbe. Optionale benutzerdefinierte Stile oder kompatible Referenzbilder können das Erscheinungsbild mit flexiblem oder präzisem Abgleich leiten. Das Modell akzeptiert die älteren V3-Steuerelemente negative_prompt, kuratierte Stile, text_layout, artistic_level und no_text nicht. Beschreiben Sie das beabsichtigte fertige Bild im positiven Prompt und nennen Sie Motiv-, Layout- und Farbanforderungen ausdrücklich. Verwenden Sie für die Generierung mit Stilreferenzen ein bis zehn PNG-, JPG- oder WebP-Bilder, insgesamt höchstens 64 MB und jeweils unter 20 MB. Bei jeder Referenz muss die kürzeste Seite mindestens 256 Pixel, die längste höchstens 4.096 Pixel messen; die Auflösung darf höchstens 16 Megapixel betragen. Verwenden Sie entweder diese Referenzen oder einen kompatiblen gespeicherten Stil, nicht beides.

Recraft dokumentiert eine separate Image-to-Image-Operation für V4. Sie kombiniert ein vorhandenes Bild und einen Prompt mit einer Stärke von 0 bis 1, um das Ausmaß der Veränderung zu steuern. Benutzerdefinierte V4-Stilsteuerungen werden in dieser Operation nicht akzeptiert. Bereiten Sie die Vorlage innerhalb der Bild-Eingabegrenzen des Herstellers vor und nennen Sie die Merkmale, die in das neue Ergebnis übernommen werden sollen. Prüfen Sie bei einem größeren finalen Motiv feine Details, Zuschnitt und Schrift in der vorgesehenen Größe. Die zusätzlichen Rasterdetails von Pro unterstützen diese Prüfung. Das Bild bleibt dabei eine generierte Interpretation des vorgegebenen kreativen Briefings. Verwenden Sie für Image-to-Image PNG, JPG, WebP oder SVG unter 20 MB, mit höchstens 16 Megapixeln und beiden Seiten zwischen 256 und 4.096 Pixeln.

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

recraft/recraft-v4-pro

Recraft /recraft/recraft-v4-pro

Start

Recraft V4 Pro erzeugt 2K-Rasterbilder für detailreiche Kompositionen, Fotorealismus, Illustration und kreative Arbeiten für den Druck. Es ist die höher auflösende V4-Ausgabe mit Textbriefings, optionalen Stileingaben und einem separaten Image-to-Image-Workflow.

Zulässige Eingaben
Text · Bilder
Ergebnisse
Bilder

In Ailoot verfügbar · Eingaben und Methoden

Ailoot Ultra · Bilder POST /v1/images/generations
Eingabetypen
text, image
Ausgabetypen
image
Ausgabeformat
Bilddatei
FeldTypAnforderungWerte und LimitsStandard
FeldmodelTypstringAnforderungErforderlichWerte und Limits
recraft/recraft-v4-pro
Standard—
FeldpromptTypstringAnforderungErforderlichWerte und Limits
Mindestlänge: 1
Standard—
FeldnTypintegerAnforderungOptionalWerte und Limits
Minimum: 1
Maximum: 6
Standard—
Feldaspect_ratioTypstringAnforderungOptionalWerte und Limits
1:1, 4:3, 3:4, 16:9, 9:16, auto
Standard—
Feldinput_referencesTyparrayAnforderungOptionalWerte und Limits
Mindestanzahl Elemente: 0
Maximale Anzahl Elemente: 1
Standard—
Kombinationen von Eingabematerialien

Text zu Bild · Erforderlich: prompt

Methodenparameter und Lebenszyklus
ParameterVertrag
Parametercontent_typeVertragapplication/json
ParameterrequiredVertragmodel, prompt
Parametermaterial_typesVertragtext, image
Parameteroptional_controlsVertragaspect_ratio, n, input_references
Parameterexact_supported_parametersVertrag{"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}}
Parameterreference_material_ruleVertragAusschließlich tatsächliche Bildreferenzen des Kunden; für sie gelten die Bedingungen des Anbieterendpunkts.

Methodenaliasnamen: /v1/images

Lebenszyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · die tatsächlich zurückgegebene task_id oder ein Eintrag in der Medienbibliothek

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Verwenden Sie das genaue Modell und die dokumentierten Eingabefelder.

Bewahren Sie die vollständige Antwort, jede tatsächliche Ausgabe und die ursprünglich zurückgegebenen IDs auf.

Tarife

So wird die endgültige Gebühr berechnet

Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.

Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.

Schnellmodus
Nicht angegeben Wenn der Schnellmodus ausgewählt ist
Flex-Modus
Nicht angegeben Wenn der Modus flex ausgewählt ist
Maximaler Denkaufwand
Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird

Geschätzte Tarife zum Vergleich

Preise nach Konfiguration

Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.

KonfigurationTarifstaffelPrognostizierte MengeAbrechnungseinheitGebühr
KonfigurationBasistarife für TokenTarifstaffelGrundtarifPrognostizierte Menge—Abrechnungseinheit—Gebühr
Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Token
Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Token
Eingabe · Cache-Lesen · Schätzung nur zum Vergleich — / 1K Token
Eingabe · Cache-Schreiben · Schätzung nur zum Vergleich — / 1K Token
Eingabe · Cache-Schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Token
KonfigurationUltraTarifstaffel—Prognostizierte Menge—Abrechnungseinheitpro AusgabebildGebühr
Ausgabe · Bildausgabe · Schätzung nur zum Vergleich $0.5 pro Ausgabebild
KonfigurationGeschätzte GenerierungskostenTarifstaffel—Prognostizierte MengeSchätzung für eine GenerierungAbrechnungseinheit—Gebühr
Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.5 Schätzung vor der Generierung

Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung.

Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →

Details zum Referenztarif

Referenztarifstaffeln auf Modellebene ändern weder Methodenauswahl noch Kostenvoranschläge oder Gebühren. Für die aktive Abrechnung gelten die Tarife der ausgewählten Ailoot-Methode.

Preiskonfigurationen für Bilder

Preise nach Konfiguration

KonfigurationAbrechnungsbedingungenGebühr
KonfigurationAusgabebildAbrechnungsbedingungenEs ist keine Preisvariante deklariert.Gebühr
Ausgabe · Ausgabebild $0.5 pro Bild

Gleichwertige Einträge beschreiben dieselbe Abrechnung; sie fügen keine zweite Gebühr hinzu.

Beispielanfragen

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={'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");

Ergebnisse abrufen und speichern

Ailoot Ultra · Bilder

Laden Sie jedes zurückgegebene Bild herunter oder speichern Sie seinen Base64-Inhalt

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Alle fertiggestellten Ergebnisse aufbewahren

Speichern Sie jedes fertiggestellte Bild; rufen Sie jede zurückgegebene URL ab oder dekodieren Sie seinen Base64-Inhalt.

Bewahren Sie jedes Datenelement und die vollständigen Verbrauchsdaten auf; übernehmen und speichern Sie alle tatsächlich zurückgegebenen Bilder als Ihnen zugeordnete Assets. Keine erfundenen URLs oder IDs.

Wenn die ursprüngliche Antwort geprüft werden muss

Wenn das Ergebnis einer Bildgenerierung oder -bearbeitung geprüft werden muss, die ursprüngliche operation_id/X-Client-Request-ID und die zurückgegebenen Ergebnisinformationen aufbewahren. Bereits vorhandene eigene Ergebnisse über die Medienbibliothek anhand tatsächlicher task_id- oder asset_id-Werte wiederherstellen. Die Generierungs-/Bearbeitungsanfrage nicht erneut senden und keine Abfrage-URL aus operation_id bilden.

Antwortfelder
FeldTyp
FeldcreatedTypinteger
Felddata[].urlTypstring
Felddata[].b64_jsonTypbase64 string
FeldusageTypobject

Aliasnamen

Modellaliasnamen

Ailoot Ultra recraft/recraft-v4-pro

Aliasnamen für Methodenpfade

/v1/images

Zugehörige Aufrufer-IDs

recraft/recraft-v4-pro

FAQ · Recraft: Recraft V4 Pro
Welche Eingaben und Ergebnisse sind verfügbar?

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

Welche Felder verwendet die Anfrage?

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

Welche Grenzen gelten?

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

Weitere Details

Verbinden Sie Ailoot mit Claude Code, OpenCode, Hermes oder Ihrer eigenen Anwendung.

Das Unternehmen und sein Projektportfolio

Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.

Tokens mit Rabatt kaufen.

Aborabatt für regelmäßige Arbeit. Aktionscodes bieten bis 50% beim Tokenkauf.

Abo
Wählen Sie einen Tarif mit Rabatt für Ihre regelmäßigen Anfragen.
Aktionscode bis 50%
Geben Sie den Code beim Kauf ein. Der Preis wird nach den gültigen Aktionsbedingungen berechnet.
Ausgaben in der Historie
Modell, Tokens und Betrag werden für jede Anfrage gespeichert.

Abo wählen · Modellpreise ansehen

Verbinden Sie die API mit dem Produkt, das Sie verkaufen.

SaaS, Anwendungen und Bots nach dem offiziellen Angebot und Lizenzvertrag von Ailoot. Fordern Sie für den Weiterverkauf eine Reseller-Lizenz an.

Kommerzielle Anwendung
Integrieren Sie Text-, Bild-, Video- und Audioerzeugung in kostenpflichtige Funktionen Ihres Dienstes.
Reseller-Lizenz
Senden Sie Projektbeschreibung und Zugangsmodell. Fordern Sie schriftliche Nutzungs- und Weiterverkaufsbedingungen an.
Dokumente auf der Website
Offizielles Angebot, Lizenzvertrag und Datenschutzerklärung sind vor der Verbindung zugänglich.

Reseller-Lizenz anfordern · Offizielles Angebot und Lizenzvertrag