Qwen: Qwen Image 3
Qwen-Image-3.0 kombinerar bildgenerering och bildredigering för informationsrika layouter, detaljerade scener och flerspråkig typografi. Standardversionen balanserar kvalitet och hastighet och tar emot en textbeskrivning eller upp till tre bilder med en redigeringsinstruktion.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Qwen-Image-3.0 är Qwens bildmodell av tredje generationen och kombinerar skapande från text till bild med referensbaserad redigering i samma modell. Standardversionen balanserar bildkvalitet och svarshastighet, medan Qwen-Image-3.0 Pro är det kvalitetsinriktade flaggskeppet i samma familj. En begäran ger en bild: en affisch, en illustrerad förklaring, en produktscen, en storyboard eller ett bearbetat fotografi, snarare än ett redigerbart dokument eller ett fungerande gränssnitt.
Modellens förmåga att hantera innehållsrika bilder passar en bildyta med flera sammanhängande avsnitt eller en visuell layout med nästlade delar. Förbered rubriker, exakt ordalydelse, hierarki och relationen mellan panelerna innan du lägger till stildetaljer. För en produktjämförelse anger en användbar beskrivning huvudvyn av produkten, vilka egenskaper som ska märkas ut och läsordningen för de kompletterande panelerna. För en storyboard beskriver du motiv, handling och bildtext för varje panel separat. Den rekommenderade maximala promptlängden är 4 500 token; använd utrymmet till det innehåll och den layout som bilden faktiskt behöver.
Modellen stöder detaljerade texturer, typografi ned till liten text som demonstrerats vid 10 pixlar samt inbyggd rendering på 12 språk med flera typsnitt och konstnärliga stilar. Dessa funktioner kan kombinera ett realistiskt objekt med informationsrik grafik i stället för att tvinga fram ett val mellan ett fotografi och en texttung layout. Ange exakt vilka ord och siffror som ska återges, deras avsedda språk och var de ska placeras. Betrakta ett genererat gränssnitt som en visuell skiss: knappar, diagram och etiketter i bilden implementerar inte en applikations funktioner.
Redigering kan ändra text, lägga till eller ta bort objekt, flytta element, justera ett motivs handling, överföra en stil eller förbättra detaljerna i en skadad bild. Ange en till tre bilder och en enda tydlig redigeringsinstruktion. Bildnumreringen följer den ordning bilderna anges i, så identifiera vilken bild som bidrar med motivet, vilken som tillhandahåller ett plagg eller objekt och vilken som ger miljön. För en produktscen kan du be att objektet från bild 1 placeras i miljön från bild 2 samtidigt som produktens utmärkande egenskaper bevaras. Var tydlig med både ändringar och krav på vad som ska bevaras.
Det exakta bildinmatningsflödet accepterar JPG, JPEG, PNG, BMP, TIFF, WebP och GIF; endast den första bildrutan i en animerad GIF bearbetas. Varje bild får vara upp till 10 MB. Det aktuella API:et accepterar dimensioner från 1 till 8 000 pixlar med ett förhållande mellan lång- och kortsida på högst 10:1, och rekommenderar 384–2 048 pixlar för bra resultat. Välj en inmatad bild som tydligt visar de detaljer som ska överföras eller redigeras. En hårt beskuren referens kan dölja den omgivande struktur som behövs för att placera ett objekt naturligt.
Utdata ges i PNG-format, med en till sex bilder per begäran och en bild som standard. Pixelarean för utdata går från 512 × 512 till 2 048 × 2 048, med bildförhållanden mellan 1:8 och 8:1; detta är areagränser, inte en regel om att varje sida får vara högst 2 048 pixlar. Om ingen storlek anges rekommenderar modellen en upplösning utifrån prompten. Välj liggande, kvadratisk eller stående komposition för den avsedda användningen och granska sedan den returnerade bilden i den faktiska storleken, så att små etiketter och fina detaljer kan bedömas där de ska visas.
Promptomskrivning är aktiverad som standard i tillverkarens arbetsflöde. Direkt förbättring fungerar för både generering och redigering; agentförbättring är ett mer omfattande omskrivningsläge som endast gäller text-till-bild och avvisas för bild-till-bild-redigering. Thinking är aktiverat som standard, kräver promptomskrivning och ökar genereringstiden. Negativa prompter kan beskriva oönskade element, medan ett fast seed-värde hjälper till att jämföra varianter. Ange tydligt vad som ska uteslutas och exakt vad som ska bevaras i stället för att förvänta dig att ett seed-värde ska ge en identisk bild när beskrivningen ändras.
För ett användbart slutresultat granskar du de återgivna orden, enheterna, panelordningen och de detaljer som identifierar motivet, och reviderar sedan den specifika del som inte motsvarade beskrivningen. Ett svar med flera bilder ger alternativ att jämföra; behåll kopplingen mellan varje returnerad bild och den prompt och de referenser som gav upphov till den. Tillverkarens bildadresser upphör att gälla efter 24 timmar, så spara själva bildfilen när resultatet blir en del av ett projekt. Standardversionen 3.0 förblir skild från Pro och från Qwen 2.1-modellerna, som har andra gränser för antalet referenser och andra transparensfunktioner.
Ailoot Ultra · Bilder POST /v1/images/generations qwen/qwen-image-3
qwen/qwen-image-3Start
Qwen-Image-3.0 kombinerar bildgenerering och bildredigering för informationsrika layouter, detaljerade scener och flerspråkig typografi. Standardversionen balanserar kvalitet och hastighet och tar emot en textbeskrivning eller upp till tre bilder med en redigeringsinstruktion.
- Godkända indata
- Text · Bilder
- Resultat
- Bilder
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Bilder POST /v1/images/generations
- Indatatyper
text,image- Utdatatyper
image
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser qwen/qwen-image-3 | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Minsta längd: 1 | Standard— |
Fältresolution | Typstring | KravValfritt | Värden & gränser 1K, 2K | Standard— |
Fältaspect_ratio | Typstring | KravValfritt | Värden & gränser 1:1, 1:2, 1:4, 2:1, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 9:16, 16:9 | Standard— |
Fältn | Typinteger | KravValfritt | Värden & gränser Minimum: 1 Maximum: 6 | Standard— |
Fältinput_references | Typarray | KravValfritt | Värden & gränser Minsta antal objekt: 0 Maximalt antal objekt: 4 | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt |
Parametermaterial_types | Avtaltext, image |
Livscykel: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Det task_id som faktiskt returnerades eller en post i mediebiblioteket
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsenhet | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsenhet— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| Konfigurationindatabild | Prislista— | Prognostiserad mängd— | Debiteringsenhetper indatabild | Avgift Indata · indatabild · Uppskattning endast för jämförelse $0.006 per indatabild |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.06 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Bilder
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'qwen/qwen-image-3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Ta emot och spara resultat
Ailoot Ultra · Bilder
Ladda ned varje returnerad bild eller spara dess Base64-innehåll
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Andra innehållsläsningar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Behåll alla färdiga resultat
Spara varje färdig bild; hämta varje returnerad URL eller avkoda dess Base64-innehåll.
Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.
Om det ursprungliga svaret behöver kontrolleras
Behåll det returnerade värdet för X-Client-Request-ID för avstämning. Läs endast av resultat via de task_id/asset_id-värden som faktiskt returnerades eller via det mediebibliotek som tillhör dig. Bygg aldrig en uppgifts-URL från operations-ID:t och skicka aldrig skapandeförfrågan igen.
Svarsfält
| Fält | Typ |
|---|---|
Fältcreated | Typ |
Fältdata[].url | Typ |
Fältdata[].b64_json | Typ |
Fältusage | Typ |
Alias
Modellalias
Ailoot Ultra qwen/qwen-image-3
Alias för metodsökvägar
/v1/images
Relaterade anropar-ID:n
FAQ · Qwen: Qwen Image 3
- Vilka indata och resultat finns?
POST /v1/images/generations·qwen/qwen-image-3:text,image→image- Vilka fält använder begäran?
POST /v1/images/generations·qwen/qwen-image-3:model,prompt,resolution,aspect_ratio,n,input_references,provider- Vilka gränser gäller?
POST /v1/images/generations·qwen/qwen-image-3:n.minimum:1;n.maximum:6