项目实战:用HunyuanVideo-PromptRewrite构建一个智能视频脚本优化工具,只需100行代码!
项目构想:我们要做什么?
在视频创作过程中,脚本的质量直接影响最终视频的效果。然而,许多创作者在编写脚本时可能会遇到语言表达不够精准、描述不够生动等问题。为了解决这一问题,我们设计了一个智能视频脚本优化工具,它能够根据用户输入的原始脚本,自动优化为更符合视频生成模型偏好的高质量脚本。
输入:用户提供的原始视频脚本(一段描述视频内容的文本)。
输出:优化后的视频脚本,更符合HunyuanVideo模型的生成偏好,提升视频的视觉质量和内容表现力。
技术选型:为什么是HunyuanVideo-PromptRewrite?
HunyuanVideo-PromptRewrite模型的核心能力包括:
- Prompt Rewrite功能:能够将用户输入的原始提示词(Prompt)优化为更适合视频生成模型的格式,提升生成效果。
- 多模式支持:支持Normal模式和Master模式,分别用于提升语义理解或视觉质量。
- 高效文本编码:基于MLLM文本编码器,能够更好地理解复杂语义和细节描述。
这些特性使得HunyuanVideo-PromptRewrite成为优化视频脚本的理想选择。通过调用该模型,我们可以快速将普通脚本转化为高质量的视频生成输入。
核心实现逻辑
- 调用HunyuanVideo-PromptRewrite模型:使用模型提供的API或本地部署的权重,将用户输入的原始脚本作为输入。
- 选择优化模式:根据用户需求选择Normal模式(提升语义理解)或Master模式(提升视觉质量)。
- 生成优化脚本:模型返回优化后的脚本,用户可直接用于视频生成。
代码全览与讲解
以下是完整的项目代码,基于HunyuanVideo-PromptRewrite的快速上手代码扩展而来:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# 初始化模型和分词器
model_name = "Tencent/HunyuanVideo-PromptRewrite"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
def optimize_script(original_script, mode="normal"):
"""
优化视频脚本
:param original_script: 原始脚本文本
:param mode: 优化模式,可选 "normal" 或 "master"
:return: 优化后的脚本
"""
# 根据模式设置提示词前缀
if mode == "normal":
prompt_prefix = "优化以下脚本以提升语义理解:\n"
elif mode == "master":
prompt_prefix = "优化以下脚本以提升视觉质量:\n"
else:
raise ValueError("模式必须是 'normal' 或 'master'")
# 拼接输入文本
input_text = prompt_prefix + original_script
# 编码输入
inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True)
# 生成优化脚本
with torch.no_grad():
outputs = model.generate(**inputs, max_length=200, num_return_sequences=1)
# 解码输出
optimized_script = tokenizer.decode(outputs[0], skip_special_tokens=True)
return optimized_script
# 示例使用
original_script = "一只猫在草地上玩耍"
optimized_script = optimize_script(original_script, mode="master")
print("优化后的脚本:", optimized_script)
代码讲解:
- 模型初始化:加载HunyuanVideo-PromptRewrite的分词器和模型。
- 优化函数:
optimize_script函数根据用户选择的模式(Normal或Master)生成优化后的脚本。 - 输入处理:将原始脚本与模式提示词拼接,输入模型生成优化结果。
- 输出解码:将模型生成的token解码为可读文本。
效果展示与功能扩展
效果展示
输入原始脚本:
一只猫在草地上玩耍
选择Master模式优化后输出:
一只橘色的猫在阳光明媚的草地上欢快地追逐蝴蝶,背景是郁郁葱葱的树木和蓝天。
功能扩展
- 多语言支持:扩展模型支持多语言脚本优化。
- 批量处理:支持批量输入脚本,提升效率。
- 自定义模板:允许用户自定义优化模板,满足个性化需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



