python+manim调用openai兼容api实现科普知识类视频生成代码
代码语言:python
所属分类:其他
代码描述:python+manim调用openai兼容api实现科普知识类视频生成代码,注意,由于使用了LaTeX ,所以去这个网站下载安装LaTeX ,并且打开MiKTeX Console进行更新,最后生成一个视频讲解知识类的mp4视频,通过ai来生成json场景数据,最后使用manim渲染成动画视频。
代码标签: python manim 调用 openai 兼容 api 科普 知识 视频 生成 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
import openai import json import os from dotenv import load_dotenv from manim import * # --- Part 1: AI Script Generation --- def generate_video_script_from_topic(topic): load_dotenv() try: client = openai.OpenAI(api_key="", base_url="https://generativelanguage.googleapis.com/v1beta/openai/") except Exception as e: print(f"Error initializing OpenAI client: {e}") return None prompt = f""" 你是一位顶尖的、富有创造力的科普视频编剧和 Manim 动画导演。 请为主题 "{topic}" 构思一个视觉上引人入胜的科普视频脚本。 你的输出必须是一个严格的JSON对象,包含一个 "scenes" 列表。 每个场景对象应包含以下键: - "narration": 该场景的解说词。 - "animation_type": 你可以使用的动画工具。 - "animation_details": 动画所需的参数。 你拥有以下强大的动画工具箱: 1. "TitleCard": - "details": {{"title": "主标题", "subtitle": "副标题"}} - 作用:创建一个引人注目的标题卡。 2. "DrawAndLabelShape": - "details": {{ "id": "unique_id_for_this_shape", "shape": "circle" | "square", "params": {{"radius": 2}} | {{"side_length": 3}}, "labels": [ {{"text": "r", "target": "radius", "direction": "UP"}}, {{"text": "d", "target": "diameter", "direction": "RIGHT"}} ] }} - 作用:绘制一个图形,并用指示线和文字为其关键部分添加标签。'id' 是必须的,用于后续引用。direction 可选 UP, DOWN, LEFT, RIGHT。 3. "HighlightProperty": - "details": {{ "id_ref": "id_of_the_shape_to_use", "property": "unroll_circumference" }} - 作用:用一种生动的动画来展示一个几何属性。例如,"unroll_circumference" 会将指定 'id' 的圆的周长“展开”成一条直线。 4. "AnimateFormula": .........完整代码请登录后点击上方下载按钮下载查看
网友评论0