---
name: wechat-video-resolver
description: 解析微信视频号分享链接，获取作者、简介、封面、互动数据和短期有效的 H.264/H.265 媒体地址；仅在用户提供视频号链接，或明确要求预览、查看详情、下载、总结或分析视频内容时使用。
---

# 微信视频号链接解析与下载

## 目标与边界

将用户提供的微信视频号分享链接解析为元数据和短期有效的媒体地址。

- 适用：解析、预览、查看详情、下载或分析单个微信视频号分享链接。
- 不适用：批量抓取、账号内容遍历、评论采集、账号数据采集，或绕过访问限制。
- 解析服务是第三方服务，不是微信官方 API；返回字段和可用性可能变化。
- 不需要 API 密钥、Cookie、登录态或额外内部请求头；不要向用户索取这些信息。
- 默认只解析并返回结果；只有用户明确要求下载或分析视频内容时，才下载媒体文件。

## 输入识别

只接受以下形式的完整链接：

```text
https://weixin.qq.com/sph/<share-id>
```

`<share-id>` 必须是路径中的非空标识。链接末尾可以带查询参数或片段；调用接口时保留用户提供的完整 URL，不要修改或拼接参数。忽略链接末尾紧邻的中文标点。

如果没有找到符合格式的微信视频号链接，直接说明需要用户提供完整分享链接，不要调用接口，也不要把其他网址提交给接口。

## 解析接口

```http
POST https://v.mtotech.com/api/resolve
Content-Type: application/json
```

请求体：

```json
{
  "url": "https://weixin.qq.com/sph/<share-id>"
}
```

命令行示例：

```bash
curl --fail-with-body -sS https://v.mtotech.com/api/resolve \
  -H 'Content-Type: application/json' \
  --data '{"url":"https://weixin.qq.com/sph/<share-id>"}'
```

一次用户请求默认只调用一次。仅在请求失败、返回 `ok: false`，或用户反馈媒体地址失效时，才重新解析；不要自动循环重试。

## 成功响应

成功条件：HTTP 请求成功、JSON 中 `ok` 为 `true`，且存在 `data` 对象。

常见字段：

```json
{
  "ok": true,
  "data": {
    "author": "作者名称",
    "author_icon": "https://...",
    "description": "视频简介",
    "cover_url": "https://...",
    "h264_url": "https://...",
    "h265_url": "https://...",
    "stats": {
      "likes": "2",
      "comments": "0",
      "forwards": "6",
      "favorites": "3"
    }
  }
}
```

字段缺失或为空时，不要猜测：

- `author`、`description`：有值时展示；否则标记为未提供。
- `author_icon`、`cover_url`：有值时作为图片链接；否则省略。
- `h264_url`：默认预览和下载地址，兼容性最佳。
- `h265_url`：只有用户要求节省体积、设备明确支持 H.265，或没有 H.264 地址时才提供；说明兼容性可能较低。
- `stats.*`：原样展示；缺失时显示“未提供”，不要补零。

H.264 与 H.265 是不同的视频编码格式，不等同于标清和高清。

## 分析或总结视频内容

只有用户明确要求分析、总结、转写或理解视频内容时，才执行以下流程：

1. 优先下载 `h264_url` 到系统临时目录；没有 H.264 时才使用 H.265，并提前说明兼容性风险。
2. 可在临时目录中提取音频、关键画面、字幕或转写文本进行分析。
3. 不根据标题、简介或封面臆测视频中未核实的观点。
4. 分析完成后，删除原视频以及所有临时音频、帧图、字幕、转写和中间文件。
5. 验证临时目录已删除后，再向用户输出结论。
6. 输出以核心观点、启示和不确定性说明为主，不长期保存或缓存媒体内容。

## 面向用户的输出

解析成功后简洁返回：

1. 作者和视频简介（若接口提供）。
2. 封面链接（若有）。
3. 通用版（H.264）预览或下载链接，优先使用。
4. 省空间版（H.265）链接，仅在存在且确有必要时提供。
5. 接口提供的互动数据（若有）。

媒体地址通常带时效。不要承诺永久有效；地址失效时，重新解析用户提供的原始分享链接。

## 下载规则

- 用户要求下载时，优先使用 `h264_url`；没有时使用 `h265_url` 并说明兼容性。
- 用户只要求查看、预览或解析时，不要擅自下载大文件。
- 不要修改媒体 URL、拼接参数或假定固定文件扩展名。
- 不要把媒体地址写入长期配置、代码或公开日志。

## 失败处理

- 链接格式不符合要求：说明只支持 `https://weixin.qq.com/sph/<share-id>`，请用户重新提供原始分享链接。
- HTTP 400：通常表示链接无效，请用户检查并重新复制。
- HTTP 429：告知请求过频，不要立即重试，等待用户再次发起。
- HTTP 502、网络超时或服务不可用：告知解析服务暂时不可用，稍后可重试一次。
- HTTP 成功但 `ok` 不为 `true` 或无 `data`：视为解析失败，只转述安全且简短的错误信息，不编造视频内容。
- 视频或封面地址打开失败：视为临时地址失效，重新解析原始分享链接获取新地址。
