$npx -y skills add QwenCloud/qwencloud-ai --skill qwencloud-vision[QwenCloud] Understand images and videos with Qwen vision models. TRIGGER when: user wants to analyze, describe, or extract information from images or videos, OCR text extraction, chart/table reading, visual reasoning, multi-image comparison, screenshot understanding, video compr
| 1 | > **Agent setup**: If your agent doesn't auto-load skills (e.g. Claude Code), |
| 2 | > see [agent-compatibility.md](references/agent-compatibility.md) once per session. |
| 3 | |
| 4 | # Qwen Vision (Image & Video Understanding) |
| 5 | |
| 6 | Analyze images and videos using Qwen VL and QVQ models. |
| 7 | This skill is part of **qwencloud/qwencloud-ai**. |
| 8 | |
| 9 | ## Skill directory |
| 10 | |
| 11 | Use this skill's internal files to execute and learn. Load reference files on demand when the default path fails or you need details. |
| 12 | |
| 13 | | Location | Purpose | |
| 14 | |----------|---------| |
| 15 | | `scripts/analyze.py` | Image/video understanding, multi-image, thinking mode | |
| 16 | | `scripts/reason.py` | Visual reasoning (QVQ, chain-of-thought, streaming) | |
| 17 | | `scripts/ocr.py` | OCR text extraction | |
| 18 | | `scripts/vision_lib.py` | Shared helpers (base64, upload, streaming) | |
| 19 | | `references/execution-guide.md` | Fallback: curl, code generation | |
| 20 | | `references/curl-examples.md` | Curl for base64, multi-image, video, OCR | |
| 21 | | `references/visual-reasoning.md` | QVQ and thinking mode details | |
| 22 | | `references/prompt-guide.md` | Query prompt templates by task, thinking mode decision | |
| 23 | | `references/ocr.md` | OCR parameters and examples | |
| 24 | | `references/sources.md` | Official documentation URLs | |
| 25 | | `references/agent-compatibility.md` | Agent self-check: register skills in project config for agents that don't auto-load | |
| 26 | |
| 27 | ## Security |
| 28 | |
| 29 | **NEVER output any API key or credential in plaintext.** Always use variable references (`$DASHSCOPE_API_KEY` in shell, `os.environ["DASHSCOPE_API_KEY"]` in Python). Any check or detection of credentials must be **non-plaintext**: report only status (e.g. "set" / "not set", "valid" / "invalid"), never the value. Never display contents of `.env` or config files that may contain secrets. |
| 30 | |
| 31 | **When the API key is not configured, NEVER ask the user to provide it directly.** Instead, help create a `.env` file with a placeholder (`DASHSCOPE_API_KEY=sk-your-key-here`) and instruct the user to replace it with their actual key from the [QwenCloud Console](https://home.qwencloud.com/api-keys). Only write the actual key value if the user explicitly requests it. |
| 32 | |
| 33 | ## Key Compatibility |
| 34 | |
| 35 | Scripts require a **standard QwenCloud API key** (`sk-...`). Coding Plan keys (`sk-sp-...`) cannot be used for direct API calls and do not support dedicated vision models (qwen3-vl-plus, qvq-max, etc.). The scripts detect `sk-sp-` keys at startup and print a warning. If qwencloud-ops-auth is installed, see its `references/codingplan.md` for full details. |
| 36 | |
| 37 | ## Model Selection |
| 38 | |
| 39 | | Model | Use Case | |
| 40 | |-------|----------| |
| 41 | | **qwen3.6-plus** | **Preferred** — latest flagship, unified multimodal (text+image+video). Thinking on by default. Best balance of quality, speed, cost. | |
| 42 | | **qwen3.5-plus** | Unified multimodal (text+image+video). Thinking on by default. | |
| 43 | | **qwen3.5-flash** | Fast multimodal — cheaper, faster. Thinking on by default. | |
| 44 | | **qwen3-vl-plus** | High-precision — object localization (2D/3D), document/webpage parsing. | |
| 45 | | **qwen3-vl-flash** | Fast vision — lower latency, 33 languages. | |
| 46 | | **qvq-max** | Visual reasoning — chain-of-thought for math, charts. **Streaming only.** | |
| 47 | | **qwen-vl-ocr** | OCR — text extraction, table parsing, document scanning. | |
| 48 | | **qwen-vl-max** | Qwen2.5-VL — best-performing in 2.5 series. | |
| 49 | | **qwen-vl-plus** | Qwen2.5-VL — faster, good balance of performance and cost, 11 languages. | |
| 50 | |
| 51 | 1. **User specified a model** → use directly. |
| 52 | 2. **Consult the qwencloud-model-selector skill** when model choice depends on requirement, scenario, or pricing. |
| 53 | 3. **No signal, clear task** → `qwen3.6-plus`. Use `qwen3-vl-plus` for precise localization or 3D detection. |
| 54 | |
| 55 | > **⚠️ Important**: The model list above is a **point-in-time snapshot** and may be outdated. Model availability |
| 56 | > changes frequently. **Always check the [official model list](https://www.qwencloud.com/models) |
| 57 | > for the authoritative, up-to-date catalog before making model decisions.** |
| 58 | |
| 59 | > **Model details**: For more information about a specific model, direct the user to its detail page: `https://www.qwencloud.com/models/<model-name>` (replace `<model-name>` with the exact model ID, e.g. `qwen3.6-plus` → https://www.qwencloud.com/models/qwen3.6-plus). NEVER modify or guess the model name in the URL. |
| 60 | |
| 61 | > **Dyna |