Spaces:
Paused
Paused
| title: Flow2API | |
| emoji: 🚀 | |
| colorFrom: blue | |
| colorTo: indigo | |
| sdk: docker | |
| pinned: false | |
| # Flow2API | |
| <div align="center"> | |
| [](LICENSE) | |
| [](https://www.python.org/) | |
| [](https://fastapi.tiangolo.com/) | |
| [](https://www.docker.com/) | |
| **一个功能完整的 OpenAI 兼容 API 服务,为 Flow 提供统一的接口** | |
| </div> | |
| ## ✨ 核心特性 | |
| - 🎨 **文生图** / **图生图** | |
| - 🎬 **文生视频** / **图生视频** | |
| - 🎞️ **首尾帧视频** | |
| - 🔄 **AT自动刷新** | |
| - 📊 **余额显示** - 实时查询和显示 VideoFX Credits | |
| - 🚀 **负载均衡** - 多 Token 轮询和并发控制 | |
| - 🌐 **代理支持** - 支持 HTTP/SOCKS5 代理 | |
| - 📱 **Web 管理界面** - 直观的 Token 和配置管理 | |
| ## 🚀 快速开始 | |
| ### 前置要求 | |
| - Docker 和 Docker Compose(推荐) | |
| - 或 Python 3.8+ | |
| ### 方式一:Docker 部署(推荐) | |
| #### 标准模式(不使用代理) | |
| ```bash | |
| # 克隆项目 | |
| git clone https://github.com/TheSmallHanCat/flow2api.git | |
| cd sora2api | |
| # 启动服务 | |
| docker-compose up -d | |
| # 查看日志 | |
| docker-compose logs -f | |
| ``` | |
| #### WARP 模式(使用代理) | |
| ```bash | |
| # 使用 WARP 代理启动 | |
| docker-compose -f docker-compose.warp.yml up -d | |
| # 查看日志 | |
| docker-compose -f docker-compose.warp.yml logs -f | |
| ``` | |
| ### 方式二:本地部署 | |
| ```bash | |
| # 克隆项目 | |
| git clone https://github.com/TheSmallHanCat/flow2api.git | |
| cd sora2api | |
| # 创建虚拟环境 | |
| python -m venv venv | |
| # 激活虚拟环境 | |
| # Windows | |
| venv\Scripts\activate | |
| # Linux/Mac | |
| source venv/bin/activate | |
| # 安装依赖 | |
| pip install -r requirements.txt | |
| # 启动服务 | |
| python main.py | |
| ``` | |
| ### 首次访问 | |
| 服务启动后,访问管理后台: **http://localhost:8000** | |
| - **用户名**: `admin` | |
| - **密码**: `admin` | |
| ⚠️ **重要**: 首次登录后请立即修改密码! | |
| ## 📋 支持的模型 | |
| ### 图片生成 | |
| | 模型名称 | 说明| 尺寸 | | |
| |---------|--------|--------| | |
| | `gemini-2.5-flash-image-landscape` | 图/文生图 | 横屏 | | |
| | `gemini-2.5-flash-image-portrait` | 图/文生图 | 竖屏 | | |
| | `gemini-3.0-pro-image-landscape` | 图/文生图 | 横屏 | | |
| | `gemini-3.0-pro-image-portrait` | 图/文生图 | 竖屏 | | |
| | `imagen-4.0-generate-preview-landscape` | 图/文生图 | 横屏 | | |
| | `imagen-4.0-generate-preview-portrait` | 图/文生图 | 竖屏 | | |
| ### 视频生成 | |
| #### 文生视频 (T2V - Text to Video) | |
| ⚠️ **不支持上传图片** | |
| | 模型名称 | 说明| 尺寸 | | |
| |---------|---------|--------| | |
| | `veo_3_1_t2v_fast_portrait` | 文生视频 | 竖屏 | | |
| | `veo_3_1_t2v_fast_landscape` | 文生视频 | 横屏 | | |
| | `veo_2_1_fast_d_15_t2v_portrait` | 文生视频 | 竖屏 | | |
| | `veo_2_1_fast_d_15_t2v_landscape` | 文生视频 | 横屏 | | |
| | `veo_2_0_t2v_portrait` | 文生视频 | 竖屏 | | |
| | `veo_2_0_t2v_landscape` | 文生视频 | 横屏 | | |
| #### 首尾帧模型 (I2V - Image to Video) | |
| 📸 **支持1-2张图片:首尾帧** | |
| | 模型名称 | 说明| 尺寸 | | |
| |---------|---------|--------| | |
| | `veo_3_1_i2v_s_fast_fl_portrait` | 图生视频 | 竖屏 | | |
| | `veo_3_1_i2v_s_fast_fl_landscape` | 图生视频 | 横屏 | | |
| | `veo_2_1_fast_d_15_i2v_portrait` | 图生视频 | 竖屏 | | |
| | `veo_2_1_fast_d_15_i2v_landscape` | 图生视频 | 横屏 | | |
| | `veo_2_0_i2v_portrait` | 图生视频 | 竖屏 | | |
| | `veo_2_0_i2v_landscape` | 图生视频 | 横屏 | | |
| #### 多图生成 (R2V - Reference Images to Video) | |
| 🖼️ **支持多张图片** | |
| | 模型名称 | 说明| 尺寸 | | |
| |---------|---------|--------| | |
| | `veo_3_0_r2v_fast_portrait` | 图生视频 | 竖屏 | | |
| | `veo_3_0_r2v_fast_landscape` | 图生视频 | 横屏 | | |
| ## 📡 API 使用示例(需要使用流式) | |
| ### 文生图 | |
| ```bash | |
| curl -X POST "http://localhost:8000/v1/chat/completions" \ | |
| -H "Authorization: Bearer han1234" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ | |
| "model": "gemini-2.5-flash-image-landscape", | |
| "messages": [ | |
| { | |
| "role": "user", | |
| "content": "一只可爱的猫咪在花园里玩耍" | |
| } | |
| ], | |
| "stream": true | |
| }' | |
| ``` | |
| ### 图生图 | |
| ```bash | |
| curl -X POST "http://localhost:8000/v1/chat/completions" \ | |
| -H "Authorization: Bearer han1234" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ | |
| "model": "imagen-4.0-generate-preview-landscape", | |
| "messages": [ | |
| { | |
| "role": "user", | |
| "content": [ | |
| { | |
| "type": "text", | |
| "text": "将这张图片变成水彩画风格" | |
| }, | |
| { | |
| "type": "image_url", | |
| "image_url": { | |
| "url": "data:image/jpeg;base64,<base64_encoded_image>" | |
| } | |
| } | |
| ] | |
| } | |
| ], | |
| "stream": true | |
| }' | |
| ``` | |
| ### 文生视频 | |
| ```bash | |
| curl -X POST "http://localhost:8000/v1/chat/completions" \ | |
| -H "Authorization: Bearer han1234" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ | |
| "model": "veo_3_1_t2v_fast_landscape", | |
| "messages": [ | |
| { | |
| "role": "user", | |
| "content": "一只小猫在草地上追逐蝴蝶" | |
| } | |
| ], | |
| "stream": true | |
| }' | |
| ``` | |
| ### 首尾帧生成视频 | |
| ```bash | |
| curl -X POST "http://localhost:8000/v1/chat/completions" \ | |
| -H "Authorization: Bearer han1234" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ | |
| "model": "veo_3_1_i2v_s_fast_fl_landscape", | |
| "messages": [ | |
| { | |
| "role": "user", | |
| "content": [ | |
| { | |
| "type": "text", | |
| "text": "从第一张图过渡到第二张图" | |
| }, | |
| { | |
| "type": "image_url", | |
| "image_url": { | |
| "url": "data:image/jpeg;base64,<首帧base64>" | |
| } | |
| }, | |
| { | |
| "type": "image_url", | |
| "image_url": { | |
| "url": "data:image/jpeg;base64,<尾帧base64>" | |
| } | |
| } | |
| ] | |
| } | |
| ], | |
| "stream": true | |
| }' | |
| ``` | |
| --- | |
| ## 📄 许可证 | |
| 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 | |
| --- | |
| ## 🙏 致谢 | |
| 感谢所有贡献者和使用者的支持! | |
| --- | |
| ## 📞 联系方式 | |
| - 提交 Issue:[GitHub Issues](https://github.com/TheSmallHanCat/flow2api/issues) | |
| - 讨论:[GitHub Discussions](https://github.com/TheSmallHanCat/flow2api/discussions) | |
| --- | |
| **⭐ 如果这个项目对你有帮助,请给个 Star!** | |