Alibaba
Qwen Image 2.1
qwen-image-2.1-turbo
Modello di immagine unificato per la generazione testo-immagine e l'editing delle immagini, con supporto nativo alla risoluzione 2K e output RGBA con canale alpha reale; è possibile specificare più aree di modifica tramite cerchi, annotazioni a mano libera o mask
Prezzi
qwen-image-2.1-turbo per image
| Prezzo unitario | $0.020 |
|---|
Panoramica
qwen-image-2.1-turbo è il modello della serie Qwen Image 2.1 pensato per la generazione e la modifica di immagini con chiamate ad alta frequenza. Supporta due tipi di attività: text-to-image e image-to-image: genera un'immagine direttamente da un prompt, oppure riceve fino a 10 immagini di riferimento e modifica localmente un'immagine specifica indicandola per numero. L'output è un'immagine statica, generabile con rapporti come 1:1 o 16:9, e supporta un seed casuale fisso per riprodurre i risultati. È adatto a sviluppatori che necessitano di produrre materiali visivi in batch e di iterare rapidamente sui prompt e validare prototipi.
Punti di forza principali
- Generazione e modifica con gli stessi parametri di chiamata——per il text-to-image non si passano immagini di riferimento, per la modifica di immagini si passano URL da 1 a 10 immagini; la struttura di prompt e parametri resta identica, con bassi costi di integrazione.
- Riferimenti multipli indicabili per numero——più immagini di input vengono numerate secondo l'ordine dell'array; nel prompt si può usare «immagine 1», «immagine 2» per specificare con precisione l'oggetto della modifica, riducendo le ambiguità.
- Casualità controllabile——seed copre l'intervallo 0–2147483647; una volta fissato, i risultati sono relativamente stabili, il che facilita i test di regressione e la riproducibilità delle attività in batch.
Descrizione delle capacità
Chiamata unificata per text-to-image e image-to-image: prompt è obbligatorio; se image_urls non viene passato si ha una generazione puramente testuale, mentre passando da 1 a 10 immagini pubbliche la richiesta diventa un'attività di modifica; la stessa interfaccia copre entrambe le esigenze.
Immagini di riferimento multiple e modifica per riferimento: è possibile inserire fino a 10 immagini di riferimento contemporaneamente, numerate automaticamente; il prompt può apportare modifiche locali a un'immagine specifica, adatto alla composizione di più materiali o alla modifica per aree.
Formato e dimensioni controllati: aspect_ratio offre cinque opzioni 1:1, 16:9, 9:16, 4:3, 3:4, corrispondenti a dimensioni in pixel fisse da 2048×2048 a 2688×1536 e altre; se non specificato, il modello sceglie automaticamente in base al prompt e alle immagini di riferimento.
Interruttore di espansione del prompt: prompt_extend è attivo per impostazione predefinita e ottimizza automaticamente i prompt brevi, al costo di qualche secondo in più; può essere disattivato quando è necessario rispettare rigorosamente l'impaginazione o il rendering di testi specifici, garantendo il controllo.
Prompt lunghi e rendering del testo: prompt può contenere fino a 4500 caratteri, in cinese e in inglese; il testo che deve apparire nell'immagine può essere scritto carattere per carattere nel prompt, e anche lo sfondo trasparente può essere dichiarato nel prompt.
Scenari di utilizzo
- Produzione in batch di bozze visive iniziali da parte dei team di design——generare immagini finite a partire da una descrizione testuale, scegliendo il formato in base alle esigenze, per produrre rapidamente bozze destinate a materiali per eventi, immagini per i social media e altri scenari.
- Cambio colore locale delle immagini prodotto nell'operatività e-commerce——caricare l'immagine originale del prodotto e indicare l'area da modificare, ottenendo una versione modificata che mantiene la stessa composizione, utilizzabile direttamente per sostituire immagini nelle pagine di dettaglio e per mostrare SKU in più colori.
- Composizione di più materiali e modifica con immagini di riferimento——passare contemporaneamente più immagini di riferimento indicandole per numero, ottenendo un'unica immagine fusa o sostituita, per scenari di composizione e integrazione di materiali.
- Pipeline di elaborazione batch con risultati riproducibili——combinando seed fisso e prompt e ripetendo le chiamate si ottengono output relativamente stabili, facili da integrare in test automatizzati e processi di rollback dei materiali.
Limiti e consigli per la scelta
Questo modello produce solo immagini statiche e non supporta video o contenuti dinamici. Le immagini di riferimento devono essere URL accessibili pubblicamente, con dimensione massima di 10 MB per immagine, larghezza e altezza comprese tra 1 e 8000 pixel e rapporto tra lato lungo e lato corto non superiore a 10:1; i valori fuori intervallo vanno gestiti autonomamente prima dell'invio. Il formato può essere scelto solo tra le cinque opzioni fisse, non è possibile specificare una risoluzione arbitraria. L'attivazione dell'espansione del prompt comporta alcuni secondi di tempo aggiuntivo; per esigenze di rendering del testo con impaginazione rigorosa si consiglia di disattivarla e di verificare manualmente. È adatto a attività di generazione e modifica di media scala che privilegiano velocità e costo; se servono una qualità superiore o più quote di chiamata, si può scegliere la versione pro all'interno della stessa serie.
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: qwen-image-2.1-turbo
routestringOpzionaleValore fisso attuale: default
inputobjectObbligatorio
Oggetto di parametri di business per qwen-image-2.1-turbo e la route default — vedi la tabella dei parametri sotto.
seedintegerOpzionalemin 0max 2147483647Seme casuale, un numero intero da 0 a 2147483647; fissare il seme rende i risultati relativamente stabili, se non specificato è casuale.
promptstringObbligatoriominLength 1maxLength 4500Descrivi l'immagine da generare oppure indica quali modifiche apportare alle immagini di riferimento; sono accettati sia il cinese che l'inglese. Il testo da renderizzare deve essere inserito carattere per carattere nel prompt; se serve uno sfondo trasparente, specifica «sfondo trasparente» nel prompt.
image_urlsarrayOpzionaleminItems 1maxItems 10Array di URL pubblici di immagini di riferimento o immagini da modificare, da 1 a 10; se non specificato si esegue text-to-image. Le immagini multiple sono numerate secondo l'ordine dell'array e possono essere indicate nel prompt come «immagine 1», «immagine 2»; supporta JPG, JPEG, PNG, BMP, TIFF, WEBP, GIF, con dimensione massima di 10 MB per immagine, larghezza e altezza comprese tra 1 e 8000 pixel (consigliato 384–2048), rapporto tra lato lungo e lato corto non superiore a 10:1.
Array [ string ]
aspect_ratiostringOpzionaleFormato di output, corrispondente a 2048×2048, 2688×1536, 1536×2688, 2368×1728, 1728×2368; se non specificato, il modello sceglie automaticamente le dimensioni in base al prompt e alle immagini di riferimento.
1:116:99:164:33:4prompt_extendbooleanOpzionalePredefinito: trueSe ottimizzare automaticamente il prompt, predefinito true. Se attivato, il miglioramento è evidente per i prompt brevi, ma comporta alcuni secondi in più; può essere disattivato quando è necessario rispettare rigorosamente l'impaginazione del 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": "qwen-image-2.1-turbo",
"input": {
"prompt": "…",
"prompt_extend": true
}
}' 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: "qwen-image-2.1-turbo",
input: {
"prompt": "…",
"prompt_extend": true
}
}),
});
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": "qwen-image-2.1-turbo",
"input": {
"prompt": "…",
"prompt_extend": True
}
},
)
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 →-
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 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
-
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
Come chiamare hailuo-2.3/text-to-video tramite l'API HiAPI: curl, Python ed esempi di richiesta eseguibili
-
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 kling-4.0/image-to-video su HiAPI: curl, Python e polling
-
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
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
Modelli correlati
Vedi tutti i modelli →Stesso tipo
-
Nano Banana 2 Lite Google $0.033 /immagine -
Z-Image Alibaba $0.008 /immagine -
Imagen 4 Google $0.030 /immagine -
FASHN Tryon v1.6 FASHN $0.107 /immagine -
Ideogram V4 Ideogram $0.050 /immagine -
Grok Imagine xAI $0.011 /secondo -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /immagine -
Recraft Crisp Upscale Recraft $0.004 /immagine -
GPT Image 2 OpenAI $0.007 /immagine -
Grok Imagine Quality xAI $0.070 /immagine -
Qwen Image 3.0 Alibaba $0.036 /immagine -
BRIA Eraser Bria $0.058 /immagine
Stesso fornitore
-
Qwen Image 2.1 Alibaba $0.020 /immagine -
Qwen Image 2.0 Alibaba $0.042 /immagine -
Z-Image Alibaba $0.008 /immagine -
Qwen Audio 3.0 TTS Alibaba $0.030 /1.000 caratteri -
Wan 2.6 Flash Alibaba $0.043 /secondo -
Wan 2.7 Video Alibaba $0.100 /secondo -
Wan 3.0 Video Alibaba $0.040 /secondo -
HappyHorse 1.0 Alibaba $0.168 /secondo -
Wan 2.7 Image Alibaba $0.035 /immagine -
HappyHorse 1.1 Alibaba $0.160 /secondo -
Qwen Image 3.0 Alibaba $0.036 /immagine