
Aliyun Qwen Image Edit
- 82 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
Edit existing images with Alibaba Cloud Model Studio Qwen Image Edit models for inpaint, replace, style transfer, and local edits.
About
Uses Model Studio Qwen Image Edit models for instruction-based image editing while preserving subject consistency. A developer uses it to modify existing images rather than generate from scratch.
- qwen-image-edit, plus/max, and 2.0 series variants
- Instruction-based editing: inpaint, replace, style transfer
Aliyun Qwen Image Edit by the numbers
- 82 all-time installs (skills.sh)
- Ranked #818 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-qwen-image-editAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 82 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
What it does
Edit existing images with Alibaba Cloud Model Studio Qwen Image Edit models for inpaint, replace, style transfer, and local edits.
Files
Category: provider
Model Studio Qwen Image Edit
Validation
mkdir -p output/aliyun-qwen-image-edit
python -m py_compile skills/ai/image/aliyun-qwen-image-edit/scripts/prepare_edit_request.py && echo "py_compile_ok" > output/aliyun-qwen-image-edit/validate.txtPass criteria: command exits 0 and output/aliyun-qwen-image-edit/validate.txt is generated.
Output And Evidence
- Save edit request payloads, result URLs, and model parameters under
output/aliyun-qwen-image-edit/. - Keep one sample request/response pair for reproducibility.
Use Qwen Image Edit models for instruction-based image editing instead of text-to-image generation.
Critical model names
Use one of these exact model strings:
qwen-image-editqwen-image-edit-plusqwen-image-edit-maxqwen-image-2.0qwen-image-2.0-proqwen-image-2.0-2026-03-03qwen-image-2.0-pro-2026-03-03qwen-image-edit-plus-2025-12-15qwen-image-edit-max-2026-01-16
Prerequisites
- Install SDK in a virtual environment:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install dashscope- Set
DASHSCOPE_API_KEYin your environment, or adddashscope_api_keyto~/.alibabacloud/credentials.
Normalized interface (image.edit)
Request
prompt(string, required)image(string | bytes, required) source image URL/path/bytesmask(string | bytes, optional) inpaint region masksize(string, optional) e.g.1024*1024seed(int, optional)
Response
image_url(string)seed(int)request_id(string)
Operational guidance
- Keep prompts task-oriented: describe what to change and what to preserve.
- Use masks for deterministic local edits.
- Save output assets to object storage and persist only URLs.
- For subject consistency, provide explicit constraints in prompt.
Local helper script
Prepare a normalized request JSON and validate response schema:
.venv/bin/python skills/ai/image/aliyun-qwen-image-edit/scripts/prepare_edit_request.py \
--prompt "Replace the sky with sunset, keep buildings unchanged" \
--image "https://example.com/input.png"Output location
- Default output:
output/aliyun-qwen-image-edit/images/ - Override base dir with
OUTPUT_DIR.
Workflow
1) Confirm user intent, region, identifiers, and whether the operation is read-only or mutating. 2) Run one minimal read-only query first to verify connectivity and permissions. 3) Execute the target operation with explicit parameters and bounded scope. 4) Verify results and save output/evidence files.
References
references/sources.md
interface:
display_name: "Alibaba Cloud AI Image Qwen Image Edit"
short_description: "Qwen Image Edit (Max) workflows"
default_prompt: "Use $aliyun-qwen-image-edit to complete this ai/image editing task on Alibaba Cloud."
- https://help.aliyun.com/zh/model-studio/qwen-image-edit-guide
- https://help.aliyun.com/zh/model-studio/newly-released-models
#!/usr/bin/env python3
"""Prepare and validate normalized request/response for Qwen Image Edit."""
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
def _load_json(path: str) -> dict:
return json.loads(Path(path).read_text(encoding="utf-8"))
def main() -> None:
parser = argparse.ArgumentParser(description="Prepare image.edit request and validate response shape")
parser.add_argument("--prompt", required=True)
parser.add_argument("--image", required=True)
parser.add_argument("--mask")
parser.add_argument("--size", default="1024*1024")
parser.add_argument("--seed", type=int)
parser.add_argument("--output", default="output/ai-image-qwen-image-edit/request.json")
parser.add_argument("--validate-response", help="Path to JSON response file")
args = parser.parse_args()
req = {
"prompt": args.prompt,
"image": args.image,
"size": args.size,
}
if args.mask:
req["mask"] = args.mask
if args.seed is not None:
req["seed"] = args.seed
out = Path(args.output)
out.parent.mkdir(parents=True, exist_ok=True)
out.write_text(json.dumps(req, ensure_ascii=False, indent=2), encoding="utf-8")
result = {"ok": True, "request_path": str(out)}
if args.validate_response:
resp = _load_json(args.validate_response)
missing = [k for k in ["image_url"] if k not in resp]
if missing:
result = {"ok": False, "error": f"missing keys: {missing}"}
print(json.dumps(result, ensure_ascii=False))
sys.exit(1)
result["response_valid"] = True
print(json.dumps(result, ensure_ascii=False))
if __name__ == "__main__":
main()