Introduction
Qwen Image Edit 2509 LoRA Edit changes or combines one to three source images with Alibaba's open Qwen-Image-Edit-2509, guided by your instruction and up to three of your own LoRA files. The result follows the first source's shape at about one megapixel, or one of nine aspect ratios if you pick it, and comes back as JPEG, PNG or WebP at one flat price, with no content filter.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| one to three images to change or combine | Qwen Image Edit 2509 LoRA Edit |
| a written description only | Qwen Image 1.0 LoRA Text to image |
Key features & highlights
Up to three sources
Alibaba trained 2509 on combined images: person with person, person with product, person with scene. In our tests two separate portraits became one photo-booth strip with both faces intact.
Edit LoRAs from two generations
Next-scene, photo-to-anime and relighting LoRAs made for 2509 load from a direct link, and LoRAs for the original Qwen-Image-Edit work as well.
Uncensored with custom weights
Sources, instructions and results are never filtered. Single-subject changes came back as written in our tests at every level; the Very strong level was drawn without refusal, but the model toned it down.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Say what each picture contributes and what should change. Some edit LoRAs expect a fixed phrase, such as "Next Scene:" or "transform into anime"; the LoRA card gives it. at least 1 characters · at most 5000 characters |
image_urls | Yes | One to three source images as public HTTPS links or uploads, up to 10 MB each, addressed in the prompt as Picture 1, Picture 2 and Picture 3. at least 1 items · at most 3 items |
aspect_ratio | No | Optional. Leave it empty and the result follows the first source at about one megapixel. |
loras | No | Up to three {path, scale} entries. Default: |
output_format | No | JPEG by default, PNG or WebP if you need them. Does not change the price. |
seed | No | Keeps edits comparable while you change the instruction or a LoRA scale. Any whole number from 0 to 2147483647; leave it empty for a random seed. |
Pricing
$0.03 / image
Billed per image at one flat price, whether you send one, two or three sources. LoRAs add no separate charge.
Use cases
Couples and group shots
Bring people from separate photos into one frame, for invitations, story panels or social posts.
Storyboards from one photo
A next-scene LoRA gives the following shot of the same scene from a new angle, so one still becomes a short sequence.
Style versions of a portrait
Photo-to-anime and relighting LoRAs give a series of looks from one portrait without losing the face.
Prompt guide & pro tips
Name every picture
Write "the woman from Picture 1" and "the man from Picture 2" rather than "them". Vague prompts can mix people up.
Use the LoRA's phrase
Edit LoRAs are trained on a fixed opening such as "Next Scene:" or "transform into anime". Start with it, then describe the change.
Say who should look adult and how
When a LoRA redraws people as illustrations, describe their age and features, such as "a woman in her thirties with a grown-up face", so the drawing stays true to the photo.
Link the file
Paste a direct download link to the .safetensors file. A repository page or a Hugging Face link that needs a login fails the request, and failed requests are not charged.
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-edit-2509-lora/edit",
"input": {
"image_urls": [
"https://example.com/reference.png"
],
"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.













