Black Forest Labs
FLUX.1 Fill Pro
flux-1-fill-pro
Modello professionale di inpainting e outpainting: sostituisce, rimuove o estende con precisione aree specifiche dell'immagine in base a una maschera binaria, mantenendo coerenti illuminazione e prospettiva; richiede una maschera in input ed è adatto alla rifinitura più che alla generazione dell'immagine completa
Prova flux-1-fill-pro
Input
Creazioni
Vedi tutte le creazioniOutput
imagePrezzi
flux-1-fill-pro per image
| Prezzo unitario | $0.0715 |
|---|
Panoramica
flux-1-fill-pro è un modello di inpainting pensato per la modifica puntuale: riceve in input l'immagine originale e una maschera in bianco e nero, insieme a un prompt testuale, e ridisegna esclusivamente le aree bianche della maschera, lasciando invariate quelle nere. È adatto a scenari che richiedono interventi chirurgici su una composizione esistente, come il ritocco di immagini di prodotto, la sostituzione di singoli componenti in materiali e-commerce, la modifica di rendering e l'estensione dell'inquadratura. Gli sviluppatori possono richiamarlo tramite l'interfaccia unificata di HiAPI.ai, con fatturazione per immagine, senza dover realizzare una pipeline di editing immagini.
Punti di forza principali
- Guidato dalla maschera, ridisegno puntuale — modifica solo le aree bianche della maschera e mantiene gli altri pixel invariati; ideale per sostituzioni, rimozioni e aggiunte di elementi con precisione.
- Un'unica interfaccia per inpainting ed estensione — esegue ritocchi locali senza modificare la struttura e, quando serve, estende la tela per adattare il formato; entrambe le esigenze condividono gli stessi parametri di input.
- Controllo della generazione riproducibile — tramite seed, steps, guidance e prompt_upsampling è possibile gestire casualità e aderenza al prompt, facilitando generazione in batch e verifiche di regressione.
Descrizione delle capacità
Inpainting localizzato con maschera: basta fornire l'immagine originale, una maschera in bianco e nero delle stesse dimensioni e un prompt per sostituire o aggiungere contenuti nelle aree indicate; le aree nere restano invariate, rendendolo adatto a sostituzioni locali e correzione di difetti.
Estensione dell'inquadratura e completamento della composizione: consente l'estensione generativa oltre i bordi dell'immagine per adattare il rapporto d'aspetto o completare la tela, in base ai requisiti di formato dei diversi canali di pubblicazione.
Controllo qualità parametrizzato: i passi di diffusione (15–50) e l'intensità di guidance (1.5–100) sono regolabili; più passi producono dettagli più fini ma tempi più lunghi, mentre una guidance più alta aumenta l'aderenza al prompt.
Risultati riproducibili e scelta del formato: con un seed fisso si ottengono risultati simili e riproducibili, utili per attività in batch e confronti; l'output è disponibile in jpg o png, pronto per i flussi successivi.
Interruttore di riscrittura automatica del prompt: prompt_upsampling è disattivato per impostazione predefinita; se attivato, riscrive automaticamente il prompt per aumentare la creatività. Per una generazione strettamente fedele al testo, mantenerlo disattivato.
Casi d'uso
- Operazioni e-commerce: sostituzione di componenti e correzione di difetti nelle foto prodotto — si delimitano con la maschera i componenti del prodotto o le macchie da sostituire, si inserisce una nuova descrizione e si ottiene un'immagine principale pronta per la pubblicazione, riducendo nuove sessioni fotografiche e rigenerazioni dell'intera immagine.
- Team di design: ritocchi locali e estensione della tela nei rendering — si modificano aree specifiche di rendering architettonici o d'interni oppure si estende la tela verso l'esterno per ottenere immagini adatte a impaginazioni diverse, mantenendo coerenza di illuminazione e prospettiva.
- Gestione dei materiali: rimozione di elementi di disturbo e riempimento naturale — si contrassegnano con la maschera gli oggetti indesiderati nell'immagine originale, si descrive nel prompt il contenuto di riempimento e si ottiene un'immagine pulita per impaginazione e pubblicazione successive.
Limiti e suggerimenti per la scelta
Prima dell'uso è necessario preparare una maschera in bianco e nero delle stesse dimensioni dell'immagine originale, aggiungendo un passaggio di annotazione o segmentazione delle aree. Si tratta di un modello di editing, non di un modello generico di text-to-image, quindi non è adatto a generare immagini complete da zero; il risultato dipende dalla qualità della maschera e dalla descrizione del prompt, e testi complessi o strutture fini possono richiedere più iterazioni. Le modifiche su aree estese o ad alta risoluzione aumentano sensibilmente tempi e costi di chiamata; per scenari sensibili ai costi o che richiedono pesi self-hosted è opportuno valutare alternative.
Novità
Vedi il changelog →- Nuovo modello Aggiunta della documentazione per l'inpainting con maschera di flux-1-fill-pro
Domande frequenti
Vedi tutte le domande →-
Cos'è FLUX.1 Fill Pro?
FLUX.1 Fill Pro è un modello di editing di immagini per l'inpainting con maschera: carica l'immagine originale, una maschera in bianco e nero delle stesse dimensioni e un prompt; viene ridisegnata solo l'area bianca, mentre l'area nera rimane invariata.
-
Cosa rappresentano rispettivamente il bianco e il nero nella maschera?
Le aree nere mantengono l'immagine originale, le aree bianche vengono ridisegnate dal prompt; la maschera deve avere le stesse dimensioni dell'immagine originale.
-
È necessario caricare sia l'immagine che la maschera?
Sì. L'attuale interfaccia pubblica richiede che vengano fornite contemporaneamente l'immagine originale e la maschera in bianco e nero, entrambe indispensabili.
-
Cosa bisogna scrivere nel prompt?
Descrivi solo il nuovo contenuto che deve apparire nell'area bianca della maschera e specifica gli elementi che devono essere mantenuti; non ripetere la descrizione dell'immagine al di fuori della maschera.
Crea un'attività di generazione
https://api.hiapi.ai/v1/tasks Header
AuthorizationstringObbligatorioChiave API dell'account. Obbligatoria in ogni richiesta. Esempio: Bearer YOUR_HIAPI_API_KEY. Ottieni una chiave API
Content-TypestringOpzionaleIl corpo della richiesta viene sempre interpretato come JSON; se inviato, è accettato solo application/json (charset facoltativo) — qualsiasi altro valore restituisce 415. Esempio: application/json.
Idempotency-KeystringOpzionaleChiave di idempotenza, fino a 255 byte. I retry con la stessa chiave dello stesso account creano l'attività una sola volta; i replay restituiscono il taskId originale.
In caso di timeout di rete o retry automatici del client, la stessa chiave crea l'attività una sola volta, senza doppi addebiti (ambito = l'account della chiave API). Usa un identificatore univoco di business (es. "order-42"); i replay restituiscono il taskId originale e le chiavi scadono 24 ore dopo la prima richiesta. La matrice completa degli scenari è nell'introduzione dell'API asincrona unificata.
Corpo
modelstringObbligatorioValore fisso attuale: flux-1-fill-pro
routestringOpzionaleValore fisso attuale: default
inputobjectObbligatorio
Oggetto di parametri di business per flux-1-fill-pro e la route default — vedi la tabella dei parametri sotto.
maskstringObbligatorioImmagine maschera in bianco e nero utilizzata per specificare la regione da ridisegnare: le aree nere rimangono invariate, le aree bianche vengono ridisegnate in base al prompt. Supporta i formati JPEG, PNG, GIF, WebP; le dimensioni devono coincidere con l'immagine originale.
seedintegerOpzionaleSeme casuale; fissando questo valore è possibile riprodurre risultati simili; se non specificato, viene generato casualmente.
imagestringObbligatorioImmagine originale da modificare, supporta i formati JPEG, PNG, GIF, WebP e può includere una maschera alpha. Se si utilizza una maschera separata, assicurarsi che le sue dimensioni coincidano con l'immagine originale.
stepsintegerOpzionalePredefinito: 50min 15max 50Numero di passaggi di diffusione, intervallo di valori 15–50, predefinito 50; valori più alti producono dettagli più fini ma richiedono più tempo.
promptstringObbligatoriominLength 1maxLength 4000Descrive il contenuto da generare o sostituire nelle aree bianche della maschera, massimo 4000 caratteri.
guidancenumberOpzionalePredefinito: 60min 1.5max 100Intensità di guida del prompt, intervallo di valori 1.5–100, predefinito 60; valori più alti aderiscono maggiormente al prompt ma possono ridurre la naturalezza dell'immagine.
output_formatstringOpzionalePredefinito: "jpg"Formato dell'immagine di output, valori jpg o png, predefinito jpg.
jpgpngprompt_upsamplingbooleanOpzionalePredefinito: falseIndica se riscrivere automaticamente il prompt per aumentare la creatività, predefinito false; disattivare quando è necessario generare rigorosamente secondo il testo originale.
callbackobjectOpzionale
Configurazione di notifica dello stato terminale. Se omessa, nessun callback: interroga l'attività per conto tuo.
Fornisci callback.url in creazione e HiAPI invierà un POST al tuo servizio allo stato terminale, senza polling. Il corpo del callback replica la struttura del dettaglio attività; verifica firma, retry e idempotenza sono descritti nell'introduzione dell'API asincrona unificata.
urlstringObbligatorioObbligatoria se è presente callback. Allo stato terminale viene inviato un POST a questo URL; deve essere un URL http(s) valido.
whenstringOpzionalePredefinito: "final"Al momento è supportato solo final: notifica sia su success sia su fail.
finalstoragestringOpzionalePredefinito: "temp"Livello di archiviazione degli artefatti: temp (predefinito, ~7 giorni) o persistent (a lungo termine, fatturato per dimensione). Saldo insufficiente o superamento del limite ⇒ declassamento silenzioso a temp; il livello effettivo è visibile nella risposta di dettaglio.
temppersistentEsempi di richiesta
# Invia un'attività asincrona; restituisce subito un taskId (senza attendere la generazione)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-1-fill-pro",
"input": {
"mask": "…",
"image": "…",
"steps": 50,
"prompt": "…",
"guidance": 60,
"output_format": "jpg",
"prompt_upsampling": false
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "flux-1-fill-pro",
input: {
"mask": "…",
"image": "…",
"steps": 50,
"prompt": "…",
"guidance": 60,
"output_format": "jpg",
"prompt_upsampling": false
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "flux-1-fill-pro",
"input": {
"mask": "…",
"image": "…",
"steps": 50,
"prompt": "…",
"guidance": 60,
"output_format": "jpg",
"prompt_upsampling": False
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Ottieni i dettagli dell'attività
https://api.hiapi.ai/v1/tasks/:id Campi della risposta
taskIdstringObbligatorioID attività, sempre con prefisso tk-hiapi-.
modelstringObbligatorioNome completo risolto del modello. Le attività inviate con il parametro route restituiscono base@route (es. gpt-image-2/text-to-image@ext); altrimenti coincide con il nome inviato.
routestringOpzionalePresente solo se è stato usato il parametro route esplicito; restituisce il valore inviato.
statusstringObbligatorioStato dell'attività.
queued In coda, non avviata.
handling In elaborazione.
archiving Elaborazione conclusa, preparazione artefatti.
success Terminale: completato, artefatti disponibili (restituisce output).
fail Terminale: errore (restituisce error).
Dopo l'invio, segui status: success e fail sono terminali, il resto no. Esegui polling ogni 1–3 s fino allo stato terminale. In caso di successo scarica gli artefatti da output[].url e trasferiscili prima di expireAt; per conservazione lunga usa storage: "persistent" in creazione.
creatednumberObbligatorioIstante di creazione dell'attività (secondi Unix).
completednumberObbligatorioSecondi Unix dello stato terminale; 0 finché non terminale.
outputarrayOpzionale
Presente solo con status == success. Elenco artefatti — sempre un array; un'attività può restituire più type contemporaneamente (es. video + first_frame).
Array [ object ]
Elementi dell'array
urlstringObbligatorioURL dell'artefatto, scaricabile direttamente.
typestringObbligatorioValori attualmente possibili: video, image, audio, first_frame, last_frame, thumbnail; potrebbero essere ampliati in futuro.
expireAtnumberObbligatorioSecondi Unix di disponibilità dell'artefatto; scarica o trasferisci prima della scadenza.
errorobjectOpzionale
Presente solo con status == fail.
codestringObbligatorioCodice errore di business.
messagestringObbligatorioDescrizione dell'errore.
Esempi di risposta
Successo
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} In elaborazione (non terminale)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Non riuscito
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articoli
Vedi tutti gli articoli →-
Tutoriale
Come chiamare hailuo-2.3/text-to-video tramite l'API HiAPI: curl, Python ed esempi di richiesta eseguibili
-
Tutoriale
Utilizzare Kandinsky 6.0 Pro su HiAPI per la generazione di video da testo: tutorial con curl e Python
Dimostrazione pratica guidata dalla richiesta: costruire la chiamata da prompt a clip video, inviare la richiesta, monitorare lo stato di completamento e scaricare il risultato
-
Tutoriale
Tutorial su kandinsky-6.0-pro/image-to-video tramite HiAPI: curl + Python
Avvia una richiesta funzionante di image-to-video su HiAPI: dal caricamento del primo fotogramma al polling asincrono fino al download finale
-
Tutoriale
recraft-v4.1-flash text-to-image in pratica: 5 scenari di business ad alto valore e punti chiave di integrazione
Partendo da un costo di $0,01 per immagine, pianificare l'implementazione della generazione di immagini nei processi di business reali
-
Confronto e valutazione
hailuo-2.3-fast/image-to-video confronto orizzontale: come scegliere un modello image-to-video e i punti chiave per la migrazione
-
Tutoriale
Come chiamare kling-4.0/image-to-video su HiAPI: curl, Python e polling
-
Confronto e valutazione
Confronto orizzontale di Recraft v4.1 Flash per la generazione di immagini da testo: guida alla scelta e alla migrazione per gli sviluppatori
Con un costo di $0,01 per immagine e la capacità di generazione puramente testuale, valuta se è adatto alla tua pipeline di generazione di immagini
-
Tutoriale
Come usare kling-4.0/text-to-video tramite l'API HiAPI: curl, Python e un esempio di richiesta funzionante
Guida pratica per sviluppatori: prompt cinematografici, audio sincronizzato, polling asincrono e download dell'output
-
Tutoriale
Come chiamare hailuo-2.3-fast/image-to-video tramite l'API HiAPI: pratica con curl e Python
La prima richiesta funzionante per il livello image-to-video veloce ed economico — dall'ID del modello al download di un MP4
Modelli correlati
Vedi tutti i modelli →Stesso tipo
-
Imagen 4 Google $0.030 /immagine -
FLUX.1 Kontext Max Black Forest Labs $0.071 /immagine -
FLUX.2 Black Forest Labs $0.035 /immagine -
Recraft V4.1 Recraft $0.010 /immagine -
Grok Imagine xAI $0.011 /secondo -
FASHN Tryon v1.6 FASHN $0.107 /immagine -
Qwen Image 2.0 Alibaba $0.042 /immagine -
Nano Banana Pro Google $0.057 /immagine -
FLUX 3 Image Black Forest Labs $0.041 /immagine -
851 Labs Background Remover 851 Labs $0.002 /immagine -
Seedream 5.0 ByteDance $0.025 /immagine -
Krea 2 Medium Turbo Krea $0.021 /immagine
Stesso fornitore
-
FLUX.2 Black Forest Labs $0.035 /immagine -
FLUX.1 Schnell Black Forest Labs $0.005 /immagine -
FLUX 3 Image Black Forest Labs $0.041 /immagine -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /immagine -
FLUX.1 Kontext Max Black Forest Labs $0.071 /immagine -
FLUX 1.1 Pro Black Forest Labs $0.050 /immagine -
FLUX 3 Max Black Forest Labs $0.061 /secondo -
FLUX 3 Video Black Forest Labs $0.090 /secondo -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /immagine

![FLUX.1 Fill [pro] Concept art di scena per worldbuilding: estensione del crinale in lontananza](https://static.hiapi.ai/_i/v1/FFXyuyR-n_cY3KSvjHMQfw/7SbeuZdKdHydTU940SQckw.webp)









