anbeime/video-recreation
完整的视频二创工具,支持视频反推、素材生成(图片/音效/背景音乐/配音/字幕)、视频合成、文件下载的全流程,集成Coze Bot API进行视觉分析,使用Edge-TTS进行语音合成
npx skills add https://github.com/anbeime/skill --skill video-recreation
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
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/,确保下载时能正确访问# 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
python scripts/sound_generator.py \
--type sound \
--input sound_effects.json \
--output ./output/audio
python scripts/sound_generator.py \
--type music \
--input background_music.json \
--output ./output/audio
# 检查错误日志
cat ./output/error_log.json
# 从失败步骤重新执行(例如仅重新生成失败的音效)
python scripts/sound_generator.py \
--type sound \
--input sound_effects.json \
--output ./output/audio
Take anbeime/video-recreation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.