
Alicloud Ai Image Zimage Turbo
- 271 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
alicloud-ai-image-zimage-turbo is a Claude agent skill that integrates Alibaba Cloud Z-Image Turbo fast image generation for real-time previews, bulk asset creation, and low-latency creative tools.
About
alicloud-ai-image-zimage-turbo is a cinience/alicloud-skills integration skill for Alibaba Cloud Z-Image Turbo image generation. It helps developers add fast text-to-image endpoints when products need real-time previews, bulk marketing asset creation, or low-latency creative tooling inside web and mobile experiences. The skill guides agent sessions through Alibaba Cloud image API wiring so engineering teams can prototype thumbnails, in-app media, and batch creative outputs without hand-assembling vendor documentation during sprints. Developers reach for alicloud-ai-image-zimage-turbo when generative image features must stay responsive under user interaction rather than waiting on slow batch renders. Pair it with sibling alicloud image skills when pipelines also need Qwen edit endpoints or post-generation storage on OSS. The catalog lists 271 installs on skills.sh for this Z-Image Turbo integration entry in the alicloud-skills collection. Plan quota, content safety, and CDN delivery paths before exposing turbo generation directly to end users.
- Low-latency Z-Image Turbo calls
- Batch and preview-oriented workflows
- Throughput and concurrency tuning
- Parameter presets for speed vs quality
- Object storage and CDN handoff
Alicloud Ai Image Zimage Turbo by the numbers
- 271 all-time installs (skills.sh)
- Ranked #536 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 alicloud-ai-image-zimage-turboAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 271 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
How do you integrate Z-Image Turbo on Alibaba Cloud?
Integrate fast Z-Image Turbo generation for real-time previews, bulk asset creation, and low-latency creative tools on Alibaba Cloud.
Who is it for?
Developers building Alibaba Cloud apps that need fast Z-Image Turbo previews, bulk generated assets, or low-latency creative tooling in production features.
Skip if: Teams generating images exclusively on non-Alibaba providers such as OpenAI DALL-E or Stability APIs without Alibaba Cloud image services.
When should I use this skill?
A developer asks to integrate Z-Image Turbo, add fast Alibaba Cloud image generation, or build real-time preview and bulk asset creative tools.
What you get
Z-Image Turbo API integration notes, fast image generation endpoint wiring, and bulk asset creation configuration for Alibaba Cloud creative features.
- Image API integration guide
- Preview endpoint configuration
- Bulk asset generation workflow
By the numbers
- 271 installs on skills.sh
Files
Category: provider
Model Studio Z-Image Turbo
Use Z-Image Turbo for fast text-to-image generation via the DashScope multimodal-generation API.
Critical model name
Use ONLY this exact model string:
z-image-turbo
Prerequisites
- Set
DASHSCOPE_API_KEYin your environment, or adddashscope_api_keyto~/.alibabacloud/credentials(env takes precedence). - Choose region endpoint (Beijing or Singapore). If unsure, pick the most reasonable region or ask the user.
Normalized interface (image.generate)
Request
prompt(string, required)size(string, optional) e.g.1024*1024seed(int, optional)prompt_extend(bool, optional; default false)base_url(string, optional) override API endpoint
Response
image_url(string)width(int)height(int)prompt(string)rewritten_prompt(string, optional)reasoning(string, optional)request_id(string)
Quick start (curl)
curl -sS 'https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-d '{
"model": "z-image-turbo",
"input": {
"messages": [
{
"role": "user",
"content": [{"text": "A calm lake at dawn, a lone angler casting a line, cinematic lighting"}]
}
]
},
"parameters": {
"size": "1024*1024",
"prompt_extend": false
}
}'Local helper script
python skills/ai/image/alicloud-ai-image-zimage-turbo/scripts/generate_image.py \
--request '{"prompt":"a fishing scene at dawn, cinematic, realistic","size":"1024*1024"}' \
--output output/ai-image-zimage-turbo/images/fishing.png \
--print-responseSize notes
- Total pixels must be between
512*512and2048*2048. - Prefer common sizes like
1024*1024,1280*720,1536*864.
Cost note
prompt_extend=trueis billed higher thanfalse. Only enable when you need rewritten prompts.
Output location
- Default output:
output/ai-image-zimage-turbo/images/ - Override base dir with
OUTPUT_DIR.
Validation
mkdir -p output/alicloud-ai-image-zimage-turbo
for f in skills/ai/image/alicloud-ai-image-zimage-turbo/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-ai-image-zimage-turbo/validate.txtPass criteria: command exits 0 and output/alicloud-ai-image-zimage-turbo/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/alicloud-ai-image-zimage-turbo/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
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/api_reference.mdfor request/response schema and regional endpoints.references/sources.mdfor official docs.
interface:
display_name: "Alibaba Cloud AI Image Zimage Turbo"
short_description: "Z-Image Turbo generation workflows"
default_prompt: "Use $alicloud-ai-image-zimage-turbo to complete this ai/image task on Alibaba Cloud."
Z-Image Turbo API Reference (DashScope)
Keep this reference minimal and update only when the API behavior changes.
Endpoints
- Beijing:
https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation - Singapore:
https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
Request (basic)
{
"model": "z-image-turbo",
"input": {
"messages": [
{
"role": "user",
"content": [
{"text": "A calm lake at dawn, a lone angler casting a line"}
]
}
]
},
"parameters": {
"size": "1024*1024",
"prompt_extend": false,
"seed": 1234
}
}Response (shape)
{
"request_id": "...",
"output": {
"choices": [
{
"message": {
"role": "assistant",
"content": [
{"image": "https://..."},
{"text": "rewritten prompt (optional)"},
{"reasoning_content": "reasoning (optional)"}
]
}
}
]
},
"usage": {
"width": 1024,
"height": 1024
}
}Parameters
size(string): widthheight; total pixels between `512512and2048*2048`.seed(int): optional seed for reproducibility.prompt_extend(bool): rewrite prompt; costs more thanfalse.
Notes
- Response returns a single image URL in
output.choices[0].message.content. - Image URL is time-limited; download promptly.
- https://help.aliyun.com/zh/model-studio/z-image-api-reference
- https://www.alibabacloud.com/help/zh/model-studio/z-image-api-reference
#!/usr/bin/env python3
"""Generate an image using Z-Image Turbo (z-image-turbo) via DashScope API.
Usage:
python scripts/generate_image.py --request '{"prompt":"a cat","size":"1024*1024"}'
python scripts/generate_image.py --file request.json --output output/ai-image-zimage-turbo/images/cat.png
"""
from __future__ import annotations
import argparse
import json
import os
import sys
import urllib.request
from pathlib import Path
from typing import Any
DEFAULT_BASE_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation"
DEFAULT_SIZE = "1024*1024"
MODEL_NAME = "z-image-turbo"
def _find_repo_root(start: Path) -> Path | None:
for parent in [start] + list(start.parents):
if (parent / ".git").exists():
return parent
return None
def _load_dotenv(path: Path) -> None:
if not path.exists():
return
for line in path.read_text().splitlines():
line = line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
key, value = line.split("=", 1)
key = key.strip()
value = value.strip().strip('"').strip("'")
if key and key not in os.environ:
os.environ[key] = value
def _load_env() -> None:
_load_dotenv(Path.cwd() / ".env")
repo_root = _find_repo_root(Path(__file__).resolve())
if repo_root:
_load_dotenv(repo_root / ".env")
def _load_dashscope_api_key_from_credentials() -> None:
if os.environ.get("DASHSCOPE_API_KEY"):
return
credentials_path = Path(os.path.expanduser("~/.alibabacloud/credentials"))
if not credentials_path.exists():
return
import configparser
config = configparser.ConfigParser()
try:
config.read(credentials_path)
except configparser.Error:
return
profile = os.getenv("ALIBABA_CLOUD_PROFILE") or os.getenv("ALICLOUD_PROFILE") or "default"
if not config.has_section(profile):
return
key = config.get(profile, "dashscope_api_key", fallback="").strip()
if not key:
key = config.get(profile, "DASHSCOPE_API_KEY", fallback="").strip()
if key:
os.environ["DASHSCOPE_API_KEY"] = key
def load_request(args: argparse.Namespace) -> dict[str, Any]:
if args.request:
return json.loads(args.request)
if args.file:
with open(args.file, "r", encoding="utf-8") as f:
return json.load(f)
raise ValueError("Either --request or --file must be provided")
def _build_payload(req: dict[str, Any]) -> dict[str, Any]:
prompt = req.get("prompt")
if not prompt:
raise ValueError("prompt is required")
messages = [
{
"role": "user",
"content": [{"text": prompt}],
}
]
parameters: dict[str, Any] = {}
size = req.get("size") or DEFAULT_SIZE
if size:
parameters["size"] = size
if req.get("seed") is not None:
parameters["seed"] = req.get("seed")
if req.get("prompt_extend") is not None:
parameters["prompt_extend"] = bool(req.get("prompt_extend"))
payload: dict[str, Any] = {
"model": MODEL_NAME,
"input": {"messages": messages},
}
if parameters:
payload["parameters"] = parameters
return payload
def _post_json(url: str, api_key: str, payload: dict[str, Any]) -> dict[str, Any]:
data = json.dumps(payload, ensure_ascii=False).encode("utf-8")
req = urllib.request.Request(
url,
data=data,
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}",
},
method="POST",
)
with urllib.request.urlopen(req) as response:
body = response.read().decode("utf-8")
return json.loads(body)
def _extract_image_url(resp: dict[str, Any]) -> str:
choices = (((resp.get("output") or {}).get("choices")) or [])
if not choices:
raise RuntimeError("No choices returned by DashScope")
content = (choices[0].get("message") or {}).get("content") or []
for item in content:
if isinstance(item, dict) and item.get("image"):
return item["image"]
raise RuntimeError("No image URL returned by DashScope")
def _extract_text_field(content: list[dict[str, Any]], key: str) -> str | None:
for item in content:
if isinstance(item, dict) and item.get(key):
return item.get(key)
return None
def call_generate(req: dict[str, Any]) -> dict[str, Any]:
api_key = os.getenv("DASHSCOPE_API_KEY")
if not api_key:
raise RuntimeError("DASHSCOPE_API_KEY is not set")
base_url = req.get("base_url") or os.getenv("DASHSCOPE_BASE_URL") or DEFAULT_BASE_URL
payload = _build_payload(req)
resp = _post_json(base_url, api_key, payload)
output = resp.get("output") or {}
choices = output.get("choices") or []
content = (choices[0].get("message") or {}).get("content") if choices else []
image_url = _extract_image_url(resp)
return {
"image_url": image_url,
"width": (resp.get("usage") or {}).get("width"),
"height": (resp.get("usage") or {}).get("height"),
"prompt": req.get("prompt"),
"rewritten_prompt": _extract_text_field(content, "text"),
"reasoning": _extract_text_field(content, "reasoning_content"),
"request_id": resp.get("request_id"),
}
def download_image(image_url: str, output_path: Path) -> None:
output_path.parent.mkdir(parents=True, exist_ok=True)
with urllib.request.urlopen(image_url) as response:
output_path.write_bytes(response.read())
def main() -> int:
parser = argparse.ArgumentParser(description="Generate image with z-image-turbo")
parser.add_argument("--request", help="Inline JSON request string")
parser.add_argument("--file", help="Path to JSON request file")
default_output_dir = Path(os.getenv("OUTPUT_DIR", "output")) / "ai-image-zimage-turbo" / "images"
parser.add_argument(
"--output",
default=str(default_output_dir / "output.png"),
help="Output image path",
)
parser.add_argument("--print-response", action="store_true", help="Print normalized response JSON")
args = parser.parse_args()
_load_env()
_load_dashscope_api_key_from_credentials()
if not os.environ.get("DASHSCOPE_API_KEY"):
print(
"Error: DASHSCOPE_API_KEY is not set. Configure it via env/.env or ~/.alibabacloud/credentials.",
file=sys.stderr,
)
print("Example .env:\n DASHSCOPE_API_KEY=your_key_here", file=sys.stderr)
print("Example credentials:\n [default]\n dashscope_api_key=your_key_here", file=sys.stderr)
return 1
req = load_request(args)
result = call_generate(req)
download_image(result["image_url"], Path(args.output))
if args.print_response:
print(json.dumps(result, ensure_ascii=True))
return 0
if __name__ == "__main__":
raise SystemExit(main())
Related skills
How it compares
Choose alicloud-ai-image-zimage-turbo for fast Alibaba Z-Image Turbo integration; use sibling Qwen image skills when edits or inpainting are required instead of turbo generation.
FAQ
What is Z-Image Turbo used for in alicloud-ai-image-zimage-turbo?
alicloud-ai-image-zimage-turbo integrates Alibaba Cloud Z-Image Turbo for fast image generation supporting real-time previews, bulk asset creation, and low-latency creative tools. Developers use it during build when responsive generative media must ship inside apps.
When should developers pick alicloud-ai-image-zimage-turbo?
Developers should pick alicloud-ai-image-zimage-turbo when products on Alibaba Cloud need quick image previews or batch creative outputs rather than slow batch-only renders. The cinience skill lists 271 installs on skills.sh for agent-guided Z-Image Turbo integration.