基于AIGC的文本生成视频系统:从架构设计到工程实践
1. 项目概述从文本到视频的自动化创作最近在折腾一个挺有意思的项目叫“TextCreateVideo”直译过来就是“文本生成视频”。这玩意儿听起来像是科幻电影里的概念但现在已经有不少开源项目在尝试落地了。我关注的这个Anning01/TextCreateVideo仓库就是一个典型的实践案例。简单来说它的核心目标就是让你输入一段描述性的文字比如“一只橘猫在阳光下的窗台上打盹”然后系统能自动生成一段匹配这个描述的短视频。这背后的需求其实非常广泛。对于内容创作者来说每天绞尽脑汁想文案、拍素材、剪辑是个体力活。如果能用AI辅助把写好的文章大纲甚至全文快速转化成吸引眼球的视频效率能提升好几个量级。对于电商、教育、营销这些领域批量制作产品介绍、知识讲解视频也能大大降低成本。这个项目就是瞄准了这个痛点试图搭建一个从文本描述到视频成片的自动化流水线。它的技术栈并不单一是一个典型的“组装”式项目。通常会涉及到自然语言处理NLP来理解你的文本计算机视觉CV来生成或检索合适的图像/视频片段以及最后的视频合成技术。整个过程就像个导演先读懂剧本文本理解然后找演员和布景素材生成/检索最后指挥拍摄和剪辑视频合成。接下来我就结合常见的实现路径和这个项目可能采用的技术点来深度拆解一下这里面的门道。2. 核心思路与技术选型解析2.1 整体架构设计流水线式的生成逻辑要实现文本生成视频最直观的思路就是设计一个分阶段的流水线。TextCreateVideo这类项目通常不会试图用一个模型“一口吃成胖子”而是拆解成几个可管理、可优化的子任务。一个典型的架构可能包含以下三个核心阶段文本理解与场景解析这是第一步也是关键的一步。系统需要从你输入的自由文本中提取出可用于指导视频生成的结构化信息。这不仅仅是关键词提取那么简单。比如输入“暴雨过后城市天际线出现一道彩虹”系统需要识别出主要场景城市天际线、天气状态暴雨过后、出现彩虹、时间可能是傍晚因为彩虹常与雨后阳光同时出现、情感基调清新、希望。更高级的解析还会尝试理解镜头语言比如“镜头缓缓拉近”、“特写”等描述。视觉素材生成与编排根据上一步解析出的结构化信息系统需要准备视频的“原材料”。这里通常有两条技术路径生成路径直接使用文生图Text-to-Image和文生视频Text-to-Video模型。例如用 Stable Diffusion、DALL-E 3 等模型生成关键帧或场景图片或者用 Runway、Pika 等视频生成模型直接生成短视频片段。这条路径创意自由度最高但成本高、对硬件要求高且生成结果的稳定性和连贯性挑战大。检索与合成路径从已有的庞大素材库如Pexels、Pixabay等开源视频库中根据解析出的场景关键词、物体、动作等检索出最匹配的现有视频片段。然后可能利用图像生成模型对检索到的素材进行风格统一化处理如统一色调、添加滤镜或者生成一些静态图片作为补充。这条路径成本低、速度快素材质量有保障但受限于素材库的丰富度创意可能受限。Anning01/TextCreateVideo项目很可能会采用一种混合策略对简单的、静态的场景使用生成模型对复杂的、动态的动作场景优先使用高质量素材库检索以平衡质量、速度和成本。视频合成与后处理有了素材之后就需要把它们组装成一段流畅的视频。这包括剪辑与排序确定素材片段的播放顺序和时长。转场效果添加淡入淡出、溶解等转场使切换更自然。配音与音效根据文本内容使用TTS文本转语音技术生成旁白并自动匹配环境音效如雨声、城市喧嚣和背景音乐。字幕叠加自动生成并同步字幕。调色与滤镜对整体视频进行颜色校正应用统一的视觉风格滤镜。2.2 关键技术组件选型考量在实际搭建时每个环节都有多种工具和模型可选选型背后是具体的权衡。文本解析层简单的项目可能直接用NLTK或spaCy进行实体识别和关键词抽取。但为了更好理解场景更倾向于使用像BERT、GPT系列的预训练模型进行更深度的语义理解。甚至可以直接用提示词工程调用ChatGPT或Claude的API让大语言模型将一段描述解析成一个结构化的JSON包含场景、主体、动作、情绪、镜头建议等字段。这种方式灵活性强理解深度好是目前比较流行的方案。视觉生成层文生图Stable Diffusion系列如 SDXL是开源领域的绝对主流生态丰富可控性强通过LoRA、ControlNet。闭源的DALL-E 3或Midjourney在图像质量和提示词遵循度上可能更优但成本高且可编程性差。项目若考虑开源和可定制SD是更可能的选择。文生视频目前开源视频生成模型如Stable Video Diffusion,ModelScope仍处于早期生成时长短几秒、分辨率低、连贯性问题多。因此许多实践项目会谨慎使用直接文生视频更多用于生成非常短的动态元素如烟雾、水流或作为素材检索的补充。Anning01/TextCreateVideo很可能以文生图素材检索为主文生视频为辅。素材检索这需要构建一个本地的或可联机的视频素材库并对每个素材片段进行详细的标签标注可以使用视觉识别模型如CLIP来辅助标注。检索时使用文本-图像匹配模型如CLIP本身来计算文本描述与素材标签/特征的相似度返回Top-K个最匹配的片段。视频合成层这里就是比较传统的工程领域了。FFmpeg是处理视频编码、解码、剪辑、合成的瑞士军刀几乎是不二之选。通过Python调用FFmpeg命令或使用moviepy库其底层也是FFmpeg可以高效地完成视频片段的拼接、转场、音频混合、字幕烧录等操作。对于更复杂的动态图形可能会用到Manim数学动画引擎或Blender三维创作但这对普通文本生成视频来说就太重了。注意技术选型的一个核心原则是“效果、速度、成本”的不可能三角。追求极致效果如电影级画面必然需要更强大的模型和算力牺牲速度和成本。作为开源项目Anning01/TextCreateVideo大概率会优先选择效果尚可、开源免费、社区支持好的组件确保普通开发者能在消费级显卡甚至CPU上跑起来哪怕生成一段视频需要几分钟。3. 实操搭建一步步构建你的文本生成视频系统假设我们要从零开始构建一个类似TextCreateVideo的简易系统。以下是一个基于混合策略文生图 素材检索 TTS的可实操方案。3.1 环境准备与依赖安装首先我们需要一个Python环境建议3.8以上。创建一个新的虚拟环境是个好习惯。# 创建并激活虚拟环境以conda为例 conda create -n text2video python3.10 conda activate text2video接下来安装核心依赖。这里会涉及深度学习框架、图像生成、视频处理等库。# 安装PyTorch请根据你的CUDA版本去官网选择对应命令 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装Diffusers用于运行Stable Diffusion和Transformers pip install diffusers transformers accelerate # 安装图像处理库 pip install Pillow opencv-python # 安装视频处理库moviepy依赖于FFmpeg需确保系统已安装FFmpeg pip install moviepy # 安装CLIP用于文本-图像匹配素材检索的关键 pip install ftfy regex tqdm pip install githttps://github.com/openai/CLIP.git # 安装其他工具库 pip install requests numpy scipy关键点说明FFmpeg必须单独安装。在Ubuntu上可以用sudo apt install ffmpeg在Mac上可以用brew install ffmpeg在Windows上需要去官网下载二进制文件并添加到系统PATH。安装diffusers和transformers时accelerate库有助于优化模型加载和推理速度特别是在内存有限的条件下。CLIP直接从GitHub安装可以确保获得最新版本兼容性更好。3.2 核心模块一文本解析与分镜脚本生成我们不会自己训练一个复杂的解析模型而是利用现成的大语言模型LLMAPI来完成这个高级任务。这里以调用 OpenAI GPT-4 API 为例你也可以用开源的 Llama 3 等模型但需要本地部署。import openai import json # 设置你的API Key请替换为你的实际密钥注意保密 openai.api_key your-api-key-here def parse_text_to_storyboard(text_description): 将文本描述解析为结构化的分镜脚本。 prompt f 你是一个专业的视频导演。请将以下描述解析为一个视频分镜脚本以JSON格式输出。 描述{text_description} 输出JSON格式要求 {{ scenes: [ {{ scene_id: 1, description: 对该镜头的详细描述, main_subject: 主要物体/人物, action: 发生的动作, background: 背景环境, mood: 氛围/情绪, suggested_shot: 建议镜头如wide shot, close-up, panning, duration_estimate: 预估时长秒 }} ], overall_music_style: 整体音乐风格, voice_over_text: 根据描述总结的旁白文案 }} 请生成至少3个分镜场景。 try: response openai.ChatCompletion.create( modelgpt-4, messages[{role: user, content: prompt}], temperature0.7, ) result response.choices[0].message.content # 清理响应提取JSON部分 json_start result.find({) json_end result.rfind(}) 1 json_str result[json_start:json_end] storyboard json.loads(json_str) return storyboard except Exception as e: print(f解析文本时出错: {e}) # 退回简单关键词提取 return {scenes: [{description: text_description, main_subject: unknown}]} # 示例调用 if __name__ __main__: desc 一只橘猫在春日下午的阳光中于窗台上慵懒地伸展身体然后打了个大大的哈欠。窗外有绿色的植物。 board parse_text_to_storyboard(desc) print(json.dumps(board, indent2, ensure_asciiFalse))这个函数会返回一个包含多个场景shot的列表每个场景都有了更具体的视觉元素描述这比原始文本更适合指导后续的素材生成或检索。实操心得提示词工程是关键给LLM的指令越清晰输出的结构化结果就越可靠。你可以不断调整prompt来获得更符合视频制作需求的分镜脚本比如强制要求每个场景包含颜色、光影描述。备选方案如果不想用API可以考虑在本地部署一个中等规模的、微调过的开源LLM如Qwen-7B-Chat专门用于做这种结构化解析任务虽然效果可能略逊于GPT-4但数据隐私和成本更好控制。错误处理代码中包含了简单的错误处理。当API调用失败时回退到基础模式确保流程不中断。3.3 核心模块二视觉素材准备混合策略现在我们有了分镜脚本接下来为每个场景准备视觉素材。我们将实现一个混合策略先尝试从本地素材库检索如果找不到高质量匹配则用文生图模型生成。第一步构建简易素材检索系统假设我们有一个存放视频片段的文件夹video_clips/并且每个片段都有一个对应的文本描述文件或数据库。检索的核心是计算场景描述与素材描述的相似度。import clip import torch from PIL import Image import os # 加载CLIP模型 device cuda if torch.cuda.is_available() else cpu model, preprocess clip.load(ViT-B/32, devicedevice) def get_clip_text_feature(text): 获取文本的CLIP特征向量 text_inputs clip.tokenize([text]).to(device) with torch.no_grad(): text_features model.encode_text(text_inputs) return text_features.cpu().numpy() def search_video_clip(scene_description, clip_database): 在素材库中搜索最匹配的视频片段。 clip_database: 列表每个元素是字典包含 path 和 description text_feature get_clip_text_feature(scene_description) best_match None best_score -1 for clip_info in clip_database: # 假设我们已经预计算了所有素材的描述特征并存储起来这里模拟计算 clip_feature get_clip_text_feature(clip_info[description]) # 计算余弦相似度 similarity torch.cosine_similarity(torch.tensor(text_feature), torch.tensor(clip_feature), dim1).item() if similarity best_score: best_score similarity best_match clip_info # 设置一个相似度阈值低于则认为没有合适素材 if best_match and best_score 0.25: # 阈值需要根据实际情况调整 return best_match[path], best_score else: return None, best_score # 示例模拟一个素材库 video_database [ {path: video_clips/cat_sunny_window.mp4, description: a cat lying on a sunny windowsill}, {path: video_clips/plant_window_view.mp4, description: green plants near a window with sunlight}, {path: video_/city_rainbow.mp4, description: rainbow over city skyline after rain}, ] scene_desc a cat on a sunny windowsill matched_clip, score search_video_clip(scene_desc, video_database) print(f匹配到的片段: {matched_clip}, 相似度: {score})第二步集成文生图模型作为备选如果检索失败或相似度太低我们就启动Stable Diffusion来生成一张静态图片作为该场景的主画面。from diffusers import StableDiffusionPipeline import torch # 加载Stable Diffusion模型首次运行会下载需要较长时间和较大磁盘空间 model_id runwayml/stable-diffusion-v1-5 pipe StableDiffusionPipeline.from_pretrained(model_id, torch_dtypetorch.float16) pipe pipe.to(device) pipe.enable_attention_slicing() # 减少显存消耗适合低显存显卡 def generate_image_from_text(prompt, negative_promptNone, output_pathgenerated_scene.png): 使用SD生成图片 if negative_prompt is None: negative_prompt blurry, ugly, duplicate, poorly drawn, deformed, mosaic with torch.autocast(device): # 混合精度推理加快速度 image pipe( prompt, negative_promptnegative_prompt, height512, width768, # 适合视频的宽屏比例 num_inference_steps30, guidance_scale7.5 ).images[0] image.save(output_path) return output_path # 示例为场景生成图片 scene_prompt A ginger cat stretching lazily on a windowsill, afternoon sunlight, cozy atmosphere, photorealistic, 8k img_path generate_image_from_text(scene_prompt, output_pathscene1.png)混合策略决策逻辑def prepare_visual_for_scene(scene_info, video_db): 为单个场景准备视觉素材。 策略先检索检索不到或质量差则生成。 scene_desc scene_info[description] # 尝试检索 matched_video_path, similarity_score search_video_clip(scene_desc, video_db) if matched_video_path and similarity_score 0.28: # 检索成功 print(f场景 [{scene_info[scene_id]}] 使用检索视频: {matched_video_path} (得分: {similarity_score:.3f})) return {type: video, path: matched_video_path, duration: scene_info.get(duration_estimate, 5)} else: # 检索失败使用文生图 print(f场景 [{scene_info[scene_id]}] 未找到合适视频使用文生图生成。) # 构建更优质的生成提示词可以结合scene_info中的多个字段 gen_prompt f{scene_desc}, {scene_info.get(background,)}, {scene_info.get(mood,)}, photorealistic, high quality img_path generate_image_from_text(gen_prompt, output_pathfscene_{scene_info[scene_id]}.png) # 对于静态图片我们可以通过后期让它有轻微动态效果如缩放、平移 return {type: image, path: img_path, duration: scene_info.get(duration_estimate, 3)}注意事项素材库建设这是检索路径的瓶颈。你需要一个标注良好的视频片段库。可以手动整理也可以用视觉模型如使用CLIP或图像分类模型对大量视频进行自动打标然后建立索引。生成质量与成本文生图模型生成单张图片在消费级显卡如RTX 3060 12G上需要10-20秒。如果视频有10个场景全部生成就需要2-3分钟这是可以接受的。使用torch.float16半精度和enable_attention_slicing能有效降低显存占用。提示词优化给SD的提示词极大影响出图质量。通常需要包含“主体、环境、动作、风格、质量”等元素。可以从分镜脚本的多个字段组合构建提示词。3.4 核心模块三视频合成与音频处理现在我们已经为每个场景准备好了视觉素材可能是视频片段或图片接下来就是将它们合成一个完整的视频并加上音频。第一步使用MoviePy合成视频from moviepy.editor import VideoFileClip, ImageClip, concatenate_videoclips, CompositeVideoClip, AudioFileClip, TextClip from moviepy.video.fx.all import resize, fadein, fadeout import numpy as np def create_video_from_scenes(scene_assets, output_pathfinal_output.mp4): 将多个场景的素材合成为一个视频。 scene_assets: 列表每个元素是prepare_visual_for_scene返回的字典 clips [] for i, asset in enumerate(scene_assets): if asset[type] video: clip VideoFileClip(asset[path]) # 裁剪到指定时长 if clip.duration asset[duration]: clip clip.subclip(0, asset[duration]) else: # 如果视频短于预期可以循环填充简单处理 pass else: # image # 将图片转换为视频片段并添加Ken Burns效果缓慢缩放 img_clip ImageClip(asset[path]).set_duration(asset[duration]) # 添加缓慢放大效果 def zoom_in(t): scale 1 0.1 * (t / asset[duration]) # 随时间放大10% return scale img_clip img_clip.resize(lambda t: zoom_in(t)) clip img_clip # 统一分辨率例如设置为1080p clip resize(clip, height1080) # 添加淡入淡出转场除了第一个和最后一个 if i ! 0: clip fadein(clip, 0.5) if i ! len(scene_assets) - 1: clip fadeout(clip, 0.5) clips.append(clip) # 拼接所有片段 final_video concatenate_videoclips(clips, methodcompose) # 第二步添加音频旁白和背景音乐 # 生成旁白TTS voice_over_text 一只橘猫在春日的暖阳下享受着窗台的宁静。 # 这里应使用解析出的旁白文案 voice_over_path generate_voice_over(voice_over_text, fvoice_over.mp3) voice_audio AudioFileClip(voice_over_path) # 添加背景音乐假设有一首无版权的音乐文件 bgm AudioFileClip(background_music.mp3).volumex(0.3) # 降低音量 # 循环背景音乐以适应视频长度 bgm bgm.loop(durationfinal_video.duration) # 混合音频旁白叠加在背景音乐上 final_audio CompositeAudioClip([bgm, voice_audio.set_start(0)]) final_video final_video.set_audio(final_audio) # 第三步添加字幕可选 # 这里简化处理只在视频底部中央添加一个静态标题 txt_clip TextClip(My AI Generated Video, fontsize70, colorwhite, fontArial-Bold) txt_clip txt_clip.set_position((center, bottom)).set_duration(final_video.duration).set_opacity(0.7) final_video CompositeVideoClip([final_video, txt_clip]) # 输出最终视频 final_video.write_videofile(output_path, fps24, codeclibx264, audio_codecaac) print(f视频已生成: {output_path}) # 清理临时文件 for clip in clips: clip.close() final_video.close() return output_path def generate_voice_over(text, output_path): 使用TTS生成旁白音频文件 # 这里可以使用多种TTS服务或库例如Edge-TTS免费微软语音、gTTS或付费API # 以Edge-TTS为例需安装pip install edge-tts import asyncio import edge_tts async def _generate(): communicate edge_tts.Communicate(text, zh-CN-XiaoxiaoNeural) # 使用中文语音 await communicate.save(output_path) asyncio.run(_generate()) return output_path第二步主流程串联最后我们把所有模块串联起来形成一个完整的流程。def text_to_video_pipeline(input_text): 文本生成视频主流程 print(步骤1: 解析文本生成分镜脚本...) storyboard parse_text_to_storyboard(input_text) print(步骤2: 为每个场景准备视觉素材...) scene_assets [] for scene in storyboard[scenes]: asset prepare_visual_for_scene(scene, video_database) # video_database需要预先加载 scene_assets.append(asset) print(步骤3: 合成视频并添加音频...) output_video_path create_video_from_scenes(scene_assets, foutput_{int(time.time())}.mp4) print(步骤4: 完成) return output_video_path # 运行整个流程 if __name__ __main__: user_input 一只橘猫在春日下午的阳光中于窗台上慵懒地伸展身体然后打了个大大的哈欠。窗外有绿色的植物。 final_video text_to_video_pipeline(user_input)这个流程涵盖了从文本输入到视频输出的核心步骤。当然一个成熟的Anning01/TextCreateVideo项目会比这个示例更复杂包含更多的错误处理、参数配置、效果优化和性能调优。4. 常见问题、优化方向与避坑指南在实际搭建和运行过程中你会遇到各种各样的问题。下面是我在类似项目中踩过的一些坑以及对应的解决思路。4.1 视觉素材相关的问题问题1生成的图片风格不统一跳戏严重。现象不同场景由SD生成的图片画风、色调、光照差异巨大拼接起来不像同一个视频。解决方案使用统一的模型和提示词模板确保所有场景使用同一个SD模型如SDXL并在每个场景的提示词中都加入相同的风格限定词例如“cinematic lighting, film grain, 35mm shot”。固定随机种子在调用SD生成图片时设置相同的seed参数。这能保证在相同提示词下生成具有高度一致性的图片。后期调色使用moviepy或FFmpeg滤镜对所有生成的图片或视频片段进行统一的颜色校正如应用相同的LUT查找表。优先使用检索素材检索到的真实视频片段在风格上天然一致。因此扩大和优化素材库是治本之策。问题2检索到的视频片段与描述匹配度低。现象CLIP检索出来的视频看似相似度分数不低但内容牛头不对马嘴。排查与优化检查素材标注质量CLIP检索的效果严重依赖素材描述的准确性。“一只猫在睡觉”和“一只橘猫在窗台阳光下打盹”的检索结果天差地别。需要精细化标注或利用多标签分类模型识别物体、场景、动作自动生成丰富标签。优化查询文本不要直接用原始场景描述去检索。可以先用LLM将场景描述“翻译”成更贴近素材库风格的、由逗号分隔的关键词列表例如“cat, windowsill, sunlight, sleeping, cozy”。尝试不同的CLIP模型ViT-B/32是平衡速度和精度的选择。可以尝试更大的ViT-L/14以获得更好的精度但计算会更慢。也可以试试社区微调过的、针对特定领域如动漫、风景的CLIP模型。使用多模态检索结合CLIP文本-图像相似度和传统的基于标签的检索综合打分。4.2 视频合成与流畅度问题问题3静态图片场景生硬视频不流畅。现象用图片生成的场景是静止的与前后动态视频片段衔接突兀。解决方案应用Ken Burns效果这是纪录片常用的技巧对静态图片进行缓慢的缩放zoom、平移pan或旋转模拟摄像机运动。上面的示例代码实现了简单的缩放。可以更复杂地定义运动路径。添加动态元素叠加在静态图片上使用moviepy叠加一些动态粒子效果如阳光光斑、飘落的树叶、雨雪等。这些动态元素可以自己用AE制作或用代码生成简单的序列帧。使用图生视频模型将生成的静态图片作为输入使用图生视频模型如Stable Video Diffusion的 Image-to-Video 功能生成几秒钟的动态视频。虽然目前效果还不完美但能增加动感。问题4音频与画面不同步或音质差。现象旁白已经说完了画面还没切或者背景音乐突然中断。排查与解决精确控制时长在prepare_visual_for_scene阶段为每个素材指定精确的duration。旁白TTS生成时要获取音频的实际长度并以此调整对应场景的时长或者通过调整语速来匹配预设时长。音频混合技巧使用moviepy的CompositeAudioClip时注意设置每个音频片段的起始时间set_start。背景音乐要使用.loop(durationvideo_duration)确保循环覆盖整个视频长度。TTS服务选择免费的TTS服务如edge-tts有时会有网络延迟或合成不稳定。对于生产环境考虑使用更稳定的付费TTS API或本地部署高质量的TTS模型如VITS。4.3 性能与成本优化问题5生成速度太慢尤其是文生图环节。现象生成一个1分钟的视频需要等待10分钟以上。优化策略模型量化与优化使用diffusers的to(“cuda”)和enable_attention_slicing()是基础。进一步可以尝试torch.compile对模型进行编译优化PyTorch 2.0或者将模型转换为ONNX/TensorRT格式以获得极致推理速度。缓存与并行素材缓存对生成过的图片根据提示词和种子进行哈希缓存避免重复生成。并行生成如果有多张显卡或者单个场景的多张图片之间没有依赖可以使用多进程并行生成多个场景的图片。降级方案在快速预览模式下可以降低生成图片的分辨率如从768x512降到384x256减少迭代步数如从30步降到15步大幅提升速度。确定脚本后再用高质量设置生成最终版。问题6API调用成本如GPT-4、TTS过高。现象项目运行频繁导致月度API账单激增。应对方法本地化替代用本地部署的开源LLM如Qwen-7B-Chat,Llama 3 8B替代GPT-4进行文本解析。用本地TTS模型替代在线API。虽然效果可能有折扣但零边际成本。提示词优化优化给GPT的prompt要求其返回更精简、无冗余的JSON减少输入输出token数量。批量处理如果需要处理大量文本尽量收集后批量调用API有些API对批量请求有优惠。4.4 项目扩展与进阶思路当你把基础流程跑通后可以考虑以下方向让项目变得更强大、更实用多镜头与复杂叙事当前是单镜头串联。可以扩展分镜脚本支持一个场景内多个镜头的切换如先远景再特写这需要在素材准备阶段为一个场景生成或检索多个片段并在合成时进行更复杂的剪辑。精准口型同步如果视频中有卡通或虚拟人物说话可以集成像SadTalker这样的项目根据音频驱动人物口型。情感化背景音乐生成根据视频的整体情绪overall_music_style使用AI音乐生成模型如MusicGen动态生成一段匹配的背景音乐而不是使用固定的音乐文件。交互式编辑提供一个简单界面允许用户在生成初稿后手动替换某个不满意的场景素材调整顺序或修改旁白文本然后重新渲染局部。这能极大提升实用性。垂直领域优化针对电商、教育等特定领域训练专用的素材检索模型和文生图LoRA模型。例如电商视频可以专注于产品特写、使用场景教育视频可以专注于白板动画、知识图表生成。这个项目就像搭乐高核心框架是清晰的但每一个模块都有极大的深化和优化空间。从Anning01/TextCreateVideo这样一个项目标题出发我们实际上探索的是AIGC人工智能生成内容在当前技术条件下实现自动化视频生产的一条切实可行的路径。它不完美但足够让人兴奋并且每一天都在变得更好。