Pro API: generer og retoucher billeder
Et billede koster 1 kredit, uanset tilstand. Generering fra en prompt og retouchering af et billede du uploader går begge gennem samme rute.
Indsend et billede
POST /images
{ "prompt": "portrait of a woman in a rainy street at night, neon reflections, cinematic",
"width": 832, "height": 1216 }
| Felt | Type | Standard | Hvad det gør |
|---|---|---|---|
prompt | string | påkrævet | Scenen. Engelsk giver de mest præcise resultater. |
width, height | int | 1024 x 1024 | Pixelstørrelse. Gode formater: 1024 x 1024 (kvadrat), 832 x 1216 (portræt), 1216 x 832 (landskab). |
mode | string | generation | edit, img2img eller inpaint, se nedenfor. Udeladt betyder generering fra prompten. |
image_b64 | string | Kildebillede i base64 (PNG eller JPEG), påkrævet af alle tre retoucheringstilstande. Maks. 12 MB afkodet. | |
mask_b64 | string | Maske i base64: påkrævet af inpaint, valgfri for edit. Mal de områder der skal retoucheres med rødt, i kildebilledets størrelse. | |
lora | string | En trænet karakter på kontoen: det name som returneres af GET /loras. Sæt dens trigger i prompten. | |
lora2, lora2_strength | string, number | En anden karakter og dens styrke (0 til 1, standard 1) til en scene med to personer. | |
steps | int | engine | Lad feltet være tomt. Motoren kender sin egen værdi. |
Svaret:
{ "jobId": "test-79634842-4586-46d4-ad52-d9ea236ae00d", "seed": 178078967, "cost": 1 }
seed trækkes af motoren og returneres til orientering. Den kan ikke fastlåses som input i
denne version.
De tre retoucheringstilstande
Alle tre kører på den samme instruktionsdrevne redigeringsmotor, som bevarer kildebilledets
udseende. Når du uploader et kildebillede, aflæses width og height fra billedet selv
og behøver ikke sendes med.
mode | Input | Hvad motoren gør |
|---|---|---|
edit | image_b64 + prompt (+ valgfri mask_b64) | Anvender instruktionen på hele billedet ("add sunglasses", "make it snow"). Med en maske koncentreres ændringen inden for det røde område. |
inpaint | image_b64 + mask_b64 + prompt | Regenererer kun maskens røde område i henhold til instruktionen. Resten genkomponeres pixel for pixel. |
img2img | image_b64 + prompt | Bearbejder hele billedet ud fra prompten mens komposition og udseende bevares: en variation. |
IMG=$(base64 -w0 photo.png)
curl -s $B/images -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d "{\"mode\":\"edit\",\"prompt\":\"add a red scarf, keep everything else identical\",\"image_b64\":\"$IMG\"}"
Polling
GET /images/{jobId}
| Svar | Betydning |
|---|---|
{ "status": "pending", "phase": "IN_QUEUE" } | I kø |
{ "status": "pending", "phase": "IN_PROGRESS" } | Renderes |
{ "status": "completed", "cost": 1, "file_url": "/pro/v1/images/{jobId}/file", ... } | Færdig, fil klar |
{ "status": "failed", "detail": "..." } | Mislykkedes, og intet debiteres |
Poll hvert 3. sekund, ikke hurtigere: køen er delt.
Download
GET /images/{jobId}/file
Selve PNG-filen som svarindhold (Content-Type: image/png). Tilgængelig så snart
status er completed, og 404 media_indisponible når renderingen er væk. Download den
med det samme, den arkiveres ikke.
Annuller
POST /images/{jobId}/cancel
Annullerer en render der er i kø eller i gang. Svarer { "ok": true }. Intet debiteres, og det
beløb der var reserveret mod nøglens daglige loft gives tilbage.