LogoDocumentação da API
Documentação da API

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

CampoTipoObrigatórioPadrãoRegras
imagefilesim—PNG, JPEG ou WebP; no máximo 10 MiB e 40 milhões de pixels decodificados
promptstringsim—instrução de edição, 5–2.000 caracteres
aspect_ratiostringnãoconforme a origemas mesmas proporções públicas da geração
resolutionstringnão2K2K ou 4K
countintegernão11–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çãoCréditos por saída
2K10
4K20

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_ratio2K4K
1:12048×20482880×2880
16:92560×14403840×2160
9:161440×25602160×3840
4:32304×17283264×2448
3:41728×23042448×3264
3:22496×16643504×2336
2:31664×24962336×3504
5:42240×17923200×2560
4:51792×22402560×3200
21:93136×13443808×1632