Bailian Media Generation
modelstudioai/cli
Chinese-language entry point into Alibaba Cloud Bailian's image, video and speech generation and understanding, routed through separate image, video, speech and vision commands.
DashScope (Alibaba Cloud Bailian / 阿里云百炼) integration — image generation (qwen-image-2.0-pro), text-to-speech (qwen3-tts-flash), and ASR with word-level timestamps (qwen3-asr-flash-filetrans).
$ npx skills add calesthio/OpenMontage --skill dashscope -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install calesthio/OpenMontage dashscope --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/calesthio/OpenMontage.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/dashscope .claude/skills/dashscope && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dashscope" agent skill from https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscope into .claude/skills/dashscope/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dashscope", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscopeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add calesthio/OpenMontage --skill dashscope -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install calesthio/OpenMontage dashscope --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/calesthio/OpenMontage.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/dashscope .agents/skills/dashscope && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dashscope" agent skill from https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscope into .agents/skills/dashscope/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dashscope", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add calesthio/OpenMontage --skill dashscope -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install calesthio/OpenMontage dashscope --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/calesthio/OpenMontage.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/dashscope .cursor/skills/dashscope && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dashscope" agent skill from https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscope into .cursor/skills/dashscope/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dashscope", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/calesthio/OpenMontage.git --path .agents/skills/dashscope--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add calesthio/OpenMontage --skill dashscope -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install calesthio/OpenMontage dashscope --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/calesthio/OpenMontage.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/dashscope .gemini/skills/dashscope && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dashscope" agent skill from https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscope into .gemini/skills/dashscope/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dashscope", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install calesthio/OpenMontage dashscopeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add calesthio/OpenMontage --skill dashscope -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/calesthio/OpenMontage.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/dashscope .github/skills/dashscope && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dashscope" agent skill from https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscope into .github/skills/dashscope/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dashscope", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add calesthio/OpenMontage --skill dashscope -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install calesthio/OpenMontage dashscope --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/calesthio/OpenMontage.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/dashscope .opencode/skills/dashscope && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dashscope" agent skill from https://github.com/calesthio/OpenMontage/tree/main/.agents/skills/dashscope into .opencode/skills/dashscope/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dashscope", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dashscopeDashScope (Alibaba Cloud Bailian / 阿里云百炼) integration — image generation (qwen-image-2.0-pro), text-to-speech (qwen3-tts-flash), and ASR with word-level timestamps (qwen3-asr-flash-filetrans).
Dashscope is an agent skill from calesthio/OpenMontage. DashScope (Alibaba Cloud Bailian / 阿里云百炼) integration — image generation (qwen-image-2.0-pro), text-to-speech (qwen3-tts-flash), and ASR with word-level timestamps (qwen3-asr-flash-filetrans). Use when generating images via Qwen-Image, narrating via Qwen-TTS, or transcribing with word-level timestamps via Qwen-ASR.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Text to speech and voice, Speech recognition and synthesis and Image generation. It works with Qwen and Alibaba Cloud. The repository describes itself as: World's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant… The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9327439. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
dashscope.aliyuncs.comAlso links to:
dashscope.aliyun.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DASHSCOPE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dashscope loads about 1.5k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 496 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
Requires `DASHSCOPE_API_KEY` in `.env`. Get one at https://dashscope.aliyun.com/.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from calesthio/OpenMontage at commit 9327439, republished under its AGPL-3.0 licence (© calesthio). 496 words, ~1,507 tokens.
.claude/skills/dashscope/SKILL.md (or your agent's skills folder).Requires DASHSCOPE_API_KEY in .env. Get one at https://dashscope.aliyun.com/.
CRITICAL: DashScope's /compatible-mode/v1/ only supports /chat/completions and /embeddings. Image generation, TTS, and ASR all use DashScope-native endpoints — not OpenAI-compatible paths.
All three tools use Authorization: Bearer $DASHSCOPE_API_KEY.
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationqwen-image-2.0-pro (default), qwen-image-max, wan2.7-image, z-image-turbo{model, input: {messages: [{role: "user", content: [{text: "prompt"}]}]}, parameters: {size: "W*H", n, prompt_extend, watermark}}"1024*1024" not "1024x1024"output.choices[0].message.content[0].image (URL, valid ~24h) — must download separatelyPOST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationSame endpoint as image gen, different body.
qwen3-tts-flash (default), qwen3-tts-instruct-flash, qwen-tts-2025-05-22{model, input: {text, voice: "Cherry", language_type: "Auto"}}output.audio.url (WAV, valid ~24h) — must download separatelyPOST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
Header: X-DashScope-Async: enableqwen3-asr-flash-filetrans (NOT qwen3-asr-flash — the sync version has no word timestamps){model, input: {file_url: "https://public-url/audio.mp3"}, parameters: {enable_words: true, language_hints: ["zh","en"]}}task_id → poll GET /api/v1/tasks/{task_id} until SUCCEEDED → download output.result.transcription_url → JSON with transcripts[].sentences[].words[]begin_time/end_time are in milliseconds — the tool normalizes to secondsfrom tools.graphics.image_selector import ImageSelector
result = ImageSelector().execute({
"preferred_provider": "dashscope",
"prompt": "一只猫坐在沙发上",
"output_path": "projects/my-video/assets/images/cat.png",
})from tools.audio.tts_selector import TTSSelector
result = TTSSelector().execute({
"preferred_provider": "dashscope",
"text": "如果 AI 真的会改变未来,普通人到底该怎么参与?",
"voice": "Cherry",
"output_path": "projects/my-video/assets/audio/narration.wav",
})from tools.analysis.dashscope_asr import DashscopeAsr
result = DashscopeAsr().execute({
"audio_url": "https://example.com/narration.wav",
"output_path": "projects/my-video/assets/audio/transcription.json",
})
# result.data["words"] is a flat list of {text, begin_time_seconds, end_time_seconds}prompt_extend: true (default) — DashScope rewrites your prompt for better results. Disable if you need literal prompt adherence.result.data["words"] — each word has begin_time_seconds and end_time_seconds. Group words into caption phrases by language semantics, not fixed character count.dashscope_image)prompt (required): text promptmodel: default qwen-image-2.0-prosize: default "1024*1024" — asterisk separator, not "x"n: 1-6 imagesnegative_prompt: things to avoid (max 500 chars)prompt_extend: default true — auto-rewrite prompt for better resultswatermark: default falseseed: for reproducibilitydashscope_tts)text (required): text to synthesize (max 600 chars for qwen3-tts-flash)model: default qwen3-tts-flashvoice: default "Cherry" — other voices: "Ethan", "Chelsie", etc.language_type: default "Auto" — "Chinese", "English", "Japanese", "Korean"instructions: natural language delivery instructions (only for qwen3-tts-instruct-flash)dashscope_asr)audio_url (required): must be publicly accessible URLmodel: qwen3-asr-flash-filetrans (only model that supports word timestamps)language_hints: default ["zh", "en"]enable_words: default true — required for word-level timestampspoll_interval_seconds: default 5.0timeout_seconds: default 300"W*H" with asterisk, not "WxH". Example: "2048*2048".output.audio.url — if empty, the model name or voice may be wrong.audio_url must be publicly reachable. DashScope servers fetch the file; local paths and auth-gated URLs don't work.timeout_seconds (default 300). Long audio files take longer to transcribe.enable_words: true and model is qwen3-asr-flash-filetrans (not the sync qwen3-asr-flash).DASHSCOPE_API_KEY is set. Use Authorization: Bearer $KEY header.Never print or write the API key to logs, metadata, patches, or project artifacts. .env.example should contain only empty variable names. The tool's _safe_error() method redacts the key from error messages.
© calesthio, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/dashscope of calesthio/OpenMontage.
Open the folder on GitHubat commit 9327439
Dashscope next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dashscope this skillcalesthio/OpenMontage | 65k | — | ~1.5k | Automated safety check: Notes | AGPL-3.0 | |
| Bailian Media Generationmodelstudioai/cli | 542 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Video Productionspeechlab0210/video-production-skill | 105 | — | ~4.1k | Automated safety check: Notes | MIT | |
| Local AI Useamd/skills | 398 | — | ~5k | Automated safety check: Notes | MIT | |
| Local AI App Integrationamd/skills | 398 | — | ~6k | Automated safety check: Pass | MIT | |
| Aliyun Qwen Imagecinience/alicloud-skills | 397 | — | ~1.8k | Automated safety check: Pass | MIT |
modelstudioai/cli
Chinese-language entry point into Alibaba Cloud Bailian's image, video and speech generation and understanding, routed through separate image, video, speech and vision commands.
speechlab0210/video-production-skill
AI educational video production pipeline. An agent skill from speechlab0210/video-production-skill.
amd/skills
Makes this agent generate images, transcribe audio, and synthesize speech on the user's own machine through a local Lemonade Server instead of a paid cloud API.
amd/skills
Integrates local AI capabilities into applications using Embeddable Lemonade.
cinience/alicloud-skills
A skill your agent uses when generating images with Model Studio DashScope SDK using Qwen Image generation models (qwen-image, qwen-image-plus, qwen-image-max, qwen-image-2.0 series and snapshots).
cinience/alicloud-skills
A skill your agent uses when generating human-like speech audio with Model Studio DashScope Qwen TTS models (qwen3-tts-flash, qwen3-tts-instruct-flash).
calesthio/OpenMontage
Understand video content locally using ffmpeg frame extraction and Whisper transcription.
calesthio/OpenMontage
Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API.
calesthio/OpenMontage
Creating interactive data visualisations using d3.js. An agent skill from calesthio/OpenMontage.
calesthio/OpenMontage
Create videos from a text prompt using HeyGen's Video Agent.
calesthio/OpenMontage
Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.
calesthio/OpenMontage
Edit videos locally using ffmpeg. An agent skill from calesthio/OpenMontage.
Works with
Categories
DashScope (Alibaba Cloud Bailian / 阿里云百炼) integration — image generation (qwen-image-2.0-pro), text-to-speech (qwen3-tts-flash), and ASR with word-level timestamps (qwen3-asr-flash-filetrans). Dashscope is an agent skill from calesthio/OpenMontage.0-pro), text-to-speech (qwen3-tts-flash), and ASR with word-level timestamps (qwen3-asr-flash-filetrans).
Dashscope fits situations like: generating images via Qwen-Image; narrating via Qwen-TTS; transcribing with word-level timestamps via Qwen-ASR.
Run `npx skills add calesthio/OpenMontage --skill dashscope -a claude-code`. Or copy the skill folder (.agents/skills/dashscope in calesthio/OpenMontage) into .claude/skills/dashscope in your project. Claude Code loads it when a task matches its description.
Run `npx skills add calesthio/OpenMontage --skill dashscope -a codex`. Or copy the skill folder (.agents/skills/dashscope in calesthio/OpenMontage) into .agents/skills/dashscope in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add calesthio/OpenMontage --skill dashscope -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dashscope, .gemini/skills/dashscope, .github/skills/dashscope and .opencode/skills/dashscope in your project.
Going by SKILL.md and its folder, Dashscope needs credentials named DASHSCOPE_API_KEY. Our summary lists: Python 3; A credential in DASHSCOPE_API_KEY.
SKILL.md names 2 domains. In commands or code: dashscope.aliyuncs.com; the agent is likely to contact it when it follows the instructions. As links in the text: dashscope.aliyun.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Dashscope is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dashscope: Bailian Media Generation (modelstudioai/cli, 542 stars), Video Production (speechlab0210/video-production-skill, 105 stars), Local AI Use (amd/skills, 398 stars) and Local AI App Integration (amd/skills, 398 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
calesthio (a GitHub user) maintains it in calesthio/OpenMontage, which has 65,101 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 3, 2026.
Source: calesthio/OpenMontage on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.