项目
在 GitHub 查看
CodeBoy2006/falProxy
CodeBoy2006/falProxy has 32 GitHub stars and 22 forks. GitHot measured 0 in 7 days. Last checked 2026-11-09 07:33 UTC. Last push 2025-07-04.
A high-performance, self-hosted Deno proxy that makes Fal.ai's powerful models (Flux, SDXL, etc.) compatible with the standard OpenAI image generation API. Use any OpenAI client seamlessly.
可以做什么
- 🔌 Drop-in Compatibility: Use Fal.ai models with any existing OpenAI-compatible client or library.
- ⚙️ Configuration-Driven: All settings, including the list of supported models, are managed in a simple .env file. No code changes needed.
- 🧠 Dynamic Model Adaptation: Automatically fetches and analyzes each model's OpenAPI schema to intelligently map parameters like size, width/height, and aspect_ratio.
- ⚡ High Performance: Features an on-startup cache for model schemas, reducing API latency for all subsequent requests.
实测星标增长
- 24小时
- 更新延迟
- 7天
- 0
- 15天
- 更新延迟
- 1个月
- 更新延迟
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README-zh.md
原文OpenAI 兼容的 Fal.ai 代理网关
一个高性能的 Deno 代理服务,旨在无缝桥接 OpenAI 的图像生成 API 与 Fal.ai 强大的 AI 模型。
✨ 核心特性
- 🔌 即插即用: 无需修改任何代码,即可将此代理集成到任何支持 OpenAI 的客户端或现有应用中。
- ⚙️ 配置驱动: 所有设置(包括支持的模型列表)都通过简单的
.env文件进行管理,灵活且无需重启服务。 - 🧠 动态模型适配: 启动时自动获取并解析每个 Fal.ai 模型的 OpenAPI Schema,智能地映射
size、width/height和aspect_ratio等参数。 - ⚡ 高性能: 服务启动时预热模型配置缓存,显著降低后续请求的延迟。
- 🔐 集中式密钥管理: 在服务器端安全地管理您的多个 Fal.ai API 密钥,并为客户端提供统一的访问凭证。
- 🌐 CORS 就绪: 内置完整的 CORS 支持,允许从任何 Web 前端应用直接调用。
🚀 快速上手
1. 获取代码
下载 router.ts 文件,或克隆整个代码仓库。
2. 创建配置文件
在 router.ts 所在的目录下创建一个名为 .env 的文件,并填入您的密钥和模型配置。
.env 配置文件示例:
# 用于访问此代理服务的自定义密钥
CUSTOM_ACCESS_KEY="my-super-secret-proxy-key"
# 您的 Fal.ai API 密钥,多个请用逗号分隔
AI_KEYS="fal-key-123abc,fal-key-456def"
# (可选) 服务运行的端口
PORT="8000"
# (可选) 设为 true 以开启详细的调试日志
DEBUG_MODE="true"
# 定义您希望通过代理暴露的模型
# 格式为 "自定义模型名:fal-ai/官方端点ID,另一个模型名:另一个端点ID"
SUPPORTED_MODELS="flux-dev:fal-ai/flux/dev,sdxl:fal-ai/stable-diffusion-xl,flux-schnell:fal-ai/flux-schnell"
3. 启动服务
使用 Deno 启动脚本,并授予必要的权限。
deno run --allow-net --allow-read=.env --allow-env router.ts
服务启动后,将自动加载所有模型配置,并准备好接收 API 请求。
🎯 API 使用说明
图像生成
向 /v1/images/generations 端点发送 POST 请求。代理服务会自动将其转换为 Fal.ai 的格式并调用相应的模型。
curl 调用示例:
curl -X POST http://localhost:8000/v1/images/generations \
-H "Authorization: Bearer my-super-secret-proxy-key" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A majestic dragon soaring through clouds, cinematic lighting",
"model": "flux-dev",
"size": "1024x1024",
"n": 1
}'
其他端点
- 获取模型列表:
GET /v1/models- 返回您在.env文件中配置的所有模型列表,格式与 OpenAI 的模型 API 一致。 - 健康检查:
GET /health- 用于服务监控的简单接口,会返回{ "status": "ok" }。
⚙️ 配置详解
所有配置均通过 .env 文件管理。
| 环境变量 | 描述 | 示例 |
|---|---|---|
CUSTOM_ACCESS_KEY |
必需。 您的客户端在 Authorization: Bearer 头中使用的、用于访问此代理服务的密钥。 |
"my-secure-key-123" |
AI_KEYS |
必需。 您真实的 Fal.ai API 密钥,以逗号分隔。代理会在每次请求时轮换使用。 | "fal-key-abc,fal-key-def" |
SUPPORTED_MODELS |
必需。 定义要暴露的模型列表,格式为 自定义模型名:fal-ai/官方端点ID,多个模型用逗号分隔。 |
"sdxl:fal-ai/stable-diffusion-xl,flux:fal-ai/flux/dev" |
PORT |
可选。 代理服务器监听的端口。 | 8000 (默认) |
DEBUG_MODE |
可选。 设为 true 以在控制台打印详细的请求、载荷和 Schema 解析日志,便于问题排查。 |
true |