curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "mai-image-2.6",
"prompt": "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
"size": "16:9",
"resolution": "2K"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers={"Authorization": "Bearer <token>"},
json={
"model": "mai-image-2.6",
"prompt": "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
"size": "16:9",
"resolution": "2K"
}
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/images/generations", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "mai-image-2.6",
prompt: "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
size: "16:9",
resolution: "2K"
})
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01K..."
}
]
}
MAI-Image-2.6
MAI-Image-2.6 Bildgenerierung
Text-zu-Bild, Einzelbildbearbeitung, Komposition mit bis zu 5 Referenzbildern und Web-Grounding. Verfügbar als hochwertige und Flash-Version.
POST
/
v1
/
images
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "mai-image-2.6",
"prompt": "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
"size": "16:9",
"resolution": "2K"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers={"Authorization": "Bearer <token>"},
json={
"model": "mai-image-2.6",
"prompt": "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
"size": "16:9",
"resolution": "2K"
}
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/images/generations", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "mai-image-2.6",
prompt: "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
size: "16:9",
resolution: "2K"
})
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01K..."
}
]
}
Modellauswahl
| Modell-ID | Eigenschaften |
|---|---|
mai-image-2.6 | Hochwertige Version für qualitätsorientierte Anwendungen |
mai-image-2.6-flash | Schnellere, günstigere Version mit etwas geringerer Bildqualität |
Dieser Endpunkt arbeitet asynchron. Lesen Sie nach der Übermittlung die ID aus
data[0].task_id und rufen Sie Ergebnisse über die Aufgabenabfrage ab. Empfohlen: Abfragen alle 3–5 Sekunden und ein gesamtes Wartezeitlimit von 3 Minuten. Bei completed oder failed beenden.curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "mai-image-2.6",
"prompt": "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
"size": "16:9",
"resolution": "2K"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers={"Authorization": "Bearer <token>"},
json={
"model": "mai-image-2.6",
"prompt": "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
"size": "16:9",
"resolution": "2K"
}
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/images/generations", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "mai-image-2.6",
prompt: "Fotorealistisches Poster eines Universitätscampus bei Sonnenuntergang, filmische Beleuchtung",
size: "16:9",
resolution: "2K"
})
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01K..."
}
]
}
Anfrage-Header
string
erforderlich
Bearer-Authentifizierung im Format
Bearer <token>, wobei <token> Ihr APIMart API Key ist.Anfrageparameter
string
erforderlich
Modell-ID:
mai-image-2.6 oder mai-image-2.6-flash.string
erforderlich
Bildbeschreibung oder Bearbeitungsanweisung. Unterstützt Chinesisch und Englisch, bis zu etwa 32.000 Tokens (nicht Zeichen).
string
Standard:"1:1"
Akzeptiert ein Seitenverhältnis (etwa
16:9), Pixelabmessungen (etwa 1536x1024) oder auto.- Seitenverhältnis: beliebiges ganzzahliges Verhältnis von
1:4bis4:1, zusammen mitresolution. - Pixelabmessungen:
BreitexHöhe,Breite*HöheoderBreite×Höhe. Dabei bestimmtresolutionnicht die Abmessungen. auto: Das Modell wählt das Seitenverhältnis anhand des Prompts.
string
Standard:"1K"
Unterstützt
1K und 2K, auch in Kleinschreibung. Andere Stufen wie 4K werden nicht unterstützt und führen zu HTTP 400.Bei Text-zu-Bild mit Seitenverhältnis bestimmt dieser Parameter die Größenstufe. Bei exakten Pixelangaben wird er nicht zur Größenberechnung verwendet. Bild-zu-Bild-Abmessungen lassen sich damit nicht festlegen.integer
Exakte Pixelbreite. Muss zusammen mit
height angegeben werden. Dieses Paar hat bei Text-zu-Bild Vorrang vor size und resolution.Breite und Höhe müssen jeweils mindestens 768 betragen, bei maximal 2.359.296 Pixeln insgesamt. Verwenden Sie Vielfache von 32; andernfalls wird jede Abmessung auf ein Vielfaches von 32 abgerundet.Dieser Parameter bestimmt nicht die Ausgabeabmessungen bei Bild-zu-Bild.integer
Exakte Pixelhöhe. Zusammen mit
width angeben; es gelten die obigen Grenzen. Bestimmt nicht die Ausgabeabmessungen bei Bild-zu-Bild.string[]
Liste mit maximal 5 Referenzbildern. Ohne Angabe: Text-zu-Bild; ein Bild: Einzelbildbearbeitung; mehrere Bilder: Komposition.Jeder Eintrag unterstützt eine öffentlich zugängliche HTTP(S)-Bild-URL oder eine Base64-Data-URL wie
data:image/png;base64,....JPEG und PNG werden unterstützt; WEBP und GIF werden automatisch in PNG umgewandelt. Bild-URLs müssen öffentlich erreichbar sein, sonst schlägt die Aufgabe fehl.Bei Bild-zu-Bild bestimmt das Modell die Abmessungen anhand der Referenzen: etwa 1 Million Pixel mit ähnlichem Seitenverhältnis. size, resolution, width und height können diese Abmessungen nicht festlegen.boolean
Standard:"false"
Mit
true wählt das Modell das Seitenverhältnis anhand des Prompts, entsprechend size: "auto".boolean
Standard:"false"
Mit
true werden vor der Generierung aktuelle Informationen recherchiert, etwa für reale Personen, Orte oder Ereignisse.integer
Standard:"1"
Nur
1 wird unterstützt. Senden Sie für mehrere Bilder separate Aufgaben. Werte über 1 führen zu HTTP 400.Text-zu-Bild-Abmessungen
| Anforderung | Parameter |
|---|---|
| Standardquadrat | Größenparameter weglassen: 1:1 + 1K, Ausgabe 1024×1024 |
| Auflösungsstufe + Seitenverhältnis | size: "16:9", resolution: "2K" |
| Exakte Pixel | size: "1536x1024" oder width: 1536, height: 1024 |
| Automatisches Seitenverhältnis | size: "auto" oder auto_aspect_ratio: true |
width / height → size als Pixelabmessungen → size als Seitenverhältnis kombiniert mit resolution.
Auflösungsstufen und Seitenverhältnisse
| Seitenverhältnis | 1K | 2K |
|---|---|---|
| 1:1 | 1024×1024 | 1536×1536 |
| 4:3 / 3:4 | 1152×864 / 864×1152 | 1760×1312 / 1312×1760 |
| 3:2 / 2:3 | 1248×832 / 832×1248 | 1856×1248 / 1248×1856 |
| 16:9 / 9:16 | 1344×768 / 768×1344 | 2048×1152 / 1152×2048 |
| 2:1 / 1:2 | 1536×768 / 768×1536 | 2144×1056 / 1056×2144 |
| 21:9 / 9:21 | 1792×768 / 768×1792 | 2336×992 / 992×2336 |
| 4:1 / 1:4 | 3072×768 / 768×3072 | 3072×768 / 768×3072 |
1K etwa 1 Million Pixel überschreiten. Abgerechnet wird der Tokenverbrauch für die tatsächlichen Ausgabepixel.
Grenzen für exakte Pixel
- Breite und Höhe müssen jeweils mindestens 768 betragen.
- Breite × Höhe darf 2.359.296 (1536 × 1536) nicht überschreiten.
- Jede Abmessung wird auf ein Vielfaches von 32 abgerundet.
1000x1000ergibt beispielsweise992x992. Verwenden Sie Vielfache von 32 für exakte Größen.
1536x1024, 2048x1152 und 3072x768 werden unterstützt. 512x512 wird wegen zu kleiner Seiten abgelehnt, 2048x2048 wegen Überschreitung der Gesamtpixelzahl.
Die Obergrenze gilt für die Gesamtpixelzahl, nicht für eine maximale Seitenlänge von 1536. Daher sind
2048x1152 und 3072x768 gültig, die 4K-Stufe jedoch nicht. Diese Größeneinstellungen gelten nur für Text-zu-Bild.Anfragebeispiele
Exakte Pixel und Web-Grounding
{
"model": "mai-image-2.6-flash",
"prompt": "Der Eiffelturm bei Nacht mit Feuerwerk im Stil eines Reiseplakats",
"width": 2048,
"height": 1152,
"web_grounding": true
}
Einzelbildbearbeitung
{
"model": "mai-image-2.6",
"prompt": "Färbe das Fahrrad blau und füge daneben einen kleinen Hund hinzu",
"image_urls": ["https://example.com/bicycle.png"]
}
Komposition mehrerer Bilder
{
"model": "mai-image-2.6-flash",
"prompt": "Kombiniere beide Referenzbilder zu einem klaren futuristischen Produktfoto",
"image_urls": [
"https://example.com/first.png",
"https://example.com/second.jpg"
]
}
Nicht unterstützte Parameter
quality, style, background, output_format, response_format und mask_url werden nicht unterstützt und bei Angabe ignoriert. Die Ausgabe ist immer PNG. Maskenbearbeitung wird nicht unterstützt.
Übermittlungsantwort
integer
Antwortstatuscode.
200 bedeutet Erfolg.array
Aufgabenergebnisse abfragen
curl --request GET \
--url https://api.apimart.ai/v1/tasks/task_01K... \
--header 'Authorization: Bearer <token>'
{
"code": 200,
"data": {
"id": "task_01K...",
"status": "completed",
"progress": 100,
"result": {
"images": [
{
"url": ["https://example.com/generated-image.png"]
}
]
}
}
}
| Status | Vorgehen |
|---|---|
pending | In der Warteschlange; weiter abfragen |
processing | In Verarbeitung; weiter abfragen |
completed | Erfolgreich; Bildlinks aus dem Array data.result.images[0].url lesen |
failed | Fehlgeschlagen; Ursache in data.error.message, Abfragen beenden. Vollständige Erstattung |
Abrechnung
Abrechnung nach tatsächlichem Eingabe- und Ausgabetokenverbrauch. Einzelpreise siehe Modellpreise.- Bildausgabetokens = tatsächliche Ausgabebreite × Höhe ÷ 1024. 1024×1024 entspricht 1024 Tokens, 1536×1536 entspricht 2304 Tokens.
- Eingabetokens je Referenzbild entsprechen ungefähr dessen Breite × Höhe ÷ 1024. Textprompts zählen ebenfalls zur Eingabe.
- Bei Übermittlung wird nach Stufe vorab abgebucht; nach Erfolg erfolgt eine Erstattung oder Nachbelastung anhand des tatsächlichen Tokenverbrauchs.
- Fehlgeschlagene Aufgaben werden automatisch vollständig erstattet. Bei Übermittlung abgelehnte Parameterfehler erstellen keine Aufgabe und verursachen keine Kosten.
Häufige Fehler
| HTTP | Ursache und Maßnahme |
|---|---|
| 400 | Nicht unterstützte resolution, etwa 4K; 1K oder 2K verwenden |
| 400 | Breite oder Höhe unter 768 oder Gesamtpixelzahl über 2.359.296 |
| 400 | Nur width oder height angegeben; beide müssen gemeinsam angegeben werden |
| 400 | Seitenverhältnis außerhalb 1:4 bis 4:1 oder unbekanntes size-Format |
| 400 | n über 1 oder mehr als 5 Referenzbilder |