下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-fl7k7jmb--tiangong-video-gen.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-fl7k7jmb/tiangong-video-gen。口播成片,可基于提供的文字/音频等热点素材,一键生成各平台短视频,适合历史/人文/科普/动漫类热门抖音,小红书,视频号,tiktok等短视频,口播视频,带货视频,并且支持使用 克隆音色进行口播音频生成
阅读全文 (展开查看完整说明)
概述
口播成片
做完的标准只有一个:把 data.videoUrl 交给用户。没有这个地址,就还没做完。
每次调用前读取本目录 config.json。API_BASE_URL 非空就用它,否则用 https://ai.growingth.com/api。请求头 api-token 用 VIDEO_GEN_API_TOKEN。token 为空时,只给 电脑端扫码登录,不要清空已有 token。
对用户说人话,不要提接口名称。调用时地址必须和下面逐字一致,不要搜索源码,不要改路径。查已有克隆是名单的一部分,不算多余探测。
只允许这些地址
| 步骤 | 方法 | 路径 |
|---|---|---|
| 登记克隆或配音 | POST | /skill/task |
| 上传凭证 | POST | /workflow/audio/upload-token |
| 已有克隆 | GET | /workflow/tts/clone/list |
| 开始克隆 | POST | /workflow/tts/clone/create |
| 删除克隆 | POST | /workflow/tts/clone/remove |
| 扩展名额 | POST | /workflow/tts/clone/expand |
| 配音 | POST | /workflow/tts/generate |
| 文字分镜 | POST | /workflow/slideshow/storyboard |
| 创建视频 | POST | /music/video/workflow/narration |
| 查进度 | GET | /music/video/workflow/progress?taskId= |
| 导出 | POST | /music/video/workflow/export |
上传音频文件时,再向「上传凭证」返回的 uploadUrl 发一次 multipart。那是文件存放地址,不要把登录凭证带过去。
字段示例在 [api.md](./api.md)。上面没有的路径不要调用。返回 404 表示地址打错了,换回表里的路径,不要据此告诉用户做不出视频。
先列音色
用户还没选定音色时,回复的第一段必须是下面这份名单,原样给出,不要缩成「还有别的声音」。解说小明是不指定时的默认,不是临时挑的。名单里不要出现音色编号。
这次可以用这些声音。不选的话,用解说小明。
解说
- 解说小明:语速快、中气足,适合口播。不指定就用这个。
- 磁性解说:低、稳,像纪录片。
- 广告解说:明快,带一点推销感。
- 东方浩然:浑厚,成熟男声。
男声
- 温暖阿虎:阳光,少年音。
- 少年梓辛:清爽、温柔。
- 天才童声:清亮的小孩声。
女声
- Vivi:平稳、柔和。
- 小何:甜美、活泼。
- 温柔妈妈:慢、温润。
- 客服婉君:亲切,说话有条理。
- 贴心女声:温柔,像在跟你聊天。
- 鸡汤妹妹:暖、甜,偏鼓励。
- 萌丫头:软、娇,偏小孩。
- 俏皮女声:灵动,少女音。
- 少儿故事:给孩子讲故事。
- 顾姐:干练,有气场。
- 武则天:威严,气场重。
- 温柔小雅:轻、温婉。
- 柔美女友:软、娇,偏亲密。
我的声音
- 发一段 10~20 秒的清晰人声(mp3、wav 或 m4a,单人朗读,尽量不要背景音乐,不超过 10MB),我按你的声音克隆后再配音。
换声音直接说名字。不换就回复「用默认」。要用自己的声音,把音频发过来。内置名单必须原样给出。发完后立刻 GET /workflow/tts/clone/list。ready 且未过期的,用名称接在「我的声音」下面,例如「- 我的旁白:已经做好,可以直接用。」没有就不要编造。
用户这条消息里已经点了内置名字,或点了已做好的克隆名字:先把名单发出去,写明用的是哪一个,然后继续,不要再等一次。发来了音频或音频链接:名单照发,写明按这段声音克隆,然后进入「克隆音色」,不要再等一次。没点名也没给音频:名单发完就停。选定之前不要配音,不要扣费。
对照(只给自己用,不要念给用户):
| 用户说的名字 | voiceId |
|---|---|
| 解说小明 | zh_male_jieshuoxiaoming_uranus_bigtts |
| 磁性解说 | zh_male_cixingjieshuonan_uranus_bigtts |
| 广告解说 | zh_male_guanggaojieshuo_uranus_bigtts |
| 东方浩然 | zh_male_dongfanghaoran_uranus_bigtts |
| 温暖阿虎 | zh_male_wennuanahu_uranus_bigtts |
| 少年梓辛 | zh_male_shaonianzixin_uranus_bigtts |
| 天才童声 | zh_male_tiancaitongsheng_uranus_bigtts |
| Vivi | zh_female_vv_uranus_bigtts |
| 小何 | zh_female_xiaohe_uranus_bigtts |
| 温柔妈妈 | zh_female_wenroumama_uranus_bigtts |
| 客服婉君 | ICL_uranus_zh_female_kefuwanjun_tob |
| 贴心女声 | zh_female_tiexinnvsheng_uranus_bigtts |
| 鸡汤妹妹 | zh_female_jitangmei_uranus_bigtts |
| 萌丫头 | zh_female_mengyatou_uranus_bigtts |
| 俏皮女声 | zh_female_qiaopinv_uranus_bigtts |
| 少儿故事 | zh_female_shaoergushi_uranus_bigtts |
| 顾姐 | zh_female_gujie_uranus_bigtts |
| 武则天 | zh_female_wuzetian_uranus_bigtts |
| 温柔小雅 | zh_female_wenrouxiaoya_uranus_bigtts |
| 柔美女友 | zh_female_roumeinvyou_uranus_bigtts |
已做好的克隆不在这张表里。配音时用 clone/list 返回的 voiceId。删除时才用 uid。两个编号不要混用。
克隆音色
用户发来音频、给了音频链接,或说用我的声音、克隆、复刻,才走这里。
- 没有音频就停下来要。对用户说:请发一段 10~20 秒的清晰人声,单人朗读,尽量不要背景音乐,mp3、wav 或 m4a,不超过 10MB。
- 没起名字就用「我的旁白」。
- 对话里的文件或本地文件:先
POST /workflow/audio/upload-token,body 为{ "ext": "mp3" },ext按实际后缀,只能是 mp3、wav、m4a。再向返回的uploadUrl发 multipart,字段是token、key、file。不要带登录凭证。样本地址用返回的url。用户已经给了http(s)链接就跳过上传。 POST /skill/task,type为voice_clone。这是克隆的账,和后面配音的账分开,各扣 5 积分。记下data.uid。POST /workflow/tts/clone/create,body 带name、url、language为zh、skillTaskUid。- 还没就绪:每 5 秒
GET /workflow/tts/clone/list,直到这条ready为 true,或失败,或大约 2 分钟。对用户说:正在按你的声音制作,通常不到一分钟。 - 成功后用这条的
voiceId去配音。对用户只说名称。然后回到口播稿确认,不要跳过稿子。
失败时这样说:
- 会员不够:「需要开通会员后才能克隆音色」,并给出 去支付。
- 名额满了:「克隆音色数量已达上限。可以用 50 积分扩展 1 个名额,或告诉我删掉哪一个。」用户同意扩展,再
POST /workflow/tts/clone/expand,body 为{ "count": 1 }。删除用 list 的uid,POST /workflow/tts/clone/remove。 - 声音不合适:「这段声音不太适合克隆。请换一段 10~20 秒、安静环境、吐字清楚的单人朗读再试。」
怎么做
对话里已经有配音地址和分镜时,从「创建视频」开始,不要重新配音,不要重新分镜。
否则:
- 音色按上面选定。没指定就是解说小明,账单写「未指定,技能默认」。点了内置名字或已做好的克隆,账单写「用户指定」。这次新克隆的,账单写「本次克隆」。然后写一段 80~180 字的口语稿。成片是横屏。把稿子给用户看,并说明确认后会扣配音 5 积分、分镜 2 积分、成片按镜头数乘 5。刚克隆过的,再补一句克隆已扣 5 积分。用户说确认、做成片、同意、生成视频,都算确认。音色还没定的时候,这些话不算确认。
- 配音。内置音色用对照表。克隆音色用
clone/list的voiceId。先POST /skill/task,type为voice_tts,和克隆那次任务分开。稿子原样提交。拿到audioUrl再继续。 - 用该音频做文字分镜,
count用 5。只向用户列出每镜的时间和画面,不要配图。 - 立刻创建视频。body 使用该
audioUrl、选题、aspectRatio: "16:9"、音频时长,以及分镜返回的lyric、desc、prompt、startTime、endTime。 - 每 20 秒查一次进度。
ready_export时立刻导出,body 只有taskId。videoUrl非空后,把口播稿、音频链接、分镜、视频链接交给用户,紧跟着账单。超过 60 分钟还没有地址,告诉用户这次超时了,同样要出账单。
账单
只要这次扣过费,结束时必须输出账单,即使用户没问。做成片时放在视频链接后面。失败、超时、用户中途叫停,也要列出已经扣掉的部分。
数字只取本次返回,禁止估算,禁止抄上一单:
- 克隆积分:登记克隆返回的
cost、extra.remainBefore、extra.remainAfter。没克隆就写「未扣」。 - 配音积分:登记配音返回的
cost、extra.remainBefore、extra.remainAfter。costFrom为token写成「额度」,为bill写成「账户积分」。 - 配音字数:配音返回的
used_score、tts_score。 - 分镜:分镜返回的
cost。退回了就写「已退回」。 - 成片:创建视频返回的
costScore、shotCount。
没走到的步骤写「未扣」。按这个结构输出,花括号换成真实数字:
账单
音色:{名称}(未指定,技能默认)
克隆:扣 {cost} 积分(额度 {remainBefore} → {remainAfter})
配音:扣 {cost} 积分(额度 {remainBefore} → {remainAfter})
配音字数:扣 {used_score} 字,剩余 {tts_score}
分镜:扣 {cost} 积分
成片:{shotCount} 个镜头 × 5 = {costScore} 积分
合计:{克隆 + 配音 + 分镜 + 成片} 积分,{used_score} 字余额不足
克隆、配音、分镜、成片、扩展名额,只要返回余额不足、积分不足、额度不足或配音字数不足,立刻停住,不要重试,不要换一条继续扣。对用户原样说:
余额不够,这次先停在这里。请点击下面的链接完成支付,付完告诉我,我再继续。
[去支付](https://ai.growingth.com/skill/pay?type=video)支付地址只使用 https://ai.growingth.com/skill/pay?type=video。不要改成别的支付页。
不要做
- 不要配图,不要问要不要配图。
- 不要调用
/music/video/workflow/create,那是歌曲成片。 - 不要安装或使用 Pillow、ffmpeg、moviepy,不要在本机拼视频。
- 不要写 srt、字幕或剪辑素材,不要让用户去剪映、PR 或网页导出。
- 不要说「没有合成视频的能力」。创建视频的地址就在上表。
- 不要跳过音色名单,直接拿解说小明开始配音。
- 不要在没有音频时声称已经克隆成功。
- 不要把克隆记录的 uid 拿去配音。
- 余额不足时不要跳过支付链接,也不要继续往下扣费。