技能版本 1.0.0

AI Video Generation

使用 Sora 2、Veo 3、Seedance、Runway 及现代 API,通过可靠的提示与渲染工作流创建 AI 视频。

价格

免费

  • 安装:免费

在组织开通时一次性收取;再次读取清单或下载不重复收费。

以上为公开标价。你的组织可能有协议价,以控制台显示的价格为准。

如何使用

  1. 为组织安装

    开通即安装:组织固定使用开通时的版本(当前为 1.0.0)。升级到新版本需要取消后重新开通。

  2. 创建凭证

    客户端使用组织凭证读取;绑定到数字人后,数字人使用绑定凭证按需加载。请求中携带:

    Authorization: Bearer $ZGI_MARKET_KEY

  3. 读取清单与安装包

    清单列出版本、文件和校验值;安装包是一个 zip 文件。

    读取清单
    curl "https://market-api.zgi.im/v1/market/skills/video-generation/manifest" \
      -H "Authorization: Bearer $ZGI_MARKET_KEY"
    下载安装包
    curl "https://market-api.zgi.im/v1/market/skills/video-generation/package" \
      -H "Authorization: Bearer $ZGI_MARKET_KEY" \
      -o video-generation.zip

    读取清单和下载安装包不计入用量。下载后请用响应头中的 SHA-256 校验文件。

技能说明

名称
video-generation
说明
当用户上传图片并要求生成视频、制作视频、把图片做成视频、做一段动态效果时触发。也涵盖如下说法:'用这张图生成一个视频''把这几张图做成视频''帮我做个短视频''图生视频''参考生视频'等,无论是否明确说'生成视频'。
会运行代码Node.js

技能包内含脚本文件,加载技能的运行时可能会执行它们,安装前请先阅读。

SKILL.md 节选

# 图片生成视频

## 概述

触发后调用视频生成接口完成全部生成。本 skill 不自己生成画面,只负责:

1. 让用户选定**生成方式**和**画面比例**,让用户填写**提示词**(只有这三项要选和填)
2. 拿到图片在磁盘上的**绝对路径**(贴在对话里的图不行,见第 2 步)
3. 定下**提示词**,并回读给用户确认
4. 提交图片与提示词,取 `taskId`
5. 轮询进度直到完成,用户答应后再把成片下载到本地

注意:**提示词**和视频文案指代是相同的。

## 执行步骤

### 第 1 步:让用户确认两项选择

**必须先问,不要替用户决定。** 弹出信息卡或直接提问:

> 请选择:
>
> **视频生成方式**
> - 图生视频
> - 参考生视频
>
> **视频生成比例**
> - 9:16(竖屏)
> - 16:9(横屏)
>
> 说明:
> - 默认 10 秒
> - 图生视频最多发送 2 张,发 1 张 = 首帧;发 2 张 = 首帧和尾帧
> - 参考生视频最多发送 5 张
> - 预计生成时间 3 分钟(排队时会更久,进度里会告诉你前面还有几个)

时长和清晰度**不要问**,也不要在提交里传——那两项由服务端锁定,传了也会被忽略。

### 第 2 步:拿到图片在磁盘上的路径

脚本要的是**磁盘上的文件路径**。多数情况下你已经有了,直接往下走:

- 用户把文件拖进来 → 拖进终端插入的就是完整路径
- 用户打了路径,或者用 `@` 提到某个文件
- 用户说了明确的位置(「桌面上的 cat.png」)

**这几种情况什么都不用问,拿着路径走第 3 步。**

---

只有一种情况要处理:**用户贴的是截图**(或者其它没有路径的贴图)。那张图在
对话里,不在他硬盘上——你看得见它,却没有路径可以交给脚本。

这时候别让他去找「绝对路径」,多数人不知道那是什么。先自己找一遍:

```powershell
$dirs = @("$env:USERPROFILE\Desktop", "$env:USERPROFILE\Downloads", "$env:USERPROFILE\Pictures")
Get-ChildItem -Path $dirs -Include *.png,*.jpg,*.jpeg,*.webp -File -Recurse -Depth 0 -ErrorAction SilentlyContinue |
  Sort-Object LastWriteTime -Descending | Select-Object -First 8 |
  ForEach-Object { '{0}  |  {1:MM-dd HH:mm}  |  {2} KB' -f $_.FullName, $_.LastWriteTime, [int]($_.Length/1KB) }
```

把最近的几张列出来让他认(截图一般刚存不久,会排在最前):

> 你贴的这张图我这边拿不到文件本身。在你电脑上找到这几张最近的图片,是哪一张?
> 1. 屏幕截图 2026-09-04 165102.png — 今天 16:51
> 2. 猫.png — 今天 16:45
>
> 都不是的话,把它另存到桌面再告诉我文件名就行。

**拿不准就让他确认,不要替他猜**——拿错图的代价是他等三分钟才发现。

拿到路径后再往下走。

### 第 3 步:定下提示词,并跟用户确认

提示词是用户指示输出视频画面的文案,不是他对你下的指令。一句话里常常两样都有:

> 「把桌面那张 cat.png 做成 9:16 的,猫在夕阳下伸懒腰,镜头慢慢推近」
>    └───── 参数 ─────┘  └────────── 提示词 ──────────┘

先自己从对话里抽一遍。**只留画面描述**,下面这些一律剔掉:

- 文件名、路径、「桌面那张」「刚发你的那张」这类指位置的话
- 「帮我做个」「生成一下」「谢谢」这类是对你说的,不是视频文案

抽完**必须回读一遍等用户确认**,不要直接拿去提交:

> 我按这段来生成:
>
> 「猫在夕阳下伸懒腰,镜头慢慢推近」
>
> 确认就回「确认」,要改直接把新的发我。

- 回「确认」 → 往下走
- 发来新的一段视频文案 → **整段替换**,再回读一次确认
- **用户没描述画面**(只说了「用这张图生成视频」)→ 不要替他编,提示:

SKILL.md 不止这些内容,安装后可阅读全文。

技能包内容

共 3 个文件,合计 23.1 KiB

  • SKILL.md10.0 KiB
  • _meta.json109 B
  • generate.js13.0 KiB

来源与审核

审核状态
尚未审核,内容来自上游来源
许可证
未说明

审核状态是平台对上架信息的记录,不构成对上游服务质量或可用性的担保。