Skip to main content
Glama

dsh-vision-dashscope

通过 DashScope / 千问(Qwen) 识别并生成图片、视频、音频的 DSH 插件(MCP server)。专治 Deepseek-omnimodal 等插件「视频大了就不行」的问题:

  • 长视频/大视频直接识别:走百炼临时 OSS 直传(oss:// 临时 URL,单文件上限 1GB,按模型的 max_file_size_mb 校验),不压缩、不损画质;小视频(≤14MB)走 base64 省一次上传。

  • mkv / avi 等浏览器不可播格式也能识别(模型服务端解码抽帧)。

  • 音频:短音频 qwen3.5-omni 直接理解,长音频自动 fun-asr 转写。

工具

工具

说明

recognize_image

本地图片 / 图片 URL → 描述或按任务分析(qwen4.5-flash)

recognize_video

本地视频 / 视频 URL → 描述或按任务分析(qwen4.5-flash;大文件 OSS 直传)

recognize_audio

短音频 qwen3.5-omni 理解;长音频 fun-asr 转写

generate_image

文生图(qwen-image-3.0 等;约 0.18 元/张起)

generate_video

文生视频(wan2.7-t2v / happyhorse-1.1-t2v;约 0.6 元/秒起)

generate_video_from_image

图生视频(wan2.7-i2v 等,首帧图片自动上传临时 OSS)

dashscope_status

查看当前模型与限制配置

  • 识别工具会调用 DashScope 付费 API(按 token 计费,量小价低)。

  • 生成工具必须 confirm=true 才会实际调用付费接口;false 时只返回预计费用(如“预计 3.00 元(5 秒 × 0.6 元/秒)”)。

  • 生成结果自动下载到本地输出目录(默认 ~/Downloads/dsh-vision-dashscope,可用 DASH_VISION_OUTPUT_DIR 修改),返回本地路径——配合 dsh-image-preview 可直接在对话里内联预览。

  • 文生图默认额外转一张 JPEG 预览(preview 字段,最长边 1600px / 质量 85,可配置),原始 PNG 保留在 files 中——DSH 图片内联上限 5MB,大 PNG(1792×2400 可达 7MB)直接内联会 404,用 JPEG 预览即可正常显示。

Related MCP server: jimeng_visual_generation

安装

需要 Python 3.12+、uv。复制 .env.example 为 .env 并填写 API Key:

git clone https://github.com/ywleeo/dsh-vision-dashscope.git
cd dsh-vision-dashscope
cp .env.example .env    # 填入 DASH_VISION_API_KEY
uv sync

API Key 也可用环境变量:DASH_VISION_API_KEY(缺省回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY)。

DSH 接入

在 ~/.dsh/profiles/web/cordis.patch.yml(用户 patch 层)追加:

- insert:
    - id: mcp-vision-dashscope
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: vision-dashscope
        transport: stdio
        command: /Users/leeo/.local/bin/uv
        args:
          - run
          - --directory
          - /path/to/dsh-vision-dashscope
          - dsh-vision-dashscope
        failOnStartupError: false

重启 dsh web。连接后工具以 mcp__vision-dashscope__recognize_video 等名字出现。

大文件上传原理(长视频关键)

  1. GET /api/v1/uploads?action=getPolicy&model=<model> 获取上传凭证(含 upload_host、签名、max_file_size_mb);

  2. multipart 上传文件到 OSS 临时存储,得到 oss://<key> 临时 URL(有效期 48h,免费);

  3. chat 请求 video_url: {"url": "oss://..."} 并在 header 加 X-DashScope-OssResourceResolve: enable,模型服务端拉取解码抽帧。

参考:上传文件获取临时 URL(阿里云百炼文档)、视觉理解(视频)。

配置(环境变量 / .env)

变量

默认

说明

DASH_VISION_API_KEY

—

API Key(回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY)

DASH_VISION_IMAGE_MODEL

qwen4.5-flash

图片识别模型

DASH_VISION_VIDEO_MODEL

qwen4.5-flash

视频识别模型

DASH_VISION_AUDIO_MODEL

qwen3.5-omni-flash

短音频理解模型

DASH_VISION_ASR_MODEL

fun-asr

长音频转写模型

DASH_VISION_VIDEO_BASE64_MAX_MB

14

视频 base64 阈值,超出走 OSS 直传

DASH_VISION_AUDIO_OMNI_MAX_SEC

300

长音频转写阈值(秒)

DASH_VISION_IMAGE_GEN_MODEL_STANDARD

qwen-image-3.0

文生图模型(PRO/MAX 档同理)

DASH_VISION_VIDEO_GEN_MODEL_STANDARD_T2V

wan2.7-t2v

文生视频模型(MAX 档 happyhorse-1.1-t2v;I2V 同理)

DASH_VISION_OUTPUT_DIR

~/Downloads/dsh-vision-dashscope

生成结果保存目录

DASH_VISION_MAX_VIDEO_DURATION

10

视频生成时长上限(秒)

DASH_VISION_MAX_TOKENS

4096

输出上限

测试

uv run pytest -q

License

MIT

Available Tools

7 tools
dashscope_statusA

查看当前模型与限制配置(不含 API Key)。

Inputs: no named parameters. Returns: result

generate_imageA

文生图。生成结果下载到本地输出目录并返回路径(配合 dsh-image-preview 可内联预览)。

Inputs: prompt (required), size, tier, confirm.

generate_videoA

文生视频。生成结果下载到本地输出目录并返回路径。

Inputs: prompt (required), tier, wait, confirm, +2 more.

generate_video_from_imageB

图生视频:以图片为首帧生成视频。

Inputs: image (required), prompt (required), tier, wait, +3 more.

recognize_audioA

识别本地音频或音频 URL。

短音频(≤300s 且 ≤10MB)走 qwen3.5-omni 直接理解内容;长音频自动走 fun-asr 异步转写(本地文件先上传到临时 OSS),返回纯文本转录。

Inputs: audio (required), task, language. Returns: result

recognize_imageA

识别本地图片或图片 URL,按 task 调用千问多模态模型。

Inputs: image (required), mode, task. Returns: result

recognize_videoA

识别本地视频或视频 URL。

大文件(>14MB)自动走百炼临时 OSS 直传(上限 1GB、不压缩画质),小文件走 base64;支持任意浏览器不可播放的容器(mkv/avi 等),由模型服务端解码抽帧。

Inputs: video (required), fps, mode, task. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct modality and action: recognize_image/video/audio are clearly separate input types, while generate_image/video/video_from_image are distinct generation tasks. dashscope_status is the only non-media utility, so there is no real ambiguity.

    Naming Consistency4/5

    The recognize_* and generate_* groups follow a consistent verb_noun underscore pattern. dashscope_status is the only outlier since it uses a noun-style name rather than verb_noun, but the overall convention is still predictable and readable.

    Tool Count5/5

    Seven tools is well-scoped for a vision/media DashScope server. Each tool covers a meaningful capability without redundant or excessive surface area.

    Completeness5/5

    The tool set covers both major media understanding paths (image, video, audio) and generation paths (image, video, image-to-video). The status tool fills the configuration/inspection need, and there are no obvious dead ends for the stated domain.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers