Introduction
Z-Image Turbo LoRA Image to image redraws one source image on Alibaba's Z-Image Turbo, guided by your prompt and up to three of your own LoRA files. A strength value from 0 to 1 decides how far the result moves from the source. The output keeps the source's aspect ratio, comes back as JPEG, PNG or WebP, and is not filtered.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| a picture to restyle | Z-Image Turbo LoRA Image to image |
| a written description only | Z-Image Turbo LoRA Text to image |
Key features & highlights
Strength you can reason about
The default 0.8 keeps composition and pose and replaces the style; in our tests 0.6 barely changed the picture, and values near 1 kept only a loose memory of the source. Pick strength first, then refine the prompt.
Style LoRAs do the restyling
A painting LoRA turned a stage photo into an oil painting, and a Realism LoRA turned a drawing into a photograph, both with the pose intact. The prompt describes the scene; the LoRA supplies the medium.
Uncensored with custom weights
The source, the prompt and the result are never filtered. With strength at 0.9 and no LoRA loaded, our Strong-level edit came back exactly as the probe asked.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Describe the whole image you want back, not only the change: subject, clothing, setting and the style or LoRA trigger word. at least 1 characters · at most 5000 characters |
image_url | Yes | The picture to restyle. The result keeps its aspect ratio; the long side comes back at 1024 or 1536 pixels depending on resolution. |
resolution | No | The long side of the result: 1k is 1024 pixels (the default), 1.5k is 1536. The aspect ratio always follows the source, so a portrait source comes back as 1024 x 1536 at 1.5k. |
strength | No | How far to move from the source, 0 to 1. The default 0.8 restyles and keeps the layout; 0.6 changes little; near 1 the source is only a loose guide. |
loras | No | Up to three {path, scale} entries trained for Z-Image Turbo; scale 0 to 4. A style LoRA here does most of the restyling. Default: |
output_format | No | JPEG by default, PNG or WebP if you need them. |
seed | No | Keeps results comparable while you adjust strength. |
Pricing
$0.012 / image
Billed per image at one flat price. Loading LoRAs adds no separate charge.
Use cases
Photo to painting, drawing to photo
Turn product shots, portraits or sketches into another medium while the layout stays put. A painting LoRA repaints a photo; a realism LoRA turns a drawing into something that looks shot on a camera.
Consistent looks across a set
Run a folder of images through the same LoRA, strength and seed to give them one shared style, for example a catalogue of product photos redrawn as watercolour or a gallery of portraits in one film look.
Uncensored restyles
Any LoRA applies to your own images with no review and no filter on the result, at the same flat price as any other edit.
Prompt guide & pro tips
Describe the whole result
Write what the final image should contain, including the subject, the clothing and the setting, not only the change. The model regenerates the entire frame, so anything you leave out of the prompt is left to chance.
Start at 0.8, then move in steps of 0.1
If the source bleeds through too much, raise strength; if the pose or the face drifts, lower it. Keep the seed fixed while you compare so that strength is the only thing changing between two results.
Put the trigger word first
Style LoRAs expect their trigger at the start of the prompt, exactly as in text-to-image. Without it, a painting or pixel-art LoRA often shows only faintly.
Send a clean source
A sharp source with one clear subject restyles best. Crop away borders, watermarks and text first; the model redraws whatever it sees, including things you did not mean to keep.
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-turbo-lora/edit",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "jpeg",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k"
}
}'
# 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.












