Install any skill in seconds. Free to start, no credit card required.
Get Started Free →完整的视频二创工具,支持视频反推、素材生成(图片/音效/背景音乐/配音/字幕)、视频合成、文件下载的全流程,集成Coze Bot API进行视觉分析,使用Edge-TTS进行语音合成
.claude/skills/anbeime-video-recreation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 140% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 106% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 86% | 0% |
opencv-python>=4.8.0 pillow>=10.0.0 moviepy>=1.0.3 numpy>=1.24.0 requests>=2.28.0 edge-tts>=6.1.0
bash pip install edge-tts
export SUNO_API_KEY=your_api_key--suno-api-key your_api_keyCOZE_BOT_ID: Coze Bot ID (默认: 7572557757883383858)COZE_API_KEY: Coze API Key (需配置) ./output/ ├── frames/ # 视频关键帧 ├── analysis.json # 反推分析结果 ├── images/ # 生成的图片素材 ├── audio/ # 音效和背景音乐 ├── voice/ # 配音音频 ├── subtitles/ # 字幕文件 └── final.mp4 # 最终合成视频
scripts/video_frame_extractor.py 提取关键帧--input <原视频路径> --output ./output/frames --interval 2./output/frames/scripts/coze_bot_client.py 分析关键帧--message "<分析提示>" --image_path <关键帧路径>./output/analysis.jsonscripts/image_generator.py 生成图片--prompt "<提示词>" --output ./output/images/frame_xxxx.png./output/images/scripts/sound_generator.py 生成音效和背景音乐--type sound --input <音效配置JSON> --output ./output/audio (生成音效)--type music --input <音乐配置JSON> --output ./output/audio (生成背景音乐)--type both --input <完整配置JSON> --output ./output/audio (同时生成两者)export SUNO_API_KEY=your_api_key--suno-api-key your_api_key--use-placeholder (即使有 API Key 也使用占位)./output/audio/sound_effects/, 背景音乐到 ./output/audio/background_music/scripts/voice_generator.py 合成配音(基于Edge-TTS)--input <旁白脚本JSON> --output ./output/voice--list-voices (列出所有可用音色)./output/voice/scripts/subtitle_generator.py 生成字幕文件--input <字幕数据JSON> --output ./output/subtitles./output/subtitles/scripts/video_compositor.py 合成视频--images ./output/images --audio ./output/audio --voice ./output/voice --subtitles ./output/subtitles --output ./output/final.mp4./output/final.mp4scripts/file_server.py--port 8080 --directory ./outputhttp://localhost:8080/final.mp4./output/error_log.json,可用于问题诊断./output/error_log.json 确认失败步骤./output/error_log.json,从失败步骤恢复./output/,确保下载时能正确访问bash# 1. 提取关键帧 python scripts/video_frame_extractor.py \ --input original_video.mp4 \ --output ./output/frames \ --interval 2 # 2. 视觉分析(智能体描述分析需求) python scripts/coze_bot_client.py \ --message "分析这些视频帧,提取:画面风格、色调特征、构图方式、节奏模式" \ --image_path ./output/frames/frame_0001.jpg # 3. 生成图片素材(智能体创作提示词) python scripts/image_generator.py \ --prompt "现代科技风格,蓝色调,未来城市景观" \ --output ./output/images/frame_0001.png # 4. 生成音效和背景音乐 # 方式1: 使用技能预置的 API Key(开箱即用) python scripts/sound_generator.py \ --type both \ --input audio_config.json \ --output ./output/audio # 方式2: 使用自己的 API Key export SUNO_API_KEY=your_api_key python scripts/sound_generator.py \ --type both \ --input audio_config.json \ --output ./output/audio # 方式3: 命令行指定 API Key python scripts/sound_generator.py \ --type both \ --input audio_config.json \ --output ./output/audio \ --suno-api-key your_api_key # 方式4: 强制使用占位实现(不调用 API) python scripts/sound_generator.py \ --type both \ --input audio_config.json \ --output ./output/audio \ --use-placeholder # 其中audio_config.json示例: { "sound_effects": [ {"name": "transition_01", "type": "transition", "duration": 2.0, "description": "转场音效"}, {"name": "impact_01", "type": "impact", "duration": 0.5, "description": "冲击音效"} ], "background_music": { "name": "background", "style": "calm", "duration": 60.0, "tempo": 90, "mood": "neutral" } } # API Key 配置优先级: 命令行参数 > 环境变量 > 技能凭证 > 占位实现 # 5. 生成配音(Edge-TTS) # 查看可用音色 python scripts/voice_generator.py --list-voices # 生成配音 python scripts/voice_generator.py \ --input narration.json \ --output ./output/voice # 其中narration.json示例: { "segments": [ { "segment_id": "S01", "text": "欢迎来到这个美丽的世界", "voice": "zh-CN-XiaomengNeural", "rate": "-10%", "pitch": "+0Hz", "volume": "+0%" }, { "segment_id": "S02", "text": "让我们开始这段奇妙的旅程", "voice": "zh-CN-YunyangNeural", "rate": "-5%", "pitch": "-2Hz", "volume": "+5%" } ] } # 6. 生成字幕 python scripts/subtitle_generator.py \ --input subtitle_data.json \ --output ./output/subtitles # 7. 合成视频 python scripts/video_compositor.py \ --images ./output/images \ --audio ./output/audio \ --voice ./output/voice \ --subtitles ./output/subtitles \ --output ./output/final.mp4 # 8. 启动下载服务器 python scripts/file_server.py \ --port 8080 \ --directory ./output
bashpython scripts/sound_generator.py \ --type sound \ --input sound_effects.json \ --output ./output/audio
bashpython scripts/sound_generator.py \ --type music \ --input background_music.json \ --output ./output/audio
bash# 检查错误日志 cat ./output/error_log.json # 从失败步骤重新执行(例如仅重新生成失败的音效) python scripts/sound_generator.py \ --type sound \ --input sound_effects.json \ --output ./output/audio
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 17,422 | 18,729 | +8% | 1 | 1 | 0% | 3,170 | 7,593 | +140% | 0 | 0 | — |
case-02 | fail→pass | 12,458 | 7,219 | -42% | 1 | 1 | 0% | 2,419 | 5,223 | +116% | 0 | 0 | — |
case-03 | fail→pass | 17,784 | 11,139 | -37% | 1 | 1 | 0% | 3,028 | 6,226 | +106% | 0 | 0 | — |
case-04 | fail→pass | 16,889 | 7,605 | -55% | 1 | 1 | 0% | 3,366 | 5,150 | +53% | 0 | 0 | — |
case-05 | fail→pass | 13,982 | 7,955 | -43% | 1 | 1 | 0% | 2,891 | 5,367 | +86% | 0 | 0 | — |
case-06 | pass→pass | 5,586 | 3,468 | -38% | 1 | 1 | 0% | 1,049 | 4,448 | +324% | 0 | 0 | — |
case-07 | fail→pass | 12,244 | 4,532 | -63% | 1 | 1 | 0% | 2,250 | 4,562 | +103% | 0 | 0 | — |
case-08 | fail→pass | 11,346 | 2,413 | -79% | 1 | 1 | 0% | 2,471 | 4,218 | +71% | 0 | 0 | — |
case-09 | fail→pass | 7,925 | 3,188 | -60% | 1 | 1 | 0% | 1,700 | 4,415 | +160% | 0 | 0 | — |
case-10 | fail→pass | 12,709 | 3,941 | -69% | 1 | 1 | 0% | 2,589 | 4,512 | +74% | 0 | 0 | — |
case-11 | fail→pass | 11,330 | 2,580 | -77% | 1 | 1 | 0% | 1,994 | 4,194 | +110% | 0 | 0 | — |
case-12 | fail→pass | 14,127 | 2,785 | -80% | 1 | 1 | 0% | 2,821 | 4,302 | +52% | 0 | 0 | — |
case-13 | fail→pass | 6,986 | 2,349 | -66% | 1 | 1 | 0% | 1,360 | 4,192 | +208% | 0 | 0 | — |
case-14 | pass→pass | 13,290 | 3,458 | -74% | 1 | 1 | 0% | 2,231 | 4,412 | +98% | 0 | 0 | — |
case-15 | fail→pass | 12,947 | 3,876 | -70% | 1 | 1 | 0% | 2,322 | 4,636 | +100% | 0 | 0 | — |
case-16 | pass→pass | 14,082 | 7,570 | -46% | 1 | 1 | 0% | 2,341 | 5,146 | +120% | 0 | 0 | — |
case-17 | fail→pass | 7,085 | 2,533 | -64% | 1 | 1 | 0% | 1,421 | 4,204 | +196% | 0 | 0 | — |
case-18 | fail→pass | 6,550 | 3,448 | -47% | 1 | 1 | 0% | 1,333 | 4,391 | +229% | 0 | 0 | — |
case-19 | fail→fail | 18,236 | 18,256 | +0% | 1 | 1 | 0% | 3,377 | 7,912 | +134% | 0 | 0 | — |
case-20 | fail→fail | 20,107 | 11,086 | -45% | 1 | 1 | 0% | 3,866 | 5,837 | +51% | 0 | 0 | — |
case-21 | fail→fail | 20,299 | 19,970 | -2% | 1 | 1 | 0% | 3,780 | 7,622 | +102% | 0 | 0 | — |
case-22 | pass→pass | 10,850 | 7,003 | -35% | 1 | 1 | 0% | 2,017 | 5,152 | +155% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +68 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.