Qwen Image Edit Studio
Transform your images with AI-powered editing using natural language prompts
Checking backend...
Source Image
Drag & Drop or tap to choose
No file selected
Prompts
Advanced Settings
Processing speed vs quality trade-off
🔌 API Access
Use Qwen Image Edit programmatically with our REST API.
🔑 API Keys
To use the API, you need an API key. Manage your API keys →
POST
/api/v1/generate
Generate Edits with Qwen Image Edit
Transform an input image using natural language instructions with the Qwen image editing pipeline.
Cost:
0.025 credits per image
Request (cURL)
curl -X POST https://app.eigenai.com/api/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "model=qwen-image-edit" \
-F "image_path=client/image.png" \
-F "prompt=Replace the bag with macbook" \
-F "negative_prompt=leave blank for none" \
-F "num_inference_steps=30" \
-F "rank=32" \
-F "downsizing_mp=0" \
-F "offloading=false" \
-F "weight=vanilla" \
-F "binary_response=true" \
--output edited.jpg \
-w "\nHTTP Status: %{http_code}\n"
Request (Python)
import requests
url = "https://app.eigenai.com/api/v1/generate"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
with open("image.png", "rb") as source:
files = {"image_file": source}
data = {
"model": "qwen-image-edit",
"image_path": "client/image.png",
"prompt": "Replace the bag with macbook",
"negative_prompt": "",
"num_inference_steps": "30",
"rank": "32",
"downsizing_mp": "0",
"offloading": "false",
"weight": "vanilla",
"binary_response": "true"
}
response = requests.post(url, headers=headers, data=data, files=files)
with open("edited.jpg", "wb") as output:
output.write(response.content)
Request (JavaScript/Node.js)
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const form = new FormData();
form.append('model', 'qwen-image-edit');
form.append('image_file', fs.createReadStream('image.png'));
form.append('image_path', 'client/image.png');
form.append('prompt', 'Replace the bag with macbook');
form.append('negative_prompt', '');
form.append('num_inference_steps', '30');
form.append('rank', '32');
form.append('downsizing_mp', '0');
form.append('offloading', 'false');
form.append('weight', 'vanilla');
form.append('binary_response', 'true');
axios.post('https://app.eigenai.com/api/v1/generate', form, {
headers: {
...form.getHeaders(),
Authorization: 'Bearer YOUR_API_KEY'
},
responseType: 'arraybuffer'
}).then(response => {
fs.writeFileSync('edited.jpg', response.data);
console.log('Credits remaining:', response.headers['x-credits-remaining']);
});
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model |
string | ✅ Yes | Must be qwen-image-edit |
image_file |
file | ✅ Yes | Source image to edit (PNG/JPG/WebP) |
image_path |
string | ✅ Yes | Reference path for internal logging (use client/<filename>) |
prompt |
string | ✅ Yes | Instruction describing the desired edit |
negative_prompt |
string | Optional | What to avoid in the edited result |
num_inference_steps |
number | Optional | Number of denoising steps (default 30) |
rank |
number | Optional | Controls edit complexity (default 32) |
downsizing_mp |
number | Optional | Downsamples large images for faster processing |
offloading |
boolean | Optional | Enable CPU offloading in constrained environments |
weight |
string | Optional | Selects editing profile (lightning or vanilla) |
binary_response |
boolean | Optional | Set to true to receive binary image data directly |
Output
Ready to edit
Upload an image, enter instructions, and generate your AI-powered edit.
Cost: 0.025 credits per image.