Introduction
Z-Image Base LoRA Text to image draws one image from a written prompt with up to three of your own LoRA files loaded. It runs Z-Image, the 6-billion-parameter base model from Alibaba's Tongyi-MAI team: the non-distilled build that its makers describe as the starting point for fine-tuning and LoRA training. Pick any of nine aspect ratios. 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 | Z-Image Base LoRA Text to image |
| a picture to restyle | Z-Image Base LoRA Image to image |
Key features & highlights
The build LoRAs are trained on
Z-Image comes in a fast distilled Turbo build and this full Base build. The publisher recommends Base for fine-tuning; a LoRA trained on it, loaded here, changed the whole look in our tests.
Three at once
Up to three LoRAs per request, each with its own scale from 0 to 4. Nothing is uploaded to us in advance and the files are not reviewed.
Photographs by default
Without a LoRA the model draws photographic images with natural skin, light and grain, and it follows long descriptive prompts closely.
No content filter
There is no filter on prompts, weights or results. The base model delivered every level from Mild to Maximum without hesitation except Very strong, which came out muddled rather than blocked; that is what unfiltered LoRAs are for.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Full sentences work best: subject, clothing, place, light and lens. Put a LoRA's trigger phrase first. at least 1 characters · at most 5000 characters |
aspect_ratio | No | Nine shapes of about one megapixel, from 21:9 (1536 x 640) to 9:21; 1:1 by default. The ratio changes the shape, not the price. |
loras | No | Up to three {path, scale} entries trained on Z-Image Base; scale 0 to 4, 1 is neutral. Turbo LoRAs are not compatible. Default: |
output_format | No | JPEG by default, or PNG or WebP. The format does not change the price. |
seed | No | Keeps a set of images comparable while you change one LoRA or one sentence at a time. It does not guarantee the exact same pixels on every run. |
Pricing
$0.014 / image
Billed per image. The aspect ratio, the output format and loading LoRAs do not change the price.
Use cases
A house style for a whole set
Load a style LoRA, keep its trigger phrase at the front and run a list of prompts. Every image in the set shares the look.
Your own trained LoRAs
If you train on Z-Image Base, test the result here at full quality without running your own GPU.
Photographic stills
Portraits, editorial and cinematic frames from sentences, in nine shapes from 21:9 to 9:21.
Prompt guide & pro tips
Write sentences
Describe the subject, clothing, place, light and lens in full sentences. In our tests the model followed details such as a coffee cup held in both hands or seagulls on a pier.
Mind the trigger phrase
Prompt adherence is strong enough that a LoRA's trigger phrase alone can change the style. Compare runs with and without the LoRA file, not just with and without the phrase.
Use Base LoRAs, not Turbo ones
A LoRA trained on Z-Image Turbo broke the image apart on this build in our test, without an error. Look for LoRAs trained on Z-Image Base.
Allow time
Base runs many more sampling steps than Turbo: in our tests a text-to-image request took 10 to 57 seconds of model time, usually around half a minute.
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/z-image-base-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.













