Bildbearbeitung
Ein hochgeladenes Bild mit Anweisungen in natürlicher Sprache bearbeiten
POST /api/v1/images/edits nimmt multipart/form-data entgegen. Erforderlicher
Scope: images:edit.
Formularfelder
| Feld | Typ | Pflicht | Standard | Regeln |
|---|---|---|---|---|
image | file | ja | — | PNG, JPEG oder WebP; maximal 10 MiB und 40 Millionen dekodierte Pixel |
prompt | string | ja | — | Bearbeitungsanweisung, 5–2.000 Zeichen |
aspect_ratio | string | nein | vom Quellbild abhängig | dieselben öffentlichen Seitenverhältnisse wie bei der Generierung |
resolution | string | nein | 2K | 2K oder 4K |
count | integer | nein | 1 | 1–4 |
Dateisignaturen werden unabhängig vom angegebenen MIME-Typ geprüft. Ungültige,
zu große oder unsichere Bilder führen zu 400 INVALID_REQUEST oder zu HTTP
413 mit demselben öffentlichen Code.
Credits
| Auflösung | Credits pro Ausgabe |
|---|---|
2K | 10 |
4K | 20 |
cURL
curl https://sci-draw.com/api/v1/images/edits \
-H 'Authorization: Bearer sd_YOUR_KEY' \
-H 'Idempotency-Key: revise-figure-7-v2' \
-F 'image=@figure.png;type=image/png' \
-F 'prompt=Move the legend below the diagram and increase label contrast' \
-F 'resolution=2K' \
-F 'count=1'JavaScript
const form = new FormData();
form.set('image', file);
form.set('prompt', 'Move the legend below the diagram');
const response = await fetch('https://sci-draw.com/api/v1/images/edits', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}`, 'Idempotency-Key': crypto.randomUUID() },
body: form,
});Python
with open("figure.png", "rb") as image:
response = requests.post(
"https://sci-draw.com/api/v1/images/edits",
headers={"Authorization": f"Bearer {api_key}", "Idempotency-Key": str(uuid.uuid4())},
files={"image": ("figure.png", image, "image/png")},
data={"prompt": "Move the legend below the diagram"},
)Das hochgeladene Quellbild ist private Job-Eingabe und taucht in keiner Job- oder Log-Antwort auf. Idempotent doppelte Uploads werden verworfen; angenommene Quellbilder werden nach einem endgültigen Ergebnis gelöscht.
Ausgabeabmessungen
2K und 4K sind Größenstufen, keine festen Kantenlängen. Die Tabelle zeigt die tatsächlichen Pixelmaße. Nicht unterstützte Seitenverhältnisse führen vor Auftragserstellung oder Credit-Reservierung zu HTTP 400 (INVALID_REQUEST). Ohne aspect_ratio muss das Quellverhältnis bei Bearbeitungen zwischen 1:3 und 3:1 liegen und zur Größenstufe passen (mindestens 6 Millionen Pixel für 4K); andernfalls ein unterstütztes Ausgabeverhältnis angeben.
aspect_ratio | 2K | 4K |
|---|---|---|
| 1:1 | 2048×2048 | 2880×2880 |
| 16:9 | 2560×1440 | 3840×2160 |
| 9:16 | 1440×2560 | 2160×3840 |
| 4:3 | 2304×1728 | 3264×2448 |
| 3:4 | 1728×2304 | 2448×3264 |
| 3:2 | 2496×1664 | 3504×2336 |
| 2:3 | 1664×2496 | 2336×3504 |
| 5:4 | 2240×1792 | 3200×2560 |
| 4:5 | 1792×2240 | 2560×3200 |
| 21:9 | 3136×1344 | 3808×1632 |

API-Dokumentation