Install
openclaw skills install @autoagc/linkpix调用青虎 AI 媒体能力:AI 生图(套图/电商详情图/自定义生图家族实时清单:智慧模型、图片 5.0 Lite、专图模型、图片 5.0 Pro 等 + 提示词润色)、批量生图玩法(批量生图/批量改图/批量替换/主图复刻/姿势套图/批量译图)、AI 生视频(模型清单实时读取线上目录,含 Seedance2.5、Seedance2.0、阿里wanx3.0、MiniMax H3、全能电商2.0、Happy Horse、可灵3.0 Omni、品牌质感大片等多模型多时长 5–30 秒,支持多参考视频与参考音频)、一键成片、角色替换/模特换脸、视频翻译、去水印/去字幕/画质提升、复刻爆款视频出脚本、爆款视频转图文、分镜脚本与分镜图、广告素材模板批量出片(视频/图片)、POD 印花素材(印花提取/贴合/裂变 + 产品图库)、青虎工作台「AI 应用」的 AI 工作流(电影质感 TVC 广告大片、爆款视频模仿与仿拍、模特换装高一致性还原、超清修复与去 AI 感、图像去水印、短视频与达人数据引擎),均含任务状态查询。当用户要求生成/制作商品图、主图、详情图、营销图、广告视频、带货视频、口播视频,或要求批量出图、批量改图、把产品换进参考图、复刻别人的主图风格、生成服装模特多姿势套图、翻译图片上的文字,或要求翻译视频、去水印、去字幕、提升画质、换人物/换脸、复刻某条爆款视频、把视频转成图文笔记、写分镜脚本,或要求做电影质感 TVC 广告大片/品牌广告片、仿拍某条爆款视频、给模特换装、把图片超清修复/去 AI 感、跑短视频或达人数据引擎分析时必须触发。支持关键词:LinkPix、linkpix、qhkit、青虎、爆款素材、电商素材、量产素材、生图、AI绘图、商品图、主图、套图、详情图、批量生图、批量改图、批量替换、主图复刻、套图复刻、姿势套图、服装套图、批量译图、图片翻译、译图、白底图、提示词润色、广告素材、投放素材、POD素材、POD、印花、印花提取、印花贴合、印花裂变、生视频、AI视频、带货视频、广告片、一键成片、成片、换脸、换模特、数字人替换、视频翻译、翻译配音、去水印、去字幕、画质提升、超分、复刻爆款、对标视频、视频转图文、图文笔记、分镜、脚本、storyboard、AI应用、AI工作流、工作流、workflow、TVC、TVC广告、广告大片、品牌广告片、电影质感、爆款视频模仿、仿拍、模特换装、换装、超清修复、去AI感、图像去水印、数据引擎、短视频数据、达人数据。
openclaw skills install @autoagc/linkpixLinkPix 是青虎工作台的全栈电商内容生产能力:从商品图、主图、详情页、电商套图,到批量修图、广告投放素材、带货视频与电影质感 TVC 广告大片;从 POD 印花、视频翻译与视频编辑,到爆款复刻、视频转图文、分镜创作及短视频/达人数据分析,均可在一个入口完成。
它不是单一的生图或生视频模型,而是把“做图 → 做视频 → 翻译与优化 → 复刻与分析”串成闭环的 AI 电商素材工作流。生图与生视频模型按线上实时目录选择,可响应用户对豆包生图、Seedream 5.0、Seedance、阿里万相 Wanx、MiniMax H3、可灵、HappyHorse、Vidu 等模型的使用需求。命令行入口是 qhkit(npm 包 @iqinghu/qhkit,安装后命令名就是 qhkit);下文用于指导智能体将用户需求路由到正确命令。
| 用户意图(示例说法) | 命令 | 产物 |
|---|---|---|
| 生成商品图/主图/套图、"给这张图做几张营销图" | image(套图模式) | 图片 |
| 按文字描述直出一张商业大图(可带参考图) | image(自定义生图家族,实时清单:智慧模型 / 图片 5.0 Lite / 专图模型 / 图片 5.0 Pro 等,uploadedImages 可选) | 图片 |
| 生成电商详情页长图 | image(电商详情图) | 图片 |
| "帮我写一条生图提示词"、按商品图/卖点出提示词 | image(polish) | 提示词文本 |
| 一张产品图 × 多条提示词各出一张、"批量出 N 张不同的图" | image-batch(批量生图) | 图片 |
| 多张图批量执行同一条修改指令(如批量白底图) | image-batch(批量改图) | 图片 |
| "把我的产品换进这些参考图里" | image-batch(批量替换) | 图片 |
| "照这张爆款主图的风格,给我的产品做主图" | image-batch(主图复刻) | 图片 |
| 服装图出多姿势模特套图 | image-batch(姿势套图) | 图片 |
| 翻译图片上的文字(批量译图) | image-batch(批量译图) | 图片 |
| 做广告视频/产品视频(有参考图) | video | 视频 |
| "把这几张图做成一条带货视频"、一键成片 | video-quick | 视频 |
| 换人/换模特/换脸(对已有视频) | video-replace | 视频 |
| 翻译视频、配外语音、加外语字幕 | video-translate | 视频 |
| 去水印 / 去字幕 / 画质提升(超分) | video-edit | 视频 |
| "照这条爆款视频帮我复刻一条"(抖音链接等) | video-inspire | 视频脚本文本 |
| 把视频转成图文/笔记 | video-to-text | 图文正文 |
| 写分镜脚本、生成分镜图 | storyboard | 脚本文本 + 分镜图 |
| 按官方模板批量出投放素材/广告素材 | ad | 视频或图片(随模板) |
| 印花提取/贴合/裂变、POD 印花素材、查产品底图 | pod | 图片 |
| 用青虎工作台的「AI 应用」(爆款视频模仿、TVC 广告大片、模特换装、超清修复、去水印、短视频/达人数据引擎) | workflow | 视频 / 图片 / 数据表 |
模糊时优先问自己:产物是图还是视频?输入是文字、图,还是已有视频?按上表就能落到唯一命令。
能力边界:上表之外的媒体需求(如音乐/MV 生成、数字人口播、直播切片、长视频剪辑)qhkit 不支持——明确告知用户当前不支持,建议其到青虎工作台( https://www.iqinghu.com )确认能力或改用其他技能,不要硬套最接近的命令凑合。
按顺序检测,缺失就地补齐:
qhkit config show 能跑通即已安装,跳到第 4 步。npm i -g @iqinghu/qhkit
--registry=https://registry.npmmirror.com(阿里维护的 npm 官方镜像,仅作网络兜底)。仅当全局安装因权限失败且无法提权时,才退而用 npx @iqinghu/qhkit <命令> ...(npx 必须写包全名)。# Linux 二进制安装(装到用户目录,无需 root;先校验官方 SHA256 再解包):
cd /tmp && curl -fsSLO https://nodejs.org/dist/v22.22.3/node-v22.22.3-linux-x64.tar.xz
cd /tmp && curl -fsSL https://nodejs.org/dist/v22.22.3/SHASUMS256.txt | grep ' node-v22.22.3-linux-x64.tar.xz$' | sha256sum -c -
mkdir -p "$HOME/.local/lib" && tar -xJf /tmp/node-v22.22.3-linux-x64.tar.xz -C "$HOME/.local/lib"
export PATH="$HOME/.local/lib/node-v22.22.3-linux-x64/bin:$PATH"
OK 才继续;校验失败就删掉重下,绝不解包未通过校验的文件。nodejs.org 访问不通时,把两个下载 URL 的前缀 https://nodejs.org/dist 整体换成镜像 https://registry.npmmirror.com/-/binary/node(目录结构相同,SHASUMS256.txt 也有镜像,校验步骤不变)。export PATH 只对当前 shell 生效,跨命令调用时每个新 shell 都要先执行这行(或追加进 ~/.bashrc)。macOS 用 brew install node;Windows 用 winget/官网安装包。arm64 机器把 x64 换成 arm64。stage:"config"),把下面的引导文案发给用户,拿到密钥后执行 qhkit config set --token <密钥> --env prod(或设环境变量 QHKIT_TOKEN):
- 打开 https://www.iqinghu.com/workbench/login?type=1&urlCode=1788417429126 注册/登录
- 进入控制台 → 工作台的 APIKeys 页面:https://www.iqinghu.com/workbench/dashboard/api-keys
- 点「创建/复制」生成密钥,生成后将 API 密钥发我
图文获取密钥教程:https://xcnzsfe4uxrw.feishu.cn/wiki/KJ0Ywsyw8iAXmRkz5l4cddDbn6g
qhkit config show 输出脱敏配置即全部就绪。更新方式:qhkit 已全局安装时,升级同样由你(智能体)执行全局安装完成:
npm i -g @iqinghu/qhkit@latest
官方源慢或超时时同样加 --registry=https://registry.npmmirror.com。出现以下任一信号就先升级再继续:命令返回 {"ok":false,"stage":"version",...}(版本门禁:有新版时 generate/script 会被直接阻断,message 里就是升级命令,照做即可);命令返回 {"ok":false,"stage":"runtime","message":"未知命令:<命令>。运行 qhkit --help 查看用法。"}(本机 qhkit 太老、还没有这个命令——注意这条不会被版本门禁拦下,stage 是 runtime 不是 version,别当成用法错误);stderr 提示有新版本;命令报「模式在线上已下架或配置变更,请升级 qhkit」。升级后重试原命令。(video 的模型清单 0.12.0 起实时读取,线上新增模型不需要升级 CLI。)
安装/配置失败时把具体报错告诉用户(常见:无写权限 → 提示用户提权或改用 npx;无网络 → 让用户处理网络)。
qhkit <命令> <action> '<json>'
qhkit <命令> <action> @params.json # 参数写进文件,避免 shell 转义问题(推荐)
options(查可选值/列表)→ generate(提交) → status(轮询)。storyboard 多一个 script;ad 用 templates 查模板;pod 另有 products 查产品图库;image/video/ad/pod/workflow 另有 estimate(报价)——与 generate 完全相同的参数,返回本次提交会实际扣除的积分(credits)与余额是否足够(enough),不提交任务。前四个不上传文件、秒回;workflow estimate 是例外,本地素材会真上传(工作流报价需要真实素材 URL)。{"ok":false,"stage":"...","message":"..."} 且退出码 1。把 message 原样转告用户即可。images / videos / primaryVideo 取,文本产物在 videoScript / imageText / script,积分在 credits,任务号在各类 taskId 字段。如何展示给用户由你按当前环境决定。uploadedImages / urls / 视频参数直接填本地文件路径即可(CLI 自动上传换取 URL,这是最常见用法);素材已在公网上时也可以直接填 http(s) URL。唯一例外:video-inspire 的 resourceUrl 只收 http(s) 链接(抖音等平台分享链接,后端按链接拉取,不是上传文件)。python --version 或 python3 --version 能跑即可;缺 Pillow 先装:pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple):
python -c "from PIL import Image, ImageOps; im=ImageOps.exif_transpose(Image.open('原图')); im.thumbnail((2048,2048)); im.convert('RGB').save('压缩后.jpg', quality=85)"npx --yes sharp-cli -i 原图 -o 压缩后.jpg resize 2048(首次联网下载,之后有缓存;官方源慢时加 --registry=https://registry.npmmirror.com)
外站大图 URL 同理:先下载到本地再走上面的流程。两条路都失败才如实告知用户,请其提供 10MB 内的图片;压缩重试仍失败则转述 CLI 的 message,不要反复重试。modelLabel、sizePreset、themeLabel 等)必须与 options 返回的候选值逐字一致,不要自造或翻译。拿不准就先调 options。video 与 image 的模型清单都是实时的(0.12.0 起直接读线上目录,新增/下架/调价自动跟随,无需升级 CLI),且均无默认模型——modelLabel 必填,缺失会报错并列出当前可选项。当次会话第一次选模型前先跑 options 查 modelLabel/models 拿当前清单,不要凭记忆或本文档的快照直接报模型名。拉不到目录(断网/密钥问题)时命令会明确报错,按提示引导用户检查配置。⛔ 提交前必须经用户确认(硬规则):任何会创建任务、消耗积分的 action(各命令的 generate,含 storyboard 的 script)发起前,必须先把本次提交的关键参数一次性列给用户——模型/模板、出图张数或视频时长、尺寸与画质、语言、用到哪几张参考图,以及 estimate 报出的预计扣除积分——等用户明确同意后才能执行提交。参数全部来自用户原话时也要复述确认一遍(口头描述与实际枚举值可能有出入,任务提交后不可取消)。只读 action(options / estimate / status / templates / products / config show)无需确认,可直接调用。
image generate 自带轮询:命令会阻塞到出图或超时(最长约 14 分钟),返回里直接有图片 URL,不需要再查 status。pod generate 与 ad generate 的图片线同此(阻塞到出图)。generate 只提交(含 ad 的视频线):立即返回 stage:"pending" + 任务 ID,需重复调 status 直到 stage:"done"(返回里含产物 URL)或报错。固定两模式(套图模式 / 电商详情图,专属流程)+ 自定义生图家族(实时清单):businessType=image 下除套图外的全部可见模型,线上新增/下架/调价自动跟随。没有默认模型——modelLabel 必填,先 options 查 modelLabel/models 拿当前清单再选。
时点参考(2026-08-25 目录,仅帮你建立感觉,以 options 实时返回为准):
| modelLabel | 官方卖点 | 什么时候选 | 输入 | 目录单价/张(1K 时点值) |
|---|---|---|---|---|
套图模式 | 上传参考图,智能生成专业主图套图 | 要一组风格统一的商品主图 | 参考图 或 customCopy(至少一个) | 1.5 |
智慧模型 | 图片生成效果最好,画质佳,图图都是精选 | 效果优先,且有免费额度 | prompt(必填)+ 参考图(可选) | 1.5(有免费额度) |
图片 5.0 Pro | 真实,速度快 | 要真实感、要快 | prompt(必填)+ 参考图(可选) | 2 |
图片 5.0 Lite | 细节一致性高 | 多张之间要保持细节一致 | prompt(必填)+ 参考图(可选) | 1.5 |
专图模型 | 图片生成效果最好,速度最慢 | 用户明确要最好效果且不赶时间 | prompt(必填)+ 参考图(可选) | 1.5 |
电商详情图 | 不可编辑,多张短图,图像质量高 | 要详情页长图 | 参考图(必填)+ themeLabel | 2 |
2K 档位约为 1K 的两倍;参考图超过免费张数(3 张)后每张另有小额加价——这些 estimate 都会自动算进去。
中间四个是自定义生图家族,入参完全一致(prompt 必填 + 可选 uploadedImages/sizePreset/imageCount),只是画质取向和积分不同。规范标签即线上模型名(历史写法 专图模式 等仍作为别名可用);用户没指定模型时,把候选(含 models 里的卖点与单价)列给用户选,不要替用户拍板。
⚠️ 全部 6 个模式都接受参考图(自定义生图四模型为可选,是图生图语义,2026-08-20 实测智慧模型带参考图出图与原图细节逐一对齐)。用户给了商品图就传进
uploadedImages,不要只把图的内容转写成 prompt 文字(会丢原图细节),更不要说"某模式不支持参考图"。
# 套图:参考图 + 可选文案 + 发布平台(imageCount 1/6/7/8/9/10,缺省 9)
qhkit image generate '{"modelLabel":"套图模式","uploadedImages":["./素材/商品图.jpg"],"customCopy":"限时5折","platform":"抖音","imageCount":6}'
# 自定义生图:提示词直出,参考图可选(imageCount 1/2/4/6/8/10)
qhkit image generate '{"modelLabel":"专图模型","prompt":"化妆品高端场景图","sizePreset":"默认 1:1 2K(2048×2048)"}'
qhkit image generate '{"modelLabel":"智慧模型","prompt":"化妆品高端场景图","imageCount":2}'
# 自定义生图 + 参考图(用户给了商品图时这样调,严格基于原图出图)
qhkit image generate '{"modelLabel":"智慧模型","prompt":"军绿色应急收音机电商主图,专业棚拍质感","uploadedImages":["./素材/收音机.jpg"],"imageCount":2}'
# 详情图:参考图 + 配色主题
qhkit image generate '{"modelLabel":"电商详情图","uploadedImages":["./素材/商品图.jpg"],"themeLabel":"海洋蓝"}'
# 提示词润色:商品图/产品名/卖点至少给一个,返回 AI 写好的生图提示词(不建任务、不扣生图积分)
qhkit image polish '{"uploadedImages":["./素材/商品图.jpg"],"productName":"保温杯","pointDescription":"钛合金内胆 24h 保温"}'
# 报价:generate 同参数换个 action,返回本次实际会扣的积分(含折扣/画质/免费额度)——报积分给用户前先跑这条
qhkit image estimate '{"modelLabel":"套图模式","uploadedImages":["./素材/商品图.jpg"],"imageCount":6}'
# 选型速查:各模型卖点 + 实时积分 + 免费额度(不确定选哪个时先跑这条)
qhkit image options '{"queryParams":["models"]}'
# 可选值查询(sizePreset/platform/themeLabel/imageCount 因模式而异,务必带 modelLabel 查)
qhkit image options '{"queryParams":["sizePreset","imageCount"],"modelLabel":"图片 5.0 Pro"}'
套图/详情图需要至少一张参考图;自定义生图必须有 prompt(参考图可选)。generate 返回即含图片 URL(自带轮询)。
sizePreset 逐模型不同(自定义生图四模型的尺寸表各自独立),不要把一个模型的尺寸标签套到另一个模型上——先 options 查。
默认画质是 1K;要 2K(价格约为 1K 两倍)时显式传 "quality":"2K"。套图默认出 9 张(与官网一致)——确认参数时务必把张数、画质与 estimate 积分报给用户,积分数字一律以 estimate 返回值为准。
套图发布平台用 platform 传(淘宝/抖音/拼多多/1688/京东/Amazon/Shopee/TikTok Shop/Lazada/Temu/Ozon/Wildberries/SHEIN,options 查 platform 看全量):影响套图的构图与文案排版策略,用户提到目标平台就传上。
官网首页「AI 能力」卡片对应的批量玩法,全部自带轮询(阻塞到出图)。没有数量参数——出图张数由 prompts / 图片 / 动作条数决定(单批上限 10):
| mode | 用途 | 关键入参 | 张数 |
|---|---|---|---|
批量生图 | 单产品 × 多条提示词,每条出一张 | prompts[] + uploadedImages(参考图必填 1-10 张) | = prompts 条数 |
批量改图 | 多张图共用一条改图指令(批量白底图等) | prompt + uploadedImages(1-10 张) | = 图片张数 |
批量替换 | 把产品换进每张参考图 | referenceImages + productImage(1 张)+ productName | = 参考图张数 |
主图复刻 | 复刻参考图风格,产品图出新主图(当前仅 1:1) | referenceImages + productImages(1-6 张) | = 参考图张数 |
姿势套图 | 服装专用:1 张商品图 × 多组动作 | uploadedImages(仅 1 张)+ poseActions[](每条 ≤300 字) | = 动作条数 |
批量译图 | 翻译图上文字 | prompt(必须写明目标语言)+ uploadedImages(1-10 张) | = 图片张数 |
qhkit image-batch options '{}' # 六种 mode 的参数说明
qhkit image-batch generate '{"mode":"批量生图","prompts":["白底图","户外场景图"],"uploadedImages":["./素材/商品图.jpg"]}'
qhkit image-batch generate '{"mode":"批量改图","prompt":"统一换成纯白背景","uploadedImages":["./a.jpg","./b.jpg"]}'
qhkit image-batch generate '{"mode":"批量替换","referenceImages":["./场景1.jpg","./场景2.jpg"],"productImage":"./产品.jpg","productName":"保温杯"}'
qhkit image-batch generate '{"mode":"主图复刻","referenceImages":["./爆款主图.jpg"],"productImages":["./我的产品.jpg"]}'
qhkit image-batch generate '{"mode":"姿势套图","uploadedImages":["./连衣裙.jpg"],"poseActions":["双手叉腰正面站立","侧身回眸"]}'
qhkit image-batch generate '{"mode":"批量译图","prompt":"翻译成英语","uploadedImages":["./中文主图.jpg"]}'
qhkit image-batch estimate '{"mode":"姿势套图","uploadedImages":["./连衣裙.jpg"],"poseActions":["正面","侧面"]}' # 报价(姿势套图每张 +0.5 积分)
modelLabel(自定义生图家族,实时清单、无默认,先 image options 查 modelLabel)与可选 sizePreset/quality;主图复刻与批量译图的模型固定。referenceImages 元素可写 {"url":"...","replaceText":"替换到图中的花瓶位置"} 指定替换部位;主图复刻同理可带 hint(自定义复刻要求),或整体传 "removeText":true 去除参考图文字。线上一条「时长 + 生成渠道」就是一个模型,同名模型常有多个时长,所以标签形如 Seedance2.0 15秒。只写模型名时:唯一即命中,多时长会报错要求补 duration。
模型清单实时读取线上目录(0.12.0 起):新增/下架/调价/维护/限时折扣自动跟随,没有默认模型——modelLabel 必填,不传会报错并列出当前可选项(带 duration 时按时长收窄)。所以流程固定为:先 options 查 models 拿当前清单和能力规则,选定后 estimate 报价,确认后 generate。
# 第一步永远是它:当前有哪些模型、各自的参考图/视频/音频/画幅规则、目录单价与活动角标
qhkit video options '{"queryParams":["modelLabel","models"]}'
# 素材既可以是公网 URL,也可以是本地文件路径(本地文件 CLI 会自动上传换取 URL)
qhkit video generate '{"modelLabel":"Seedance2.0 15秒","prompt":"户外工作灯广告","uploadedImages":["./素材/商品图.jpg"],"uploadedVideo":"./素材/参考视频.mp4"}'
qhkit video generate '{"modelLabel":"全能电商2.0","duration":10,"prompt":"户外工作灯广告","uploadedImages":["./素材/商品图.jpg"]}'
qhkit video status '{"videoTaskId":"task-123"}'
# 报价:generate 同参数换个 action——报积分给用户前先跑这条
qhkit video estimate '{"modelLabel":"Seedance2.0 15秒","uploadedVideo":"./素材/参考视频.mp4"}'
options 的 models 每条给全选型所需字段:description/propertyTags(效果、稳定性、提示词要求、画质)、credits(目录单价)、activityBadge(如「限时5折」)、free、maintenance、notice(如「即将下线」)、category(主图视频/带货视频/营销素材/种草视频/营销广告/投流素材)、参考素材规则(见下)。
时点参考(2026-08-25 国内版目录,仅帮你建立感觉,以 options 实时返回为准):19 个模型、时长 5–30 秒。当时的亮点:阿里wanx3.0 15秒(25 积分限时5折,参考视频≤5)、Seedance2.5 15/20/30秒(种草/营销广告档,参考图必填,参考视频≤10,15秒档还收参考音频≤3)、MiniMax H3 5/10/15秒(5–10 积分性价比档,768p,新增 超宽屏 21:9 画幅,不收参考视频)、Seedance2.0 15秒/全能电商2.0(经典带货档)、品牌质感大片 5秒(免费额度内,参考图必填,提示词要求「精准」)。
怎么选(原则,不绑定具体模型名):
按用户诉求在 models 里过滤:要模仿运镜 → supportsReferenceVideo: true;要配 BGM/口播干音 → supportsReferenceAudio: true;纯文字起步 → referenceImageRequired: false;在意成本 → 按 credits 从低到高(留意 activityBadge 限时折扣)。
提示词要求(propertyTags 的「提示词要求」):「简单/简洁」的模型一句话卖点即可;「精准」的模型(如品牌质感大片、阿里wanx3.0)给一句话会出废片,先帮用户把镜头、光影、材质补充完整再提交。
maintenance: true 的模型不可提交(CLI 会拦截),notice 里有「即将下线」的不要再推荐。
用户没点名模型时,把 2–3 个候选(含单价)列给用户选,不要替用户拍板。
参考图规则按模型走(options 的 models 里逐条给出):multi_reference 多张、每张可带 imageUsage 用途文案;first_frame 只收 1 张首帧;first_last_frame 收 2 张(首帧在前、尾帧在后),这两种模式不接受用途文案。referenceImageRequired: true 的模型强制要图,其余可纯文字生成。
参考视频(uploadedVideo)只有 supportsReferenceVideo: true 的模型支持,可传数组,上限见 maxReferenceVideos(提交前 CLI 校验)。注意:models 里该字段已按后端权威口径折算(开关与规则同时成立才算支持),照着用即可。
参考音频(uploadedAudio,如 BGM/口播干音)只有 supportsReferenceAudio: true 的模型支持,上限见 maxReferenceAudios;本地文件 ≤50MB 自动上传。
orientationLabel 逐模型不同(models 里 orientationLabel 给全):常见 竖屏 9:16(默认)/ 横屏 16:9 / 方屏 1:1 / 3:4 / 4:3,个别模型有 超宽屏 21:9;新画幅 code 会原样透传,照 options 返回的写。
languageLabel 可选(如 英语,17 种语言与生图一致),不传由服务端按提示词决定;count 1–8。
分工记清楚:多模型间权衡选型 →
options的models(实时目录:卖点、免费额度、maintenance维护拦截、notice、activityBadge);确定参数后向用户报积分 →estimate(与提交走同一个计价接口,折扣、张数、免费额度全都算进去,返回值就是实扣值)。options里的credits是目录单价,可能与实扣有出入,不要拿它报价。
qhkit video-quick generate '{"prompt":"户外工作灯广告","duration":8,"creative":"1","orientation":"landscape","language":"zh","uploadedImages":["./素材/图1.jpg","./素材/图2.jpg"]}'
qhkit video-quick status '{"videoTaskId":"123456"}'
uploadedImages 1–7 张;duration 8–60;creative 2=创意成片、其余=真实成片;orientation landscape|portrait|square;language zh|en。
qhkit video-replace options '{"queryParams":["characters"],"personal":false,"characterType":"REALITY"}' # 角色库选人,取 icon 当人物图
qhkit video-replace generate '{"originalVideoUrl":"./素材/原视频.mp4","uploadedImages":["./素材/人物.jpg"],"duration":12}'
qhkit video-replace status '{"videoTaskId":"123456"}'
必填:原视频(本地文件或 URL)+ 1 张人物图 + duration(原视频时长秒数)。
qhkit video-translate generate '{"videoUrl":"./素材/带货视频.mp4","sourceLanguage":"zh","targetLanguage":"en","package":"全部"}'
qhkit video-translate status '{"videoTaskId":"..."}'
sourceLanguage zh|en;目标语言 14 种(无 ru,可 options 查);源=目标允许(同语言重配音/压字幕场景)。package:全部(字幕+语音+对口型)/字幕语音/仅字幕。
qhkit video-edit generate '{"action":"remove_watermark","urls":["./素材/视频.mp4"]}'
qhkit video-edit generate '{"action":"remove_subtitle","urls":["./素材/视频.mp4"]}'
qhkit video-edit generate '{"action":"video_super_resolve","urls":["./素材/视频.mp4"],"resolution":"4k","fps":60}'
qhkit video-edit status '{"videoTaskId":"VIDEO_EDIT:xxxxx"}'
action 三选一(去字幕就是 remove_subtitle);超分需 resolution 1080p|2k|4k + fps 30|60;urls 1–10 个。
qhkit video-inspire generate '{"resourceUrl":"https://v.douyin.com/xxxx/"}'
qhkit video-inspire status '{"inspireTaskId":276}' # 成功返回 videoScript(脚本文本)
产物是脚本文本,不是视频;拿到脚本后可续接 video / video-quick 生成成片。
⏱ 耗时与第 3 节的通用视频轮询预期不同:脚本通常 1 分钟内出,轮询 20–30 秒一次即可;超过 10 分钟仍是 pending,说明后端已判超时失败,不要按「视频最长 40 分钟」继续空等,重新提交一次即可。
qhkit video-to-text generate '{"id":276,"playVideo":"https://x/v.mp4"}'
qhkit video-to-text status '{"id":276}' # data 非空即图文正文
id/视频 URL 通常取自 video-inspire status 的返回。
qhkit storyboard script '{"uploadedImages":["./素材/商品图.jpg"],"productName":"保温杯","pointDescription":"316不锈钢·24h保温"}' # 同步返回脚本全文
qhkit storyboard generate '{"prompt":"<上一步脚本全文>","uploadedImages":["./素材/商品图.jpg"],"viewDirection":"landscape"}'
qhkit storyboard status '{"taskId":"..."}'
先 script(单次调用同步出脚本),再把脚本全文作为 prompt 提交 generate(商品图 1–5 张)。
qhkit ad templates # 模板列表:templateId、materialType(AD_VIDEO/AD_IMAGE)、数量与时长约束
qhkit ad estimate '{"templateId":3}'
qhkit ad generate '{"templateId":3,"prompt":"户外工作灯促销广告","uploadedImages":["./素材/商品图.jpg"]}'
qhkit ad status '{"videoTaskId":"..."}' # 视频线模板
qhkit ad status '{"batchTaskId":"..."}' # 图片线模板
templates 拿 templateId(模板由运营配置,随时增减);CLI 按模板 materialType 自动走视频线或图片线,modelSkuId 由服务端按模板覆盖,不用选模型。status,任务 ID 在 videoTaskId);图片线 generate 自带轮询,返回即含图片 URL(任务 ID 在 batchTaskId)。duration / orientation / 生成数量必须落在模板允许范围内(templates 返回里逐项给出),越界会在提交前被本地拦截。qhkit pod options '{"queryParams":["mode","quality","imageCount"]}'
qhkit pod products '{}' # 产品分类列表;{"category":"..."} 查该分类的产品底图(贴合选品用)
qhkit pod estimate '{"mode":"STAMP_FISSION","imageCount":4}'
qhkit pod generate '{"mode":"STAMP_EXTRACT","prompt":"保留主体图案","images":["./素材/印花衫.jpg"]}'
qhkit pod generate '{"mode":"STAMP_APPLY","prompt":"贴合自然","images":["https://x/p.png"],"productImages":["https://x/shirt.jpg"],"positions":["胸前居中"]}'
qhkit pod status '{"taskId":"..."}'
mode 三选一:STAMP_EXTRACT 印花提取(从图片提取干净印花)/ STAMP_APPLY 印花贴合(把印花贴到产品图上,必须传 productImages,底图可用 products 选)/ STAMP_FISSION 印花裂变(衍生同风格新印花,imageCount 1/2/4/6/8/10)。中英文别名(提取/贴合/裂变、extract/apply/fission)也认。generate 自带轮询(返回即含图片 URL);images 1–10 张;提取/贴合的出图张数 = images 张数,不用传 imageCount。"freeTask":true 免积分提交(用户明确要省积分/试用时优先建议)。qhkit workflow list # 线上目录:名称 / code / id / 目录价 / 计费方式
qhkit workflow options '{"workflow":"电影质感TVC广告大片"}' # 该应用的表单字段(中文字段名、必填、可选项)
qhkit workflow benefit '{"workflow":"wf_001"}' # 订阅与免费次数
qhkit workflow estimate @params.json
qhkit workflow generate @params.json
qhkit workflow status '{"logId":"75141"}'
qhkit workflow stop '{"logId":"75141"}'
workflow 收应用名 / code / id,名称模糊匹配(全角半角括号、首尾空格都容忍);名字对不上时用 list 返回的 code。list / options 返回里 supportsSchedule: true 表示该应用支持定时 / 周期执行——那是工作台里的配置,CLI 只能一次性提交,用户想要定时就引导他去工作台设。options 不传 workflow 时不报错,返回的是 stage:"list" 的全量目录(等同 list)。看到 stage:"list" 说明你漏传了 workflow,补上再查一次,别把目录当成字段表。fields 的键就是 options 返回的中文字段名(label),一字不差地照抄。字段表由线上定义,不要凭快照硬编,先跑 options。中文键建议用 @params.json 传参,避免 shell 转义问题。.mp3 上传通过。若真遇到「不支持的文件类型」,如实告诉用户改用已上传的音频链接,不要反复重试。maxCount、文本超 maxlength、值不匹配 pattern 也都在提交前报错。别靠"多传几个反正它只取第一个"——先看 options 里该字段有没有 isArray / maxCount,是单值就只给一个。generate 返回 logId,用 status 每 15 秒轮一次到 stage:"done";工作流最长可跑约 40 分钟。generate 返回里带 logIdUncertain: true 时要多一步核对:这次没拿到 taskId,logId 是按「该应用最新一条任务」兜底取的,可能指向上一次任务。拿到 status 结果后先看 createTime 是不是刚才那一刻,对不上就去工作台「AI 应用 - 任务」确认,不要把上一次的产物当成这次的交付。videos/primaryVideo(视频)、images(图片)、files(数据类应用的 xlsx)、texts(文本产物,如数据引擎的分析结论、生成的文案——别漏了它,有些应用只出 texts 不出文件);credits 是实扣值,refundedCredits 是预扣多退回的部分。generate 会被直接拦下,如实转告开通入口,不要重试。image/video/ad/pod/workflow 必须先跑 estimate(generate 同参数),报它返回的 credits;不要引用本文选型表或 options 里的数字报价——那是会漂移的快照/目录价,estimate 才是实扣值。enough:false 时提前告知余额不足。estimate 失败(stage:"estimate")或该命令不支持 estimate(video-quick 等)时,如实说「以实际扣费为准」,不要编数字。
workflow estimate 有一种「成功但没报出价」的分支:返回 ok:true / stage:"estimate",但没有 credits,只有 creditsNotice(线上未返回预估积分,文案里给的是目录价)。这不是失败,别当报错处理,也别把缺失的 credits 读成 0 或自己补一个数——把 creditsNotice 的原话转告用户即可。workflow estimate 会真实上传本地素材(其他命令的 estimate 都不上传):工作流报价需要真实素材 URL,按视频秒数计费的应用尤其依赖它。素材大时报价会等上传,只想问价可以先给一个已有的 http(s) URL。generate 前都要把模型/模板、张数或时长、尺寸/画质、语言、参考图与 estimate 预估积分列给用户,用户明确同意后才提交。意图模糊(没说清模式/尺寸/语言等且默认值可能不符预期)时,先用 options 的候选值和用户对齐再确认,不要替用户猜大参数。AGENTS.md「媒体产物的交付格式」节为准,
本技能不另行规定;不要只甩一串裸 URL 让用户自己点开——那等同于没交付。
<qinghu-artifact type="image" title="简短中文名" url="https://..." />
(视频用 type="video")。不要写  / [视频](url) 这类 markdown 内联;
产物 URL 从返回的 images / videos 等数据字段取。image/video 的 generate 返回里带 credits(本次实扣积分),
同轮一并告知「本次实际消耗 X 积分」。