Recraft: Recraft V4.1 Flash
Recraft V4.1 Flash erzeugt aus Text 1K-Rasterbilder für schnelle visuelle Iterationen. Es unterstützt Fotografie, Porträts, komplexe Szenen und Logoentwürfe, mit Ausgaben als PNG oder verlustfreies WebP und ausdrücklichen Farbvorgaben.
Ü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.1 Flash ist Recrafts Text-to-Image-Modell für schnelle Iterationen und umfangreiche Bildproduktion. Der Hersteller nennt Fotografie, Porträts, Atmosphäre, komplexe Szenen, Mixed Media und Logoentwürfe als besonders geeignete Anwendungen. Aus einem schriftlichen Briefing entsteht ein Rasterbild, das sich vor der Entwicklung des finalen Motivs mit anderen kreativen Richtungen vergleichen lässt. Flash ist ein bestimmtes Mitglied der V4.1-Familie mit eigener Ausgabegröße und eigenen unterstützten Steuerelementen.
Die native Ausgabe gehört zur 1K-Rasterbildklasse von Recraft. Wählen Sie die Bildfläche passend zur vorgesehenen Platzierung: eine horizontale Illustration für einen Seitenkopf, ein vertikales Porträt oder ein quadratisches Motiv für eine kompakte Karte. Die Ausgabeformate sind verlustfreies WebP und PNG.
Beginnen Sie das Briefing mit dem Hauptmotiv und dem visuellen Zweck. Beschreiben Sie anschließend Bildausschnitt, Umgebung, Beleuchtung und Medium. Für einen Produktentwurf eignet sich etwa: „Ein kompaktes cremefarbenes Radio auf einem Walnussholzschreibtisch, vordere Dreiviertelansicht, weiches Fensterlicht, ruhiges redaktionelles Foto, großzügiger Freiraum links.“ Benennen Sie für eine Illustration Formensprache, Palette und Beziehungen zwischen den Elementen. Machen Sie die Details, die die Idee ausmachen, ausdrücklich, statt unzusammenhängende Adjektive hinzuzufügen. Flash erlaubt laut Dokumentation Prompts mit bis zu 10.000 Zeichen. Eine detaillierte Szene lässt sich daher beschreiben, wenn die Aufgabe es erfordert.
Zu den Steuerelementen des Herstellers gehören bevorzugte Farben und eine gewünschte Hintergrundfarbe. Für reproduzierbare Ergebnisse kann ein Seed angegeben werden; die Generierungsschnittstelle dokumentiert ein bis sechs Bilder pro Anfrage. Diese Steuerelemente ermöglichen einen nützlichen Vergleich: Halten Sie Motiv und Komposition konstant, verändern Sie eine visuelle Richtung und prüfen Sie die erzeugten Bilder im vorgesehenen Layout. Farbvorgaben beschreiben das gewünschte Ergebnis. Vergleichen Sie wichtige Markenfarben mit dem fertigen Bild, bevor Sie es mit einem vorhandenen Designsystem kombinieren.
Flash erzeugt Rastergrafiken. Ein Logoentwurf kann bei der Wahl von Silhouette, Stimmung oder Anordnung helfen; bearbeitbare Pfade gehören dagegen zu den gesondert benannten Vector-Modellen. Flash besitzt auch keine Pro-Variante. Die vollständige V4.1-Reihe bietet diese separaten Optionen, wenn Vektorbearbeitung oder höher auflösende Details für das Ergebnis entscheidend sind. Der Hersteller beschreibt einen späteren Verfeinerungsschritt, der einen ausgewählten Entwurf zu einem detailreicheren Bild weiterentwickelt. Dieser Schritt ist eine eigenständige Operation und keine andere native Flash-Ausgabegröße.
Diese Ausgabe unterstützt keine Image-to-Image-Eingabe, benutzerdefinierten Stile, Stilkennungen, Stilabgleiche oder Stilreferenzbilder. Ihre dokumentierte Schnittstelle schließt zudem negative Prompts und ausdrückliche Textlayout-Steuerungen aus. Formulieren Sie die gewünschte Erscheinung und Komposition im positiven Briefing. Wenn Schrift Teil eines Entwurfs ist, zitieren Sie den vorgesehenen Wortlaut und prüfen Sie die gerenderten Buchstaben. Nutzen Sie einen separaten Layoutschritt, wenn exakte Typografie und Platzierung erforderlich sind.
Ein praktisches Ergebnis von Flash ist eine ausgewählte visuelle Richtung mit klarem Briefing, geeignetem Seitenverhältnis und nutzbarer Rasterdatei. Vergleichen Sie Motiv, Bildausschnitt, Hintergrund und wichtige Details in der Größe, in der das Bild erscheinen wird. Bewahren Sie den erfolgreichen Prompt zusammen mit der ausgewählten Datei auf, damit der nächste kreative Schritt der gewählten Richtung folgt. Schnelle Iterationen helfen bei der Gestaltungssuche. Native Vektorausgabe, Abgleich mit Stilreferenzen und die Auflösung einer anderen V4.1-Ausgabe bleiben eigenständige Modellentscheidungen.
Ailoot Ultra · Bilder POST /v1/images/generations recraft/recraft-v4.1-flash
recraft/recraft-v4.1-flashStart
Recraft V4.1 Flash erzeugt aus Text 1K-Rasterbilder für schnelle visuelle Iterationen. Es unterstützt Fotografie, Porträts, komplexe Szenen und Logoentwürfe, mit Ausgaben als PNG oder verlustfreies WebP und ausdrücklichen Farbvorgaben.
- Zulässige Eingaben
- Text
- Ergebnisse
- Bilder
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Bilder POST /v1/images/generations
- Eingabetypen
text- Ausgabetypen
image- Ausgabeformat
- Bilddatei
- Ausgabeanzahl
- 1 Ausgabe
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits recraft/recraft-v4.1-flash | Standard— |
Feldprompt | Typstring | AnforderungErforderlich | Werte und Limits Mindestlänge: 1 Bedingungen: Nicht leerer UTF8-Prompt. Es wird keine herstellerweit geltende Zeichengrenze erfunden. | Standard— |
Feldn | Typinteger | AnforderungOptional | Werte und Limits 1 | Standard1 |
Feldresponse_format | Typstring | AnforderungOptional | Werte und Limits url, b64_json | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits false | Standardfalse |
Kombinationen von Eingabematerialien
Text zu Bild · Erforderlich: prompt
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, prompt |
Parametermaterial_types | Vertragtext |
Parameteroptional | Vertragn, response_format, stream |
Parametern | Vertrag1 |
Parameterstream | Vertragfalse |
Parameterresponse_format | Vertragurl, b64_json |
Parameterreference_images | Vertragfalse |
Parameteredit | Vertragfalse |
Parameteroutput_format_optional | Vertrag |
Parameterresolution_control | Vertragnull |
Parameteraspect_ratio_control | Vertragnull |
Parameterother_fields | VertragAbgelehnt, außer bei der exakt festgelegten internen Anbieterrouting-Konfiguration |
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}
Ein Bild aus dem Prompt erzeugen.
Speichern Sie jedes Datenelement; url/b64_json sind Ergebniskodierungen.
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.
| Konfiguration | Tarifstaffel | Prognostizierte Menge | Abrechnungseinheit | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Prognostizierte 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 |
| KonfigurationUltra | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro Ausgabebild | Gebühr Ausgabe · Bildausgabe · Schätzung nur zum Vergleich $0.014 pro Ausgabebild |
| KonfigurationGeschätzte Generierungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Abrechnungseinheit— | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.014 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
| Konfiguration | Abrechnungsbedingungen | Gebühr |
|---|---|---|
| KonfigurationAusgabebild | AbrechnungsbedingungenEs ist keine Preisvariante deklariert. | Gebühr Ausgabe · Ausgabebild $0.014 pro Bild Gleichwertige Einträge beschreiben dieselbe Abrechnung; sie fügen keine zweite Gebühr hinzu. |
Beispielanfragen
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=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");
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}/contentGET /v1/media/assetsGET /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.
Jedes Datenelement speichern. Jedes b64_json dekodieren oder jede zurückgegebene signierte URL abrufen. Die Dateiendung anhand des tatsächlichen MIME-Typs bzw. der Bytes wählen.
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
| Feld | Typ |
|---|---|
Feldcreated | Typinteger |
Felddata[].url | Typstring |
Felddata[].b64_json | Typbase64 string |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Antwortserver_error | BedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordert | Nächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra recraft/recraft-v4.1-flash
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Recraft: Recraft V4.1 Flash
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/images/generations·recraft/recraft-v4.1-flash:text→image- Welche Felder verwendet die Anfrage?
POST /v1/images/generations·recraft/recraft-v4.1-flash:model,prompt,n,response_format,stream