Vai al contenuto principale
L’editing di immagini su Venice è sincrono. Invia la tua immagine sorgente a /image/edit o /image/multi-edit e il risultato modificato torna nella stessa risposta come file immagine. Per i ritagli, /image/background-remove restituisce un PNG trasparente.
Gli endpoint di image edit sono sperimentali e il comportamento specifico dei modelli può cambiare nel tempo.

Endpoint

Venice non offre un endpoint /images/edits compatibile con OpenAI, quindi le chiamate dell’SDK OpenAI come client.images.edit() restituiscono 404. Invia invece le modifiche a /image/edit.

Quando usare quale endpoint

  • Usa /image/edit quando hai una sola immagine sorgente e vuoi cambiarne, rimuoverne o ridisegnarne una parte con un prompt.
  • Usa /image/multi-edit quando hai bisogno di condizionare l’edit con immagini di riferimento aggiuntive.
  • Usa /image/background-remove quando vuoi solo un soggetto in primo piano pulito con trasparenza.
Per l’inpainting, usa /image/edit o /image/multi-edit. Il vecchio parametro inpaint su /image/generate è deprecato.
Imposta enhance_prompt: true su entrambi gli endpoint di edit per fare in modo che un enhancer vision-aware analizzi l’immagine o le immagini di input e riscriva la tua istruzione prima di eseguire la modifica. Vedi Prompt Enhancement per comportamento, prezzi e dettagli sugli header di risposta.

Passo 1: Modifica una singola immagine

L’edit di una singola immagine è il flusso di inpainting più semplice. Invia un’immagine più un breve prompt come “remove the sign”, “change the sky to sunrise” o “replace the background with a studio backdrop”. Richiesta:
Risposta (200): Il corpo della risposta è dato binario raw dell’immagine. Salvalo direttamente in un file. Il formato è PNG per gli edit a 1K e JPEG per gli edit a 2K e 4K, oppure PNG a qualsiasi risoluzione quando transparent_background è true. Imposta output_format su jpeg, png o webp per sceglierlo esplicitamente. Gli endpoint di edit non hanno il parametro response_format, quindi non possono restituire l’immagine come JSON base64. Se ti serve il base64, codifica tu stesso i byte della risposta.

Passo 2: Usa multi-edit con immagini di riferimento

/image/multi-edit accetta più immagini, e il limite è specifico per modello. Leggi model_spec.constraints.maxInputImages da GET /models?type=inpaint per ottenere il limite di un dato modello. Quando il campo è assente, il limite è 3, oppure 1 quando combineImages è false. La prima immagine è quella di base. Le immagini rimanenti sono riferimenti aggiuntivi che condizionano l’edit.
L’endpoint pubblico non ha un canale per le maschere. Le immagini aggiuntive agiscono come riferimenti sull’intera immagine, non come mappe di regioni. Non esiste un parametro mask, e inviarne uno restituisce un 400. Scrivi prompt precisi per delimitare dove ricade l’edit.
Questa è la scelta migliore quando vuoi:
  • combinare una composizione esistente con un’immagine di riferimento aggiuntiva
  • fornire al modello esempi dello stile, dell’oggetto o della texture da applicare
  • vincolare l’edit in modo più stretto di quanto possa fare un prompt su una singola immagine
Richiesta JSON:
Richiesta multipart:
Come per /image/edit, il corpo della risposta è dato raw dell’immagine e il formato di output segue le stesse regole.
/image/multi-edit attualmente usa il campo modelId invece di model nello schema della richiesta.

Consigli per l’inpainting

L’inpainting basato su prompt funziona meglio quando l’istruzione è breve e locale:
  • remove the tree
  • change the sky to sunset
  • replace the logo with a blank sign
  • restore the torn corner of the photo
Per cambiamenti di scena più ampi, descrivi cosa deve restare invariato:
Se l’edit continua a interessare l’area sbagliata, passa da /image/edit a /image/multi-edit e fornisci un’immagine di riferimento aggiuntiva che mostri il risultato desiderato, poi descrivi con precisione la modifica prevista nel prompt.

Passo 3: Rimuovi lo sfondo

Usa /image/background-remove quando vuoi isolare il soggetto in primo piano su uno sfondo trasparente. Questo endpoint restituisce un PNG con trasparenza alpha. Usando un URL di immagine:
Usando l’upload di un file locale:
Usa la rimozione dello sfondo per:
  • foto prodotto ecommerce
  • foto profilo e ritratti
  • asset che intendi posizionare su un nuovo sfondo
Se stai comunque generando o modificando l’immagine, puoi saltare questa seconda chiamata: /image/generate, /image/edit e /image/multi-edit accettano transparent_background: true sui modelli supportati e restituiscono direttamente il canale alfa. Consulta Immagini con sfondo trasparente per il confronto.

Parametri della richiesta

/image/edit

/image/multi-edit

/image/background-remove

/image/background-remove usa un modello interno fisso. Non accetta un campo model. Inviarne uno (per esempio "model": "bria-bg-remover") restituisce 400 perché model non è un campo riconosciuto.

Contenuti per adulti e safe mode

Sia /image/edit che /image/multi-edit accettano safe_mode (default: true). Quando è abilitato, i contenuti per adulti nell’output modificato vengono sfocati, quindi invia safe_mode: false per ricevere l’output senza sfocatura:
L’output per adulti (NSFW) non sfocato è disponibile per tutti gli utenti dell’API. Non ti serve un abbonamento Pro, e l’impostazione del filtro per contenuti maturi nell’app Venice non influisce sulle richieste di immagini effettuate tramite l’API. Le policy di contenuto variano in base al modello di edit e si applicano indipendentemente da safe_mode. Per l’editing non censurato, usa qwen-edit-uncensored. La differenza nel nome del parametro di moderazione tra gli endpoint spesso trae in inganno: Passare safe_mode a /images/generations restituisce 400 con Unrecognized key(s) in object: 'safe_mode'.

Formati di input supportati

Per gli endpoint di edit, le immagini devono essere almeno di 256×256 pixel e il numero totale di pixel non deve superare 33.177.600 (risoluzione 8K). I file caricati devono essere inferiori a 25MB.

Modelli e prezzi

Il modello di edit di default è firered-image-edit, con un prezzo di $0,04 per edit**. Altri modelli con capacità di edit possono avere prezzi e vincoli diversi. Il prompt enhancement aggiunge **$0,04 per riscrittura applicata al prezzo dell’edit. Vedi:

Errori

Alcuni modelli di edit hanno policy sui contenuti più rigide rispetto ai modelli di generazione di immagini. Le richieste che violano la policy del modello selezionato vengono rifiutate con 422.

Workflow correlati