python调用阿里通义大模型api和文生图api实现有声故事漫画视频制作代码

代码语言:python

所属分类:人工智能

代码描述:python调用阿里通义大模型api和文生图api实现有声故事漫画视频制作代码,通过ai生成视频分镜头,然后结合ai文生图api生成漫画画面,结合tts将故事旁白字幕生成有声音字幕的视频片段,最后合并起来成一个视频。

代码标签: python 调用 阿里 通义 大模型 api 文生图 api 有声 故事 漫画 视频 制作 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

import requests
import json
import time
import os
import random
from moviepy.editor import ImageClip, concatenate_videoclips, AudioFileClip, CompositeAudioClip, TextClip, CompositeVideoClip, vfx
from moviepy.video.fx.all import fadein, fadeout
from moviepy.audio.fx.all import audio_fadein, audio_fadeout
import dashscope
from dashscope.audio.tts import SpeechSynthesizer

# 替换为你的API Key
DASHSCOPE_API_KEY = "sk-"#APIkey申请地址https://bailian.console.aliyun.com/?apiKey=1


# 调用API生成故事脚本
def generate_story(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": "你是一个专业的编剧,请根据用户提供的主题编写剧本,字数300字。"
            },
            {
                "role": "user",
                "content": f"请根据以下主题生成一个短片的剧本,{topic}"
            }
        ]
    }
    response = requests.post(url, headers=headers, data=json.dumps(data))
    if response.status_code == 200:
        # 返回的剧本数据
        content = response.json()['choices'][0]['message']['content']
        return content
    else:
        raise Exception(f"Failed to generate story: {response.text}")


# 调用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':'分镜头文本提示词','say.........完整代码请登录后点击上方下载按钮下载查看

网友评论0