【样品】《我在东北立堂口》图生图半自动版SD一键成片
操作步骤&环境配置地址:
【NovelAI】月产10000+全自动批量原创小说短视频支持文生图和视频克隆
该文章面向购买脚本的付费用户,提供所有问题以及解决办法。使用 notepad++ 打开对应的文件即可,软件自行百度下载。
使用出现问题查看这里【NovelAI 小说SD批量生成 文生图/视频克隆】问题汇总&解决办法
数据文件配置
任务文件
整个项目包中的路径 不能有中文,不能有中文,不能有中文, 文件位置 task_menu/task.xlsx
。
数据格式如下
- content 是用工具下载抖音短视频原标题的名称
- video_id 是处理这个项目的视频名称,这个要把对应采集的视频改成这个ID名称,比如视频信息是
7196673177487985920-三更说漫丶-不能轮回转世的痛苦 灵异故事 民间故事 漫画解说 二次元
那么video_id 就是7196673177487985920
,对应视频文件要改成7196673177487985920.mp4
- collections_name 是视频合集的名称,这个可以自定义,如果需要AE编辑配置文件的话这里要用英文。
- en_name 是每个故事的文件夹,这里用英文。
- cn_name 是你给这个视频重新奇的名称,可以换成你小说授权申请的关键词+视频故事这样。
- status 用于管理任务,是一个下拉选项,如果这里选择已完成,则该行数据不会出现在生成任务重。
前期不会操作的建议一个一个来熟练之后批量操作。
前期不会操作的建议一个一个来熟练之后批量操作。
前期不会操作的建议一个一个来熟练之后批量操作。
系统环境配置
整个项目包中的路径 不能有中文,不能有中文,不能有中文, 文件位置 config
下。
authenticate.py
这里设置用户名和密码是购买脚本后管理员发放的,直接填写替换掉对应 你的用户名
和 你的密码
部分的内容就好。
UserData = {
'username': '你的用户名', # 填写你的用户名
'password': '你的密码', # 填写你的密码
}
whisper.py
字幕识别配置,模型选择根据自己的机器显存选择。
- 24G显存建议选择
large-v2
。 - 16G显存建议选择
large-v1
。 - 8G显存建议选择
large
。 - 8G以下自己想办法吧。
# 可选项有 "medium","large-v1","large-v2","large"
whisper_model = "large-v1"
# whisper 路径
# pip install git+https://github.com/openai/whisper.git
whisper_exe_path = "H:\\MyEnvsProject\\whisper\\Scripts\\whisper.exe"
whisper_model_path = "H:\\NovelAI\\UserEdition\\sell_NovelAI_video2video\\whisper_model\\"
ChatGPT35.py
这部分暂时没用。
SD.py
关键词分前缀和负面,用于控制你的画面风格和不想要的画面。自行在SD中测试好即可,前缀的意思是通过GPT35生成的关键词会加在tag_prefix
后面,进行AI绘画。
# 绘画关键词前缀
PROMPT = "best quality ,masterpiece, illustration, an extremely delicate and beautiful, extremely detailed ,CG ,unity ,8k wallpaper, "
# 绘画负面通用词
NEGATIVE_PROMPT = "NSFW,sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy,(long hair:1.4),DeepNegative,(fat:1.2),facing away, looking away,tilted head, {Multiple people}, lowres,bad anatomy,bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worstquality, low quality, normal quality,jpegartifacts,signature, watermark, username,blurry,bad feet,cropped,poorly drawn hands,poorly drawn face,mutation,deformed,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,extra fingers,fewer digits,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,text,error,missing fingers,missing arms,missing legs,extra digit, extra arms, extra leg, extra foot,"
视频分辨率设置,这里不要超过SD网页的最大分辨率。同样视频最终生成的分辨率也是基于这个。
sd_image_width = 1920 # 图片宽度
sd_image_height = 1080 # 图片高度
设置SD绘画图像的采样方法。
sd_sampler = "Euler a" # 生成图片采样方法,这里不会改就别动
视频格式,横版&竖版。
video_format = 'w' # h为竖版,w为横版
设置图片移动的速度,即视频中图片关键帧的移动速度。
image_speed = 10 # 这个没法解释自己试一下吧
TTS.py
微软TTS文本转语音,需要自己有一张VISA,不明白是啥自行百度,微软申请账号需要。
微软TTS文本转语音,这里必须选择eastus服务器,申请好API之后填写即可。
# 微软TTS APIkey
# 申请地址 https://azure.microsoft.com/zh-cn/products/cognitive-services/text-to-speech/
apiKey = "你的API" # 这里换成你的API
AccessTokenHost = "eastus.api.cognitive.microsoft.com" # 必须选择 eastus 服务器
如果自己没有办法申请自己的API,可有偿提供封装API,这里就无视即可。
微软语音选择,这部分代码不要动。
# 声音配置
name_dict = {'HiuGaai': 'zh-HK, HiuGaaiNeural', 'HiuMaan': 'zh-HK, HiuMaanNeural', 'WanLung': 'zh-HK, WanLungNeural',
'Xiaoxiao': 'zh-CN, XiaoxiaoNeural', 'Xiaoyou': 'zh-CN, XiaoyouNeural', 'Xiaomo': 'zh-CN, XiaomoNeural',
'Xiaoxuan': 'zh-CN, XiaoxuanNeural', 'Xiaohan': 'zh-CN, XiaohanNeural', 'Xiaorui': 'zh-CN, XiaoruiNeural',
'Yunyang': 'zh-CN, YunyangNeural', 'Yunye': 'zh-CN, YunyeNeural', 'Yunxi': 'zh-CN, YunxiNeural',
'HsiaoChen': 'zh-TW, HsiaoChenNeural', 'HsiaoYu': 'zh-TW, HsiaoYuNeural', 'YunJhe': 'zh-TW, YunJheNeural'}
# 语气
style_dict = {'兴奋': 'advertisement_upbeat', '高音调': 'affectionate', '厌恶': 'angry', '热情': 'customerservice', '冷静': 'calm',
'轻松': 'chat', '愉快': 'cheerful', '忧郁': 'depressed', '轻蔑': 'disgruntled', '纪录片': 'documentary-narration',
'犹豫': 'embarrassed', '关切': 'empathetic', '钦佩': 'envious', '希望': 'excited', '紧张': 'fearful',
'愉悦': 'friendly', '温和': 'hopeful', '优美': 'lyrical', '朗读': 'narration-professional',
'阅读': 'narration-relaxed', '新闻': 'newscast', '通用': 'newscast-casual', '权威': 'newscast-formal',
'快节奏': 'poetry-reading', '悲伤': 'sad', '严肃': 'serious', '高声': 'shouting', '赛事': 'sports_commentary',
'精彩': 'sports_commentary_excited', '柔和': 'whispering', '疯狂': 'terrified', '无情': 'unfriendly'}
role_dict = {'女孩': 'Girl', '男孩': 'Boy', '年轻的成年女性': 'YoungAdultFemale', '年轻的成年男性': 'YoungAdultMale',
'年长的成年女性': 'OlderAdultFemale', '年长的成年男性': 'OlderAdultMale', '年老女性': 'SeniorFemale', '年老男性': 'SeniorMale'}
gender_dict = {'男': 'Male', '女': 'Female'}
上面的格式是这样的,大括号{ }
中以每个,
断开来看,:
前面是你要复制的信息,后面是对应这个信息的解释。
例如想使用云希的声音在name_dict
中复制
到下面如何修改在这里这里,其他的依次类推,目前支持自定义修改,但是有的声音配置可能不支持,比如云希不会有女人声音这样,具体慢慢尝试或者百度即可。
# 设置配置,这里自行选择,有的可能无法生成,尽量选择通用方法是
# 发音人声音
name = name_dict["Yunxi"]
# 说话风格
style = style_dict["纪录片"]
# 性别
gender = gender_dict["男"]
audio_rate = '1.4' # 生成音频的速度 1.4 表示1.4倍,修改''中间的数字
jianying.py
剪映配置路径,例如我的路径是这样的。
这个路径也是AE生成配置文件的路径。
# 剪映需要的完整路径
full_path = "H:\\NovelAI\\User Edition\\sell_NovelAI_txt2video"
这个配置不对,剪映的配置文件会出错。
视频批量下载
这部分内容容易被和谐自己看图吧。
使用方法
【通用】step1_按表单分配任务.bat
执行该脚本是将task_menu/task.xlsx
下的未完成的文章进行断句操作。
会在data_story/
下生成你表格中定义的collection_name
和en_name
文件夹,在该项目下会自动生成一个captions
文件夹。
这里是通过whisper进行字幕提取操作。
会生成如下文件。
【通用】自己洗稿
新建一个文本文件,文件名为 new_ + video_id
+ .txt。
【通用】step3_生成每个项目的表单.bat
会在data_story/
下生成你表格中定义的collection_name
和en_name
文件夹,在该项目下会自动生成一个captions
文件夹下有一个excel表格。
这个是需要处理的工程文件目录,不要动这个表格。
【通用】step4_根据项目表单提取画面.bat
会在data_story/
下生成你表格中定义的collection_name
和en_name
文件夹,在该项目下会自动生成一个video_source_img
文件夹下对画面进行截图然后通过SD重绘。
这里需要自己调试截取的像素点,在SD.py中配置。
# 设置截取画面的坐标
# # 提取坐标如果需要
x1, y1 = 0, 0 # 左上角像素点
x2, y2 =630 , 1280 # 右下角像素点
【通用】step5_使用TTS生成语音.bat
需要在配置文件中使用你的微软文字转语音API,使用微软的API生成语音文件。
会在你生成项目也就是故事的文件夹
生成2个目录audio_wav
,each_audio_wav
,确保里面的音频文件都有声音即可,在生成界面会看到返回结果为200,即可。
在文件夹下会生成对应的音频文件,脚本设置的已经生成的会跳过,如果音频文件没有声音请删除重新执行脚本。
【通用】step6_SD绘画,开启SD端口默认7680.bat
需要提前打开Stable Diffusion环境,并开启API模型。启动命令行显示这样就表示可以了。
在网页上选择你需要的模型,之后页面就可以关掉了。
启动脚本即可,会自动的进行绘画,基于前面API生成的关键词。生成图片在data_story/
下生成你表格中定义的collection_name
和en_name
文件夹下生成video_source_sd_img
图片文件。
【通用】step7_随机挑选图片成视频封面.bat
执行该脚本会在data_story/
下生成你表格中定义的collction
和en_name
文件夹下生成data_png
图片文件中随机挑选一张作为视频封面,保存在result
中。
【通用】step8_批量合并视频,依次合成.bat
以上图片和音频都生成好了直接点击该脚本合成视频。机器不好的不要在task表格中少选几个,用于一次合成N个视频,不需要一个一个等待合成。
【通用】step9_生成剪映可编辑文件
执行该脚本会在data_story/
下生成你表格中定义的collection
和en_name
文件夹下生成result
生成一个剪映的配置文件draft_content.json
,这个文件仍到你剪映的项目中打开就会看到图文适配音频的工程时间轴,方便后期二次加工。
【通用】step9_生产AE配置文件.bat
执行该脚本会在data_story/
下生成你表格中定义的type
和en_name
文件夹下生成result
生成一个剪映的配置文件AE_script.jsx
,这个文件仍到你剪映的项目中打开就会看到图文适配音频的工程时间轴,方便后期二次加工。
这里的文件路径不要有中文,建议在第一步切分的时候设置type中不要有中文
打开AE直接在按照下图,打开脚本。
然后在编辑主轴中会显示这样。