NarratoAI/webui.txt
linyqh bc236cd195 更新配置文件和Web界面,支持自定义短剧混剪片段
- 将项目版本更新至0.5.3
- 修改视觉大模型提供商为qwenvl,并更新相关API密钥和模型名称
- 新增DeepSeek API支持,更新文本生成模型设置
- 在Web界面中添加短视频生成模式的选项,调整脚本设置以支持自定义片段数量
- 修改代理设置的默认值为False
2025-04-13 14:07:35 +08:00

376 lines
30 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
set CURRENT_DIR=%CD%
echo ***** Current directory: %CURRENT_DIR% *****
set PYTHONPATH=%CURRENT_DIR%
set "vpn_proxy_url=%http://127.0.0.1:7890%"
:: 使用VPN代理进行一些操作例如通过代理下载文件
set "http_proxy=%vpn_proxy_url%"
set "https_proxy=%vpn_proxy_url%"
@echo off
setlocal enabledelayedexpansion
rem 创建链接和路径的数组
set "urls_paths[0]=https://zenodo.org/records/13293144/files/MicrosoftYaHeiBold.ttc|.\resource\fonts"
set "urls_paths[1]=https://zenodo.org/records/13293144/files/MicrosoftYaHeiNormal.ttc|.\resource\fonts"
set "urls_paths[2]=https://zenodo.org/records/13293144/files/STHeitiLight.ttc|.\resource\fonts"
set "urls_paths[3]=https://zenodo.org/records/13293144/files/STHeitiMedium.ttc|.\resource\fonts"
set "urls_paths[4]=https://zenodo.org/records/13293144/files/UTM%20Kabel%20KT.ttf|.\resource\fonts"
set "urls_paths[5]=https://zenodo.org/records/14167125/files/test.mp4|.\resource\videos"
set "urls_paths[6]=https://zenodo.org/records/13293150/files/output000.mp3|.\resource\songs"
set "urls_paths[7]=https://zenodo.org/records/13293150/files/output001.mp3|.\resource\songs"
set "urls_paths[8]=https://zenodo.org/records/13293150/files/output002.mp3|.\resource\songs"
set "urls_paths[9]=https://zenodo.org/records/13293150/files/output003.mp3|.\resource\songs"
set "urls_paths[10]=https://zenodo.org/records/13293150/files/output004.mp3|.\resource\songs"
set "urls_paths[11]=https://zenodo.org/records/13293150/files/output005.mp3|.\resource\songs"
set "urls_paths[12]=https://zenodo.org/records/13293150/files/output006.mp3|.\resource\songs"
set "urls_paths[13]=https://zenodo.org/records/13293150/files/output007.mp3|.\resource\songs"
set "urls_paths[14]=https://zenodo.org/records/13293150/files/output008.mp3|.\resource\songs"
set "urls_paths[15]=https://zenodo.org/records/13293150/files/output009.mp3|.\resource\songs"
set "urls_paths[16]=https://zenodo.org/records/13293150/files/output010.mp3|.\resource\songs"
rem 循环下载所有文件并保存到指定路径
for /L %%i in (0,1,16) do (
for /f "tokens=1,2 delims=|" %%a in ("!urls_paths[%%i]!") do (
if not exist "%%b" mkdir "%%b"
echo 正在下载 %%a 到 %%b
curl -o "%%b\%%~nxa" %%a
)
)
echo 所有文件已成功下载到指定目录
endlocal
pause
rem set HF_ENDPOINT=https://hf-mirror.com
streamlit run webui.py --browser.serverAddress="127.0.0.1" --server.enableCORS=True --server.maxUploadSize=2048 --browser.gatherUsageStats=False
streamlit run webui.py --server.maxUploadSize=2048
请求0
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/youtube/download' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://www.youtube.com/watch?v=Kenm35gdqtk",
"resolution": "1080p",
"output_format": "mp4",
"rename": "2024-11-19"
}'
{
"url": "https://www.youtube.com/watch?v=Kenm35gdqtk",
"resolution": "1080p",
"output_format": "mp4",
"rename": "2024-11-19"
}
请求1
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/scripts/generate' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"video_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"skip_seconds": 0,
"threshold": 30,
"vision_batch_size": 10,
"vision_llm_provider": "gemini"
}'
{
"video_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"skip_seconds": 0,
"threshold": 30,
"vision_batch_size": 10,
"vision_llm_provider": "gemini"
}
请求2
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/scripts/crop' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"video_origin_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"video_script": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是视频画面的客观描述:\n\n视频展现一名留着胡须的男子在森林里挖掘。\n\n画面首先展现男子从后方视角背着军绿色背包穿着卡其色长裤和深色T恤走向一个泥土斜坡。背包上似乎有一个镐头。\n\n下一个镜头特写展现了该背包一个镐头从背包里伸出来包里还有一些其他工具。\n\n然后视频显示该男子用镐头挖掘泥土斜坡。\n\n接下来是一些近景镜头展现男子的靴子在泥土中行走以及男子用手清理泥土。\n\n其他镜头从不同角度展现该男子在挖掘包括从侧面和上方。\n\n可以看到他用工具挖掘清理泥土并检查挖出的土壤。\n\n最后一个镜头展现了挖出的土壤的质地和颜色。",
"narration": "好的,接下来就是我们这位“胡须大侠”的精彩冒险了!只见他背着军绿色的背包,迈着比我上班还不情愿的步伐走向那泥土斜坡。哎呀,这个背包可真是个宝贝,里面藏着一把镐头和一些工具,简直像是个随身携带的“建筑工具箱”! \n\n看他挥舞着镐头挖掘泥土的姿势仿佛在进行一场“挖土大赛”结果却比我做饭还要糟糕。泥土飞扬中他的靴子也成了“泥巴艺术家”。最后那堆色泽各异的土壤就像他心情的写照——五彩斑斓又略显混乱真是一次让人捧腹的建造之旅",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是视频画面的客观描述:\n\n视频以一系列森林环境的镜头开头。\n\n第一个镜头是一个特写镜头镜头中显示的是一些带有水滴的绿色叶子。\n\n第二个镜头显示一个留着胡须的男子在森林中挖掘一个洞。 他跪在地上,用工具挖土。\n\n第三个镜头是一个中等镜头显示同一个人坐在他挖好的洞边休息。\n\n第四个镜头显示该洞的内部结构该洞在树根和地面之间。\n\n第五个镜头显示该男子用斧头砍树枝。\n\n第六个镜头显示一堆树枝横跨一个泥泞的小水坑。\n\n第七个镜头显示更多茂盛的树叶和树枝在阳光下。\n\n第八个镜头显示更多茂盛的树叶和树枝。\n\n\n",
"narration": "接下来,我们的“挖土大师”又开始了他的森林探险。看这镜头,水滴在叶子上闪烁,仿佛在说:“快来,快来,这里有故事!”他一边挖洞,一边像个新手厨师试图切洋葱——每一下都小心翼翼,生怕自己不小心挖出个“历史遗址”。坐下休息的时候,脸上的表情就像发现新大陆一样!然后,他拿起斧头砍树枝,简直是现代版的“神雕侠侣”,只不过对象是树木。最后,那堆树枝架过泥泞的小水坑,仿佛在说:“我就是不怕湿脚的勇士!”这就是我们的建造之旅!",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
]
}'
{
"video_origin_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"video_script": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是视频画面的客观描述:\n\n视频展现一名留着胡须的男子在森林里挖掘。\n\n画面首先展现男子从后方视角背着军绿色背包穿着卡其色长裤和深色T恤走向一个泥土斜坡。背包上似乎有一个镐头。\n\n下一个镜头特写展现了该背包一个镐头从背包里伸出来包里还有一些其他工具。\n\n然后视频显示该男子用镐头挖掘泥土斜坡。\n\n接下来是一些近景镜头展现男子的靴子在泥土中行走以及男子用手清理泥土。\n\n其他镜头从不同角度展现该男子在挖掘包括从侧面和上方。\n\n可以看到他用工具挖掘清理泥土并检查挖出的土壤。\n\n最后一个镜头展现了挖出的土壤的质地和颜色。",
"narration": "好的,接下来就是我们这位“胡须大侠”的精彩冒险了!只见他背着军绿色的背包,迈着比我上班还不情愿的步伐走向那泥土斜坡。哎呀,这个背包可真是个宝贝,里面藏着一把镐头和一些工具,简直像是个随身携带的“建筑工具箱”! \n\n看他挥舞着镐头挖掘泥土的姿势仿佛在进行一场“挖土大赛”结果却比我做饭还要糟糕。泥土飞扬中他的靴子也成了“泥巴艺术家”。最后那堆色泽各异的土壤就像他心情的写照——五彩斑斓又略显混乱真是一次让人捧腹的建造之旅",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是视频画面的客观描述:\n\n视频以一系列森林环境的镜头开头。\n\n第一个镜头是一个特写镜头镜头中显示的是一些带有水滴的绿色叶子。\n\n第二个镜头显示一个留着胡须的男子在森林中挖掘一个洞。 他跪在地上,用工具挖土。\n\n第三个镜头是一个中等镜头显示同一个人坐在他挖好的洞边休息。\n\n第四个镜头显示该洞的内部结构该洞在树根和地面之间。\n\n第五个镜头显示该男子用斧头砍树枝。\n\n第六个镜头显示一堆树枝横跨一个泥泞的小水坑。\n\n第七个镜头显示更多茂盛的树叶和树枝在阳光下。\n\n第八个镜头显示更多茂盛的树叶和树枝。\n\n\n",
"narration": "接下来,我们的“挖土大师”又开始了他的森林探险。看这镜头,水滴在叶子上闪烁,仿佛在说:“快来,快来,这里有故事!”他一边挖洞,一边像个新手厨师试图切洋葱——每一下都小心翼翼,生怕自己不小心挖出个“历史遗址”。坐下休息的时候,脸上的表情就像发现新大陆一样!然后,他拿起斧头砍树枝,简直是现代版的“神雕侠侣”,只不过对象是树木。最后,那堆树枝架过泥泞的小水坑,仿佛在说:“我就是不怕湿脚的勇士!”这就是我们的建造之旅!",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
]
}
请求3
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/scripts/start-subclip?task_id=12121' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"request": {
"video_clip_json": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是视频画面的客观描述:\n\n视频展现一名留着胡须的男子在森林里挖掘。\n\n画面首先展现男子从后方视角背着军绿色背包穿着卡其色长裤和深色T恤走向一个泥土斜坡。背包上似乎有一个镐头。\n\n下一个镜头特写展现了该背包一个镐头从背包里伸出来包里还有一些其他工具。\n\n然后视频显示该男子用镐头挖掘泥土斜坡。\n\n接下来是一些近景镜头展现男子的靴子在泥土中行走以及男子用手清理泥土。\n\n其他镜头从不同角度展现该男子在挖掘包括从侧面和上方。\n\n可以看到他用工具挖掘清理泥土并检查挖出的土壤。\n\n最后一个镜头展现了挖出的土壤的质地和颜色。",
"narration": "好的,接下来就是我们这位“胡须大侠”的精彩冒险了!只见他背着军绿色的背包,迈着比我上班还不情愿的步伐走向那泥土斜坡。哎呀,这个背包可真是个宝贝,里面藏着一把镐头和一些工具,简直像是个随身携带的“建筑工具箱”! \n\n看他挥舞着镐头挖掘泥土的姿势仿佛在进行一场“挖土大赛”结果却比我做饭还要糟糕。泥土飞扬中他的靴子也成了“泥巴艺术家”。最后那堆色泽各异的土壤就像他心情的写照——五彩斑斓又略显混乱真是一次让人捧腹的建造之旅",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是视频画面的客观描述:\n\n视频以一系列森林环境的镜头开头。\n\n第一个镜头是一个特写镜头镜头中显示的是一些带有水滴的绿色叶子。\n\n第二个镜头显示一个留着胡须的男子在森林中挖掘一个洞。 他跪在地上,用工具挖土。\n\n第三个镜头是一个中等镜头显示同一个人坐在他挖好的洞边休息。\n\n第四个镜头显示该洞的内部结构该洞在树根和地面之间。\n\n第五个镜头显示该男子用斧头砍树枝。\n\n第六个镜头显示一堆树枝横跨一个泥泞的小水坑。\n\n第七个镜头显示更多茂盛的树叶和树枝在阳光下。\n\n第八个镜头显示更多茂盛的树叶和树枝。\n\n\n",
"narration": "接下来,我们的“挖土大师”又开始了他的森林探险。看这镜头,水滴在叶子上闪烁,仿佛在说:“快来,快来,这里有故事!”他一边挖洞,一边像个新手厨师试图切洋葱——每一下都小心翼翼,生怕自己不小心挖出个“历史遗址”。坐下休息的时候,脸上的表情就像发现新大陆一样!然后,他拿起斧头砍树枝,简直是现代版的“神雕侠侣”,只不过对象是树木。最后,那堆树枝架过泥泞的小水坑,仿佛在说:“我就是不怕湿脚的勇士!”这就是我们的建造之旅!",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
],
"video_clip_json_path": "E:\\projects\\NarratoAI\\resource\\scripts\\2024-1118-230421.json",
"video_origin_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"video_aspect": "16:9",
"video_language": "zh-CN",
"voice_name": "zh-CN-YunjianNeural",
"voice_volume": 1,
"voice_rate": 1.2,
"voice_pitch": 1,
"bgm_name": "random",
"bgm_type": "random",
"bgm_file": "",
"bgm_volume": 0.3,
"subtitle_enabled": true,
"subtitle_position": "bottom",
"font_name": "STHeitiMedium.ttc",
"text_fore_color": "#FFFFFF",
"text_background_color": "transparent",
"font_size": 75,
"stroke_color": "#000000",
"stroke_width": 1.5,
"custom_position": 70,
"n_threads": 8
},
"subclip_videos": {
"00:10-01:01": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-00_10-01_01.mp4",
"01:07-01:53": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-01_07-01_53.mp4"
}
}'
{
"request": {
"video_clip_json": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是视频画面的客观描述:\n\n视频展现一名留着胡须的男子在森林里挖掘。\n\n画面首先展现男子从后方视角背着军绿色背包穿着卡其色长裤和深色T恤走向一个泥土斜坡。背包上似乎有一个镐头。\n\n下一个镜头特写展现了该背包一个镐头从背包里伸出来包里还有一些其他工具。\n\n然后视频显示该男子用镐头挖掘泥土斜坡。\n\n接下来是一些近景镜头展现男子的靴子在泥土中行走以及男子用手清理泥土。\n\n其他镜头从不同角度展现该男子在挖掘包括从侧面和上方。\n\n可以看到他用工具挖掘清理泥土并检查挖出的土壤。\n\n最后一个镜头展现了挖出的土壤的质地和颜色。",
"narration": "好的,接下来就是我们这位“胡须大侠”的精彩冒险了!只见他背着军绿色的背包,迈着比我上班还不情愿的步伐走向那泥土斜坡。哎呀,这个背包可真是个宝贝,里面藏着一把镐头和一些工具,简直像是个随身携带的“建筑工具箱”! \n\n看他挥舞着镐头挖掘泥土的姿势仿佛在进行一场“挖土大赛”结果却比我做饭还要糟糕。泥土飞扬中他的靴子也成了“泥巴艺术家”。最后那堆色泽各异的土壤就像他心情的写照——五彩斑斓又略显混乱真是一次让人捧腹的建造之旅",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是视频画面的客观描述:\n\n视频以一系列森林环境的镜头开头。\n\n第一个镜头是一个特写镜头镜头中显示的是一些带有水滴的绿色叶子。\n\n第二个镜头显示一个留着胡须的男子在森林中挖掘一个洞。 他跪在地上,用工具挖土。\n\n第三个镜头是一个中等镜头显示同一个人坐在他挖好的洞边休息。\n\n第四个镜头显示该洞的内部结构该洞在树根和地面之间。\n\n第五个镜头显示该男子用斧头砍树枝。\n\n第六个镜头显示一堆树枝横跨一个泥泞的小水坑。\n\n第七个镜头显示更多茂盛的树叶和树枝在阳光下。\n\n第八个镜头显示更多茂盛的树叶和树枝。\n\n\n",
"narration": "接下来,我们的“挖土大师”又开始了他的森林探险。看这镜头,水滴在叶子上闪烁,仿佛在说:“快来,快来,这里有故事!”他一边挖洞,一边像个新手厨师试图切洋葱——每一下都小心翼翼,生怕自己不小心挖出个“历史遗址”。坐下休息的时候,脸上的表情就像发现新大陆一样!然后,他拿起斧头砍树枝,简直是现代版的“神雕侠侣”,只不过对象是树木。最后,那堆树枝架过泥泞的小水坑,仿佛在说:“我就是不怕湿脚的勇士!”这就是我们的建造之旅!",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
],
"video_clip_json_path": "E:\\projects\\NarratoAI\\resource\\scripts\\2024-1118-230421.json",
"video_origin_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"video_aspect": "16:9",
"video_language": "zh-CN",
"voice_name": "zh-CN-YunjianNeural",
"voice_volume": 1,
"voice_rate": 1.2,
"voice_pitch": 1,
"bgm_name": "random",
"bgm_type": "random",
"bgm_file": "",
"bgm_volume": 0.3,
"subtitle_enabled": true,
"subtitle_position": "bottom",
"font_name": "STHeitiMedium.ttc",
"text_fore_color": "#FFFFFF",
"text_background_color": "transparent",
"font_size": 75,
"stroke_color": "#000000",
"stroke_width": 1.5,
"custom_position": 70,
"n_threads": 8
},
"subclip_videos": {
"00:10-01:01": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-00_10-01_01.mp4",
"01:07-01:53": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-01_07-01_53.mp4"
}
}
请在最外层新建一个pipeline 工作流执行逻辑的代码;
他会按照下面的顺序请求接口
1.下载视频
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/youtube/download' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://www.youtube.com/watch?v=Kenm35gdqtk",
"resolution": "1080p",
"output_format": "mp4",
"rename": "2024-11-19"
}'
2.生成脚本
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/scripts/generate' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"video_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"skip_seconds": 0,
"threshold": 30,
"vision_batch_size": 10,
"vision_llm_provider": "gemini"
}'
3. 剪辑视频
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/scripts/crop' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"video_origin_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"video_script": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是视频画面的客观描述:\n\n视频展现一名留着胡须的男子在森林里挖掘。\n\n画面首先展现男子从后方视角背着军绿色背包穿着卡其色长裤和深色T恤走向一个泥土斜坡。背包上似乎有一个镐头。\n\n下一个镜头特写展现了该背包一个镐头从背包里伸出来包里还有一些其他工具。\n\n然后视频显示该男子用镐头挖掘泥土斜坡。\n\n接下来是一些近景镜头展现男子的靴子在泥土中行走以及男子用手清理泥土。\n\n其他镜头从不同角度展现该男子在挖掘包括从侧面和上方。\n\n可以看到他用工具挖掘清理泥土并检查挖出的土壤。\n\n最后一个镜头展现了挖出的土壤的质地和颜色。",
"narration": "好的,接下来就是我们这位“胡须大侠”的精彩冒险了!只见他背着军绿色的背包,迈着比我上班还不情愿的步伐走向那泥土斜坡。哎呀,这个背包可真是个宝贝,里面藏着一把镐头和一些工具,简直像是个随身携带的“建筑工具箱”! \n\n看他挥舞着镐头挖掘泥土的姿势仿佛在进行一场“挖土大赛”结果却比我做饭还要糟糕。泥土飞扬中他的靴子也成了“泥巴艺术家”。最后那堆色泽各异的土壤就像他心情的写照——五彩斑斓又略显混乱真是一次让人捧腹的建造之旅",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是视频画面的客观描述:\n\n视频以一系列森林环境的镜头开头。\n\n第一个镜头是一个特写镜头镜头中显示的是一些带有水滴的绿色叶子。\n\n第二个镜头显示一个留着胡须的男子在森林中挖掘一个洞。 他跪在地上,用工具挖土。\n\n第三个镜头是一个中等镜头显示同一个人坐在他挖好的洞边休息。\n\n第四个镜头显示该洞的内部结构该洞在树根和地面之间。\n\n第五个镜头显示该男子用斧头砍树枝。\n\n第六个镜头显示一堆树枝横跨一个泥泞的小水坑。\n\n第七个镜头显示更多茂盛的树叶和树枝在阳光下。\n\n第八个镜头显示更多茂盛的树叶和树枝。\n\n\n",
"narration": "接下来,我们的“挖土大师”又开始了他的森林探险。看这镜头,水滴在叶子上闪烁,仿佛在说:“快来,快来,这里有故事!”他一边挖洞,一边像个新手厨师试图切洋葱——每一下都小心翼翼,生怕自己不小心挖出个“历史遗址”。坐下休息的时候,脸上的表情就像发现新大陆一样!然后,他拿起斧头砍树枝,简直是现代版的“神雕侠侣”,只不过对象是树木。最后,那堆树枝架过泥泞的小水坑,仿佛在说:“我就是不怕湿脚的勇士!”这就是我们的建造之旅!",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
]
}'
4.生成视频
curl -X 'POST' \
'http://127.0.0.1:8080/api/v2/scripts/start-subclip?task_id=12121' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"request": {
"video_clip_json": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是视频画面的客观描述:\n\n视频展现一名留着胡须的男子在森林里挖掘。\n\n画面首先展现男子从后方视角背着军绿色背包穿着卡其色长裤和深色T恤走向一个泥土斜坡。背包上似乎有一个镐头。\n\n下一个镜头特写展现了该背包一个镐头从背包里伸出来包里还有一些其他工具。\n\n然后视频显示该男子用镐头挖掘泥土斜坡。\n\n接下来是一些近景镜头展现男子的靴子在泥土中行走以及男子用手清理泥土。\n\n其他镜头从不同角度展现该男子在挖掘包括从侧面和上方。\n\n可以看到他用工具挖掘清理泥土并检查挖出的土壤。\n\n最后一个镜头展现了挖出的土壤的质地和颜色。",
"narration": "好的,接下来就是我们这位“胡须大侠”的精彩冒险了!只见他背着军绿色的背包,迈着比我上班还不情愿的步伐走向那泥土斜坡。哎呀,这个背包可真是个宝贝,里面藏着一把镐头和一些工具,简直像是个随身携带的“建筑工具箱”! \n\n看他挥舞着镐头挖掘泥土的姿势仿佛在进行一场“挖土大赛”结果却比我做饭还要糟糕。泥土飞扬中他的靴子也成了“泥巴艺术家”。最后那堆色泽各异的土壤就像他心情的写照——五彩斑斓又略显混乱真是一次让人捧腹的建造之旅",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是视频画面的客观描述:\n\n视频以一系列森林环境的镜头开头。\n\n第一个镜头是一个特写镜头镜头中显示的是一些带有水滴的绿色叶子。\n\n第二个镜头显示一个留着胡须的男子在森林中挖掘一个洞。 他跪在地上,用工具挖土。\n\n第三个镜头是一个中等镜头显示同一个人坐在他挖好的洞边休息。\n\n第四个镜头显示该洞的内部结构该洞在树根和地面之间。\n\n第五个镜头显示该男子用斧头砍树枝。\n\n第六个镜头显示一堆树枝横跨一个泥泞的小水坑。\n\n第七个镜头显示更多茂盛的树叶和树枝在阳光下。\n\n第八个镜头显示更多茂盛的树叶和树枝。\n\n\n",
"narration": "接下来,我们的“挖土大师”又开始了他的森林探险。看这镜头,水滴在叶子上闪烁,仿佛在说:“快来,快来,这里有故事!”他一边挖洞,一边像个新手厨师试图切洋葱——每一下都小心翼翼,生怕自己不小心挖出个“历史遗址”。坐下休息的时候,脸上的表情就像发现新大陆一样!然后,他拿起斧头砍树枝,简直是现代版的“神雕侠侣”,只不过对象是树木。最后,那堆树枝架过泥泞的小水坑,仿佛在说:“我就是不怕湿脚的勇士!”这就是我们的建造之旅!",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
],
"video_clip_json_path": "E:\\projects\\NarratoAI\\resource\\scripts\\2024-1118-230421.json",
"video_origin_path": "E:\\projects\\NarratoAI\\resource\\videos\\test.mp4",
"video_aspect": "16:9",
"video_language": "zh-CN",
"voice_name": "zh-CN-YunjianNeural",
"voice_volume": 1,
"voice_rate": 1.2,
"voice_pitch": 1,
"bgm_name": "random",
"bgm_type": "random",
"bgm_file": "",
"bgm_volume": 0.3,
"subtitle_enabled": true,
"subtitle_position": "bottom",
"font_name": "STHeitiMedium.ttc",
"text_fore_color": "#FFFFFF",
"text_background_color": "transparent",
"font_size": 75,
"stroke_color": "#000000",
"stroke_width": 1.5,
"custom_position": 70,
"n_threads": 8
},
"subclip_videos": {
"00:10-01:01": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-00_10-01_01.mp4",
"01:07-01:53": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-01_07-01_53.mp4"
}
}'
请求1返回的参数是
{
"task_id": "4e9b575f-68c0-4ae1-b218-db42b67993d0",
"output_path": "E:\\projects\\NarratoAI\\resource\\videos\\2024-11-19.mp4",
"resolution": "1080p",
"format": "mp4",
"filename": "2024-11-19.mp4"
}
output_path需要传递给请求2
请求2返回数据为
{
"task_id": "04497017-953c-44b4-bf1d-9d8ed3ebbbce",
"script": [
{
"timestamp": "00:10-01:01",
"picture": "好的,以下是對影片畫面的客觀描述:\n\n影片顯示一名留著鬍鬚的男子在一處樹林茂密的斜坡上挖掘。\n\n畫面一男子從後方出現背著一個軍綠色的背包背包裡似乎裝有工具。他穿著卡其色的長褲和深色的登山鞋。\n\n畫面二特寫鏡頭顯示男子的背包一個舊的鎬頭從包裡露出來包裡還有其他工具包括一個鏟子。\n\n畫面三男子用鎬頭在斜坡上挖土背包放在他旁邊。\n\n畫面四特寫鏡頭顯示男子的登山鞋在泥土中。\n\n畫面五男子坐在斜坡上用手清理樹根和泥土。\n\n畫面六地上有一些鬆動的泥土和落葉。\n\n畫面七男子的背包近景鏡頭他正在挖掘。\n\n畫面八男子在斜坡上挖掘揚起一陣塵土。\n\n畫面九特寫鏡頭顯示男子用手清理泥土。\n\n畫面十特寫鏡頭顯示挖出的泥土剖面可以看到土壤的層次。",
"narration": "上一个画面是我在绝美的自然中,准备开启我的“土豪”挖掘之旅。现在,你们看到这位留着胡子的“大哥”,他背着个军绿色的包,里面装的可不仅仅是工具,还有我对生活的无限热爱(以及一丝不安)。看!这把旧镐头就像我的前任——用起来费劲,但又舍不得扔掉。\n\n他在斜坡上挖土泥土飞扬仿佛在跟大地进行一场“泥巴大战”。每一铲下去都能听到大地微微的呻吟哎呀我这颗小树根可比我当年的情感纠葛还难处理呢别担心这些泥土层次分明简直可以开个“泥土博物馆”。所以朋友们跟着我一起享受这场泥泞中的乐趣吧",
"OST": 2,
"new_timestamp": "00:00-00:51"
},
{
"timestamp": "01:07-01:53",
"picture": "好的,以下是對影片畫面內容的客觀描述:\n\n影片以一系列森林環境的鏡頭開始。第一個鏡頭展示了綠葉植物的特寫鏡頭葉子上有一些水珠。接下來的鏡頭是一個男人在森林裡挖掘一個小坑他跪在地上用鏟子挖土。\n\n接下來的鏡頭是同一個男人坐在他挖的坑旁邊望著前方。然後鏡頭顯示該坑的廣角鏡頭顯示其結構和大小。\n\n之後的鏡頭同一個男人在樹林裡劈柴。鏡頭最後呈現出一潭渾濁的水周圍環繞著樹枝。然後鏡頭又回到了森林裡生長茂盛的植物特寫鏡頭。",
"narration": "好嘞,朋友们,我们已经在泥土博物馆里捣鼓了一阵子,现在是时候跟大自然亲密接触了!看看这片森林,绿叶上水珠闪闪发光,就像我曾经的爱情,虽然短暂,却美得让人心碎。\n\n现在我在这里挖个小坑感觉自己就像是一位新晋“挖土大王”不过说实话这手艺真不敢恭维连铲子都快对我崩溃了。再说劈柴这动作简直比我前任的情绪波动还要激烈最后这一潭浑浊的水别担心它只是告诉我生活就像这水总有些杂质但也别忘了要勇敢面对哦",
"OST": 2,
"new_timestamp": "00:51-01:37"
}
]
}
output_path和script参数需要传递给请求3
请求3返回参数是
{
"task_id": "b6f5a98a-b2e0-4e3d-89c5-64fb90db2ec1",
"subclip_videos": {
"00:10-01:01": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-00_10-01_01.mp4",
"01:07-01:53": "E:\\projects\\NarratoAI\\storage\\cache_videos/vid-01_07-01_53.mp4"
}
}
subclip_videos和 output_path和script参数需要传递给请求4
最后完成工作流
0代表只播放文案音频禁用视频原声1代表只播放视频原声不需要播放文案音频和字幕2代表即播放文案音频也要播放视频原声