Avatar
Interactive AI avatar with Simli video rendering and ElevenLabs TTS
clawhub install avatarAutomate Jianying video projects via HTTP requests with timeline orchestration, media management, and batch rendering capabilities
# Install Skill (downloads SKILL.md to .claude/skills/) clawhub install vectcut # Then just tell Claude: "use Vectcut to help me..."
# Same install command — works with all SKILL.md-compatible AI coding tools clawhub install vectcut
This Skill is compatible with the OpenClaw standard. After installation, a SKILL.md file is auto-generated, usable by any OpenClaw-compatible AI Agent (Claude Code, Cursor, Windsurf, etc.).
get_duration、get_resolution、video_detail、asr_basic、asr_nlp、asr_llm 完成时长获取、分辨率判断、画面理解与语音内容解析。video_detail 可提取细粒度语义(画面主体关系、人物朝向、物体位置、声音音调与风格等)。
* ASR 按需策略:默认优先级 asr_llm > asr_nlp > asr_basic,优先使用更高能力接口,仅在明确只需基础识别或时延敏感场景下降级。
- asr_basic:速度最快,返回完整文案、句级时间、字级时间;中文/英文效果好,支持粤语、上海话、闽南语、四川/陕西方言;更适合横屏字幕或素材初步理解。
- asr_nlp:速度中等,在 basic 基础上增加语义分句(每句不超过 12 字),更适合竖屏字幕。
- asr_llm:速度最慢,在 nlp 基础上增加 AI 关键词提取,优先用于竖屏与短视频字幕。
- 三个 ASR 接口均支持传入 content(正确文案)以显著提升匹配准确率与处理速度。
- 三种回包结构不同,必须按端点解析:asr_basic -> result.raw.result.utterances;asr_nlp -> segments;asr_llm -> segments(含 keywords/en)。
* 脚本规划:根据主题(如“成语故事”、“产品评测”)自动拆解分镜,确定各片段时长。
* 草稿生命周期管理:先创建并维护草稿,再进入编排流程;优先调用 create_draft 初始化草稿,按需使用 modify_draft 修改草稿名/封面,任务异常或清理阶段使用 remove_draft 删除草稿。
* 反思自查:在关键步骤后调用 query_script 回看当前草稿结构,核对轨道、素材与时间段是否符合预期;若不一致,先定位问题再执行修正操作。
* 视觉编排:基于已创建草稿自主选择并添加转场(Transitions)、特效(Effects)、滤镜(Filters)和文本(Text)。
* AI 资源补全:当素材不足时,主动调用 generate_image、generate_speech 或 generate_ai_video 生成 B-roll 填充;其中 generate_image 支持 nano_banana_2、nano_banana_pro、jimeng-4.5 等聚合模型,generate_speech 通过 text + provider + model + voice_id 合成配音,可配合 volume、target_start、effect_type/effect_params 控制入轨位置与音色效果。
* 文本编排生命周期:通过 add_text 创建文本素材,使用 modify_text 调整文案与样式,使用 remove_text 清理无效文本;文本动画、字体与局部样式优先从枚举中选取,保证可用性与一致性。
* 图片编排生命周期:通过 add_image 添加图片素材,使用 modify_image 调整图片源、时间段、位置与动画,使用 remove_image 清理无效图片;动画与蒙版类型优先从枚举中选取,保证编排稳定性。
* 视频编排生命周期:通过 add_video 添加视频素材,使用 modify_video 调整素材源、裁切区间、位置与速度,使用 remove_video 清理无效视频;转场在片段首尾紧邻时生效,且需加在前一个元素上。
* AI 视频生成能力:通过 generate_ai_video 调用聚合视频模型生成异步任务,再通过 aivideo/task_status 查询进度与视频结果;支持文生视频、图生视频与部分模型的首尾帧模式。
* 数字人能力:通过 digital_human/create 发起音频驱动数字人任务,再通过 digital_human/task_status 查询生成状态与结果。
* 关键帧编排能力:通过 add_video_keyframe 为文字、图片、视频设置位置、大小、透明度、旋转等关键帧,支持单点与批量关键帧写入。
* 云渲染与结果核验:通过 generate_video 发起云渲染,再用 task_status 轮询任务状态。云渲染用于两类目标:创作中渲染中间结果核对预期;流程结束渲染最终成片并输出可直接播放的视频链接。
* 音画同步:如果需要,可以利用 get_duration 计算素材时长,精确对齐视频轨道与音频轨道。
* 音视频预处理工具:在编排前可优先使用基础处理端点清洗素材。extract_audio 可从视频中提取音频(POST /process/extract_audio,入参 video_url);split_video 可按时间段切分视频或音频(POST /process/split_video,入参 video_url、start、end)。适用于替换现有视频 B-roll、素材混剪、先切段再入草稿等场景。export VECTCUT_API_KEY="<your_token>"
rules/:决策规则与调用顺序scripts/:curl 请求模板与执行脚本examples/:curl 端到端示例prompts/:请求路由与命令生成提示词references/:端点参数与字段契约references/references.md:References 总索引(端点文档、回包解读、样例入口)rules/rules.md
- 领域:rules/<domain>_rules.md
references/references.md
- 端点总览:references/endpoint_params.md
- 端点:references/endpoints/<domain>.md
- 枚举:references/enums/*.json
prompts/<domain>_ops.md
scripts/<domain>_ops.sh
examples/<domain>_ops_demo.shrules/filter_rules.mdreferences/endpoints/filter.mdprompts/filter_ops.mdrules/effect_rules.mdreferences/endpoints/effect.mdprompts/effect_ops.mdrules/material_rules.mdreferences/endpoints/material.mdprompts/material_ops.mdrules/draft_rules.mdreferences/endpoints/draft.mdprompts/draft_ops.mdrules/asr_rules.mdreferences/endpoints/asr.mdprompts/asr_ops.mdrules/process_rules.mdreferences/endpoints/process.mdprompts/process_ops.mdrules/generate_video_rules.mdreferences/endpoints/generate_video.mdprompts/generate_video_ops.mdrules/generate_speech_rules.mdreferences/endpoints/generate_speech.mdprompts/generate_speech_ops.mdPOST /cut_jianying/generate_speechtext、provider、model、voice_id、volume、target_start、effect_type、effect_paramsaudio_url、draft_id、draft_url、material_idrules/generate_ai_image_rules.mdreferences/endpoints/generate_ai_image.mdprompts/generate_ai_image_ops.mdPOST /cut_jianying/generate_imageprompt、model、reference_image、size、draft_idoutput.image_url、output.draft_id、output.draft_urlrules/generate_ai_video_rules.mdreferences/endpoints/generate_ai_video.mdprompts/generate_ai_video_ops.mdPOST /cut_jianying/generate_ai_video、GET /cut_jianying/aivideo/task_statusprompt、model、resolution
- status:task_id
task_id
- status:status、progress、video_url、draft_id、draft_urlrules/digital_human_rules.mdreferences/endpoints/digital_human.mdprompts/digital_human_ops.mdPOST /cut_jianying/digital_human/create、GET /cut_jianying/digital_human/task_statusaudio_url、video_url
- status:task_id
task_id 或 id
- status:status、progress、video_urlrules/video_rules.mdreferences/endpoints/video.mdprompts/video_ops.mdPOST /cut_jianying/add_video、POST /cut_jianying/modify_video、POST /cut_jianying/remove_videovideo_url
- modify/remove:draft_id、material_id
output.draft_id、output.draft_url、output.material_id(add/modify)rules/image_rules.mdreferences/endpoints/image.mdprompts/image_ops.mdPOST /cut_jianying/add_image、POST /cut_jianying/modify_image、POST /cut_jianying/remove_imageimage_url
- modify/remove:draft_id、material_id
output.draft_id、output.draft_url、output.material_id(add/modify)rules/text_rules.mdreferences/endpoints/text.mdprompts/text_ops.mdPOST /cut_jianying/add_text、POST /cut_jianying/modify_text、POST /cut_jianying/remove_texttext、start、end
- modify:draft_id、material_id、text、start、end
- remove:draft_id、material_id
output.material_id
- modify/remove:output.draft_id、output.draft_urlrules/keyframe_rules.mdreferences/endpoints/keyframe.mdprompts/keyframe_ops.mdPOST /cut_jianying/add_video_keyframedraft_id、track_name、property_types、times、valuesoutput.added_keyframes_count、output.draft_id、output.draft_urltext / audio / subtitle / effect / keyframe / digital_human。<domain>.md。draft_id:草稿 IDdraft_url:可打开的剪映/CapCut 草稿 URL,应封装为 markdown 超链接格式:[草稿名称](draft_url)material_id: 添加进草稿后的素材(图片、视频、音频、字幕、滤镜、贴纸、特效)的ID,方便后面继续操作POST /create_draftcurl -X POST http://open.vectcut.com/cut_jianying/create_draft \
-H "Authorization: Bearer $VECTCUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1080,"height":1920,"name":"demo"}'
POST JSON):/add_video:添加视频(支持裁切、速度、变换、蒙版、混合、转场等)/modify_video:修改视频(基于 material_id 更新视频源、裁切区间、位置与速度)/remove_video:删除视频(基于 material_id 删除视频素材)/add_image:添加图片(支持入/出场动画、转场、蒙版、混合等)/modify_image:修改图片(基于 material_id 更新图片源、时长、位置、动画与样式)/remove_image:删除图片(基于 material_id 删除图片素材)/add_audio:添加音频(支持音量、变速、淡入淡出、音效等)/add_text:添加文字(支持字体、描边、阴影、背景、动画、多样式范围等)/modify_text:修改文字(基于 material_id 更新文案、时间段与样式)/remove_text:删除文字(基于 material_id 删除文本素材)/add_sticker:添加贴纸/add_effect:添加特效(scene/character)/add_filter:添加滤镜/add_video_keyframe:添加关键帧(支持位置、大小、透明度、旋转等属性)/get_video_scene_effect_types:获取场景特效(用于 effect_category=scene)/get_video_character_effect_types:获取人物特效(用于 effect_category=character)/get_filter_types:添加滤镜/generate_image:AI 图片生成并添加到草稿(支持文生图/图生图,聚合模型:nano_banana_2、nano_banana_pro、jimeng-4.5)/generate_ai_video:AI 视频生成(支持文生视频/图生视频/部分模型首尾帧,异步任务)/aivideo/task_status:查询 AI 视频生成任务状态与视频结果/digital_human/create:创建数字人口播任务(音频 + 视频输入)/digital_human/task_status:查询数字人任务状态与结果/generate_speech:TTS 语音合成并添加到草稿/llm/tts/fish/clone_voice:克隆音色并返回 voice_id(可用于后续 generate_speech)/llm/tts/voice_assets:查询已克隆音色资产(支持 provider=minimax|fish|NULL)/remove_bg:智能抠像(移除背景)并生成合成预设/search_sticker:搜索在线贴纸素材GET /get_transition_typesGET /get_mask_typesGET /get_intro_animation_types、/get_outro_animation_types、/get_combo_animation_typesGET /get_text_intro_types、/get_text_outro_types、/get_text_loop_anim_typesGET /get_video_scene_effect_types、/get_video_character_effect_typesGET /get_filter_typesGET /get_font_typesGET /get_audio_effect_typescurl -X GET "http://open.vectcut.com/cut_jianying/get_transition_types" \
-H "Authorization: Bearer $VECTCUT_API_KEY"
POST /generate_video:对草稿 draft_id 发起云渲染(返回 task_id)。POST /task_status:轮询 task_id 获取渲染进度与结果。generate_image 生成插图,获得 image_url。
* 调用 generate_speech 生成配音,获得 audio_url。
* 关键点:调用 get_duration(url=audio_url) 获取配音时长 duration。
* 调用 add_image,将 image_url 加入草稿,并设置 duration 等于配音时长,确保音画同步。
* (如果 generate_speech 未自动添加)调用 add_audio 添加配音。assets/prompts/story_creation_zh.mdcurl -X POST http://open.vectcut.com/cut_jianying/create_draft \
-H "Authorization: Bearer $VECTCUT_API_KEY" \
-d '{"name":"my short"}'
draft_id=xxx 后:curl -X POST http://open.vectcut.com/cut_jianying/add_video \
-H "Authorization: Bearer $VECTCUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"draft_id":"xxx","video_url":"https://example.com/a.mp4","start":0,"end":10,"target_start":0}'
curl -X POST http://open.vectcut.com/cut_jianying/generate_video \
-H "Authorization: Bearer $VECTCUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"draft_id":"xxx","resolution":"1080P","framerate":"30"}'
curl -X POST http://open.vectcut.com/cut_jianying/task_status \
-H "Authorization: Bearer $VECTCUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"task_id":"TASK_ID"}'
video_detail 理解(关系/朝向/位置/声音风格),再据此做镜头衔接、特效与字幕排版决策#!/bin/bash
# 完整的剪映自动化工作流
DRAFT_TITLE="自动生成视频_$(date +%s)"
API_TOKEN="your_jianying_token"
# 创建草稿
DRAFT_ID=$(curl -s -X POST https://api.jianying.com/v1/drafts \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"title\": \"$DRAFT_TITLE\"}" | jq -r '.id')
echo "草稿已创建: $DRAFT_ID"
# 添加视频和字幕
curl -s -X POST https://api.jianying.com/v1/timelines \
-H "Authorization: Bearer $API_TOKEN" \
-d "{\"draft_id\": \"$DRAFT_ID\", \"media_url\": \"input.mp4\", \"subtitle\": \"自动化字幕\"}"
# 应用特效
curl -s -X POST https://api.jianying.com/v1/effects \
-H "Authorization: Bearer $API_TOKEN" \
-d "{\"draft_id\": \"$DRAFT_ID\", \"effect_type\": \"transition\", \"duration\": 1.0}"
# 开始渲染
curl -X POST https://api.jianying.com/v1/render \
-H "Authorization: Bearer $API_TOKEN" \
-d "{\"draft_id\": \"$DRAFT_ID\", \"quality\": \"1080p\", \"format\": \"mp4\"}"Interactive AI avatar with Simli video rendering and ElevenLabs TTS
clawhub install avatar