python结合阿里通义大模型实现ai写剧本并生成多镜头视频短片代码
代码语言:python
所属分类:人工智能
代码描述:python结合阿里通义大模型实现ai写剧本并生成多镜头视频短片代码,分三步,第一步生成剧本,第二部生成分镜头文本描述,第三部生成所有的分镜头视频,最后一步合并视频。
代码标签: python 结合 阿里 通义 大模型 ai 写 剧本 生成 多镜头 视频 短片 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
import requests
import json
import time
import os
import concurrent.futures
from moviepy.audio.fx.all import audio_loop
from moviepy.editor import VideoFileClip, concatenate_videoclips, TextClip, CompositeVideoClip, vfx
from moviepy.audio.io.AudioFileClip import AudioFileClip # 导入 AudioFileClip
from moviepy.audio.AudioClip import concatenate_audioclips # 导入 concatenate_audioclips
import dashscope
from dashscope.audio.tts import SpeechSynthesizer
# 替换为你的API Key
DASHSCOPE_API_KEY = "sk-"#APIkey申请地址https://bailian.console.aliyun.com/?apiKey=1
PI_KEY = "sk-a81d6343fba847249e189d184b1f858c"
# 调用API生成分镜头数据
def generate_shots(topic):
url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
headers = {
"Authorization": f"Bearer {DASHSCOPE_API_KEY}",
"Content-Type": "application/json"
}
data = {
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "你是一个专业的视频分镜头脚本生成助手。请根据用户提供的剧本生成分镜头脚本json数组,每个数组元素包含分镜头画面图像文本描述提示词和文字解说。例如:[{'prompt':'分镜头文本提示词','sayword':'文字解说'}]"
},
{
"role": "user",
"content": f"请根据以下剧本生成一个短片的分镜头脚本,每个分镜头画面包含画面图像文本描述提示词和30字以内的文字解说,以JSON格式返回:{topic}"
}
],
"response_format": { "type": "json_object" }
}
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
# 解析API返回的分镜头数据
content = response.json()['choices'][0]['message']['content']
try:
# 假设API返回的是合法的JSON字符串
shots = json.loads(content)
return shots
except json.JSONDecodeError:
raise Exception("API返回的分镜头数据不是合法的JSON格式")
else:
raise Exception(f"Failed to generate shots: {response.text}")
# 添加字.........完整代码请登录后点击上方下载按钮下载查看
网友评论0