Edição de imagens
Editar uma imagem enviada com instruções em linguagem natural
POST /api/v1/images/edits aceita multipart/form-data. Escopo necessário:
images:edit.
Campos do formulário
| Campo | Tipo | Obrigatório | Padrão | Regras |
|---|---|---|---|---|
image | file | sim | — | PNG, JPEG ou WebP; no máximo 10 MiB e 40 milhões de pixels decodificados |
prompt | string | sim | — | instrução de edição, 5–2.000 caracteres |
aspect_ratio | string | não | conforme a origem | as mesmas proporções públicas da geração |
resolution | string | não | 2K | 2K ou 4K |
count | integer | não | 1 | 1–4 |
As assinaturas de arquivo são verificadas independentemente do tipo MIME
declarado. Imagens inválidas, grandes demais ou inseguras retornam
400 INVALID_REQUEST, ou HTTP 413 com o mesmo código público.
Créditos
| Resolução | Créditos por saída |
|---|---|
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"},
)A imagem enviada é entrada privada do job e nunca é retornada em respostas de job ou de log. Envios idempotentes duplicados são descartados; as origens aceitas são removidas depois de um resultado terminal.
Dimensões de saída
2K e 4K são faixas de tamanho, não comprimentos fixos dos lados. A tabela mostra os pixels reais. Proporções não aceitas retornam HTTP 400 (INVALID_REQUEST) antes de criar a tarefa ou reservar créditos. Em edições sem aspect_ratio, a proporção original deve estar entre 1:3 e 3:1 e atender à faixa solicitada (pelo menos 6 milhões de pixels para 4K); caso contrário, informe uma proporção de saída aceita.
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 |

Documentação da API