{"id":24646978,"url":"https://github.com/alecm20/story-flicks","last_synced_at":"2025-04-11T05:14:19.717Z","repository":{"id":273238625,"uuid":"917903047","full_name":"alecm20/story-flicks","owner":"alecm20","description":"使用AI大模型，一键生成高清故事短视频。Generate high-definition story short videos with one click using AI large models.","archived":false,"fork":false,"pushed_at":"2025-03-12T15:33:35.000Z","size":82512,"stargazers_count":1622,"open_issues_count":17,"forks_count":276,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-11T05:13:48.615Z","etag":null,"topics":["ai-video","ai-video-generator","chatgpt","moviepy","openai","python","shortvideo","story-generation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alecm20.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-16T21:25:54.000Z","updated_at":"2025-04-11T01:22:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a69ff85-3017-4b44-9785-457f2628386b","html_url":"https://github.com/alecm20/story-flicks","commit_stats":null,"previous_names":["alecm20/story-flicks"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alecm20%2Fstory-flicks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alecm20%2Fstory-flicks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alecm20%2Fstory-flicks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alecm20%2Fstory-flicks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alecm20","download_url":"https://codeload.github.com/alecm20/story-flicks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345268,"owners_count":21088245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-video","ai-video-generator","chatgpt","moviepy","openai","python","shortvideo","story-generation"],"created_at":"2025-01-25T15:13:42.426Z","updated_at":"2025-04-11T05:14:19.695Z","avatar_url":"https://github.com/alecm20.png","language":"Python","funding_links":[],"categories":["ChatGPT-based applications for regular users and specialized problems","CLIs","Python","视频生成_补帧_摘要"],"sub_categories":["Other sdk/libraries","资源传输下载"],"readme":"[English](./README.md) | 简体中文\n\n\n## 项目说明\n\n本项目可以输入一个故事主题，使用大语言模型生成故事视频，视频中包含大模型生成的图片、故事内容，以及音频和字幕信息。\n\n项目后端技术栈为 python + fastapi 框架，前端为 react + antd + vite。\n\n\n## 视频演示\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"center\"\u003e\u003cg-emoji class=\"g-emoji\" alias=\"arrow_forward\"\u003e▶️\u003c/g-emoji\u003e 《兔子和小狐狸的故事》\u003c/th\u003e\n\u003cth align=\"center\"\u003e\u003cg-emoji class=\"g-emoji\" alias=\"arrow_forward\"\u003e▶️\u003c/g-emoji\u003e 《大灰狼和小白兔的故事》\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/e1893b9c-83ed-420c-a29a-1f5f878117c4\"\u003e\u003c/video\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/8868e1b5-a931-4d25-9762-859a4c32d4f4\"\u003e\u003c/video\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## 界面截图\n\n![](backend/examples/screenshot/usage.jpg)\n\n\n## 使用说明\n\n### 1. 下载本项目\n\n```\ngit clone https://github.com/alecm20/story-flicks.git\n```\n\n### 2. 设置模型信息\n\n```\n# 先切换到项目的 backend 目录下\ncd backend\n\ncp .env.example .env\n\n\ntext_provider=\"openai\"    # 文本生成模型的提供商，目前支持 openai和 aliyun、deepseek、ollama、siliconflow，阿里云文档：https://www.aliyun.com/product/bailian\n\nimage_provider=\"aliyun\"   # 图片生成模型的提供商，目前支持 openai和 aliyun、siliconflow\n\nopenai_base_url=\"https://api.openai.com/v1\" # openai 的 baseUrl\n\naliyun_base_url=\"https://dashscope.aliyuncs.com/compatible-mode/v1\" # 阿里云的 baseUrl\n\ndeepseek_base_url=\"https://api.deepseek.com/v1\" # deepseek 的 baseUrl\n\nollama_base_url=\"http://localhost:11434/v1\" # ollama 的 baseUrl\n\nsiliconflow_base_url=\"https://api.siliconflow.cn/v1\" # siliconflow 的 baseUrl\n\n\nopenai_api_key= # openai 的 api key，可以只填一个\n\naliyun_api_key= # 阿里云百炼的 api key，可以只填一个\n\ndeepseek_api_key= # deepseek 的 api key，目前该 api_key 只支持文本生成\n\nollama_api_key= # 如果需要使用的话，请填写ollama，目前该 api_key 只支持文本生成，并且不能用参数量太小的模型，推荐qwen2.5:14b 或者更大的模型。\n\nsiliconflow_api_key= # siliconflow 的文本模型目前只支持兼容 OpenAI 格式的大模型，如：Qwen/Qwen2.5-7B-Instruct。图像模型只测试了：black-forest-labs/FLUX.1-dev\n\ntext_llm_model=gpt-4o # 如果 text_provider 设置为 openai，这里只能填 OpenAI 的模型，如：gpt-4o。如果设置了 aliyun，可以填阿里云的大模型，如：qwen-plus 或者 qwen-max。ollama 的模型不能使用体积太小的模型，否则无法输出正确的 json，可以使用如：qwen2.5:14b 或更大的模型。\n\nimage_llm_model=flux-dev # 如果 image_provider 设置为 openai，这里只能填 OpenAI 的模型，如：dall-e-3。如果设置了 aliyun，可以填阿里云的大模型，阿里云推荐使用：flux-dev，目前可以免费试用，具体参考：https://help.aliyun.com/zh/model-studio/getting-started/models#a1a9f05a675m4。\n\n```\n\n### 3. 启动项目\n\n#### 3.1 手动启动\n\n**启动后端项目**\n\n```\n# 先切换到项目根目录\ncd backend\nconda create -n story-flicks python=3.10 # 这里使用 conda，其他的虚拟环境创建方式也可以\nconda activate story-flicks\npip install -r requirements.txt\nuvicorn main:app --reload\n\n```\n如果项目成功，会有如下信息输出：\n\n```\nINFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)\nINFO:     Started reloader process [78259] using StatReload\nINFO:     Started server process [78261]\nINFO:     Waiting for application startup.\nINFO:     Application startup complete.\n```\n\n**启动前端项目**\n\n```\n# 先切换到项目根目录\ncd frontend\nnpm install\nnpm run dev\n\n#启动成功之后打开：http://localhost:5173/\n```\n启动成功会输出如下信息:\n\n```\n  VITE v6.0.7  ready in 199 ms\n\n  ➜  Local:   http://localhost:5173/\n  ➜  Network: use --host to expose\n  ➜  press h + enter to show help\n```\n\n#### 3.2 通过docker启动\n\n在项目根目录下，执行：\n```\ndocker-compose up --build\n```\n成功之后打开前端项目：http://localhost:5173/\n\n### 4. 开始使用\n\n根据界面中的字段，选择文本生成模型提供商、图片生成模型提供商、文本模型、图片生成模型、视频语言、声音、故事主题、故事段落，然后点击生成，即可生成视频。根据填写的段落数量，生成图片，一个段落生成一张图片，设置的段落越多，生成视频的耗时也会更久。如果成功之后，视频会展示在前端页面中。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falecm20%2Fstory-flicks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falecm20%2Fstory-flicks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falecm20%2Fstory-flicks/lists"}