Introduction
Qwen Image 2512 LoRA Text to image makes one image from a written prompt on Alibaba's Qwen-Image-2512, a 20-billion-parameter open model released in December 2025, with up to three of your own LoRA files loaded. Pick any of nine aspect ratios at up to 1536 pixels on the long side and get back JPEG, PNG or WebP at one flat price. The platform adds no content filter to the prompt, the weights or the image.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| a written description | Qwen Image 2512 LoRA Text to image |
| one to three images to change | Qwen Image 2512 LoRA Edit |
Key features & highlights
A larger base under your LoRA
Alibaba describes Qwen-Image-2512 as its release with more realistic people, finer natural detail such as fur and landscapes, and better text rendering. Style LoRAs keep that detail: faces, hands and small objects hold together in illustrated looks.
Bigger frames at the same price
1:1 comes back at 1328 x 1328 and 16:9 at 1536 x 864, more than one megapixel, and every ratio costs the same.
Uncensored with custom weights
With an unfiltered LoRA loaded, our strongest content probe came back as written. The weights are never reviewed and the output is never filtered.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Put the LoRA's trigger phrase first, then describe subject, setting and light. Qwen-Image follows long, detailed prompts well. at least 1 characters · at most 5000 characters |
aspect_ratio | No | Nine options from 21:9 to 9:21. 1:1 is 1328 x 1328 and 16:9 is 1536 x 864; all cost the same. |
loras | No | Up to three {path, scale} entries trained for Qwen-Image-2512; scale 0 to 4, 1 is neutral. Default: |
output_format | No | JPEG by default, PNG or WebP if you need them. Does not change the price. |
seed | No | Keeps a set of images comparable while you change one LoRA scale at a time. |
Pricing
$0.03 / image
Billed per image at one flat price for every aspect ratio. Loading LoRAs adds no separate charge.
Use cases
Illustration series
Storybook, watercolour and pixel-art LoRAs with a fixed seed give a consistent set of covers, panels or thumbnails. The larger frames leave room for cropping to several placements from one image.
Detailed character art
A character LoRA on a 20-billion-parameter base keeps faces and hands readable in stylised frames, which matters for character sheets and visual novels where the same figure appears again and again.
Uncensored stills for your platform
Load the LoRA your audience expects and write the image directly, with no content flag and no second review of the result.
Prompt guide & pro tips
Use the trigger the LoRA was trained on
Many 2512 LoRAs respond to a style phrase such as "storybook anime illustration" or "Pixel Art". Put it at the start of the prompt, copied exactly from the model card.
Write long, concrete prompts
Qwen-Image reads detailed descriptions well: subject, clothing, place, time of day, light and palette in full sentences. A short list of keywords wastes the base model's detail.
Check the base before loading
A LoRA made for an unrelated base loads without an error but does little. One trained for the first Qwen-Image release often still changes the picture here, with less predictable results. The model card names its base; look for Qwen-Image-2512 before you spend a request.
Compare scales on one seed
Keep the seed fixed and try the LoRA at 0.7, 1 and 1.3. Style LoRAs on a large base sometimes need a little more strength before the look takes over.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/qwen-image-2512-lora/text-to-image",
"input": {
"aspect_ratio": "1:1",
"output_format": "jpeg",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.


















