Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aigem/cf-flux-remix
免费使用Workers AI 的FLUX.1生成图片(前端+API)超简单部署在CF Workers中
https://github.com/aigem/cf-flux-remix
ai api cloudflare cloudflare-workers flux free remix text-to-image workers-ai
Last synced: 9 days ago
JSON representation
免费使用Workers AI 的FLUX.1生成图片(前端+API)超简单部署在CF Workers中
- Host: GitHub
- URL: https://github.com/aigem/cf-flux-remix
- Owner: aigem
- Created: 2024-10-08T10:19:55.000Z (28 days ago)
- Default Branch: master
- Last Pushed: 2024-10-17T11:15:40.000Z (19 days ago)
- Last Synced: 2024-10-19T14:06:23.142Z (16 days ago)
- Topics: ai, api, cloudflare, cloudflare-workers, flux, free, remix, text-to-image, workers-ai
- Language: TypeScript
- Homepage: https://flux.remix.us.kg/
- Size: 264 KB
- Stars: 15
- Watchers: 1
- Forks: 34
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CF Flux Remix
CF Flux Remix 是一个基于 Cloudflare Workers 和 Remix 框架的图像生成应用。它利用 Cloudflare 的 AI 模型来生成图像,并提供了一个用户友好的界面和 API 接口来与这些模型进行交互。
## 功能特点
- 使用 Cloudflare 的 AI 模型生成图像【免费】
- 支持多种图像生成模型,包括 Flux 和标准模型
- 提供 API 接口以便集成到其他应用中
- 支持提示词翻译和优化
- 一键部署
- 响应式设计,现代设计
- 图片生成不受限制(不经审查),你懂的## 快速开始
### 前置条件
- CloudFlare账号
- Github/Gitlab账号## 安装
### [视频教程](https://www.bilibili.com/video/BV1Wz2NYyEmW/)1. 克隆(Fork)仓库:
```bash
https://github.com/yourusername/cf-flux-remix
```2. 完成部署:
在CloudFlare中操作
```bash
1、新建一个worker
名称为 free-flux . 注意此名称必须与Github中的Wrangler.toml文件中的名称一致。
2、worker后台设置中绑定Github仓库
绑定Fork的本仓库
3、填入构建命令等
构建命令(可选): pnpm i
部署命令: pnpm run deploy4、触发CF Workers中部署
随便改动一下仓库readme文件,提交后自动触发部署5、部署完成
部署完成后打开相应网站来使用,API使用看下面的说明
记得在worker后台设置环境变量,替换自己的CF账号ID及API令牌
API令牌要有Workers AI 的读取及编辑权限。```
### 开发
运行开发服务器:
```
pnpm run dev
```### 构建和部署
1. 另一种方法部署到 Cloudflare Workers:
```
pnpm run deploy
```
## 环境变量在 `wrangler.toml` 文件中设置以下程序变量:
- `API_KEY`: API 密钥,用于身份验证
- `CF_ACCOUNT_LIST`: Cloudflare 账户列表,JSON 格式
- `CF_TRANSLATE_MODEL`: 翻译模型 ID
- `CF_IS_TRANSLATE`: 是否启用翻译功能
- `USE_EXTERNAL_API`: 是否使用外部 API
- `EXTERNAL_API`: 外部 API 地址
- `EXTERNAL_MODEL`: 外部模型 ID
- `EXTERNAL_API_KEY`: 外部 API 密钥
- `FLUX_NUM_STEPS`: Flux 模型的步数
- `CUSTOMER_MODEL_MAP`: 模型映射,JSON 格式## API 文档
### 生成图像
- 端点:`/api/image`
- 方法:POST
- 请求头:
- `Authorization: Bearer your_api_key_here`
- `Content-Type: application/json`
- 请求体:
```json
{
"messages": [{"role": "user", "content": "图像描述"}],
"model": "模型ID",
"stream": false
}
```
- 响应:
```json
{
"prompt": "原始提示词",
"translatedPrompt": "翻译后的提示词",
"image": "生成的图像数据(Base64编码)"
}
```### 获取可用模型
- 端点:`/api/models`
- 方法:GET
- 请求头(可选):
- `Authorization: Bearer your_api_key_here`
- 响应:
```json
{
"models": [
{"id": "DS-8-CF", "name": "DreamShaper 8"},
{"id": "SD-XL-Bash-CF", "name": "Stable Diffusion XL Base"},
{"id": "SD-XL-Lightning-CF", "name": "Stable Diffusion XL Lightning"},
{"id": "FLUX.1-Schnell-CF", "name": "Flux 1 Schnell"}
]
}
```## 使用示例
### 使用 cURL 生成图像
```
bash
curl -X POST https://your-worker-url.workers.dev/api/image \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "一只可爱的猫咪"}],
"model": "DS-8-CF"
}'
```### 使用 Python 请求 API
```
python
import requests
import json
url = "https://your-worker-url.workers.dev/api/image"
headers = {
"Authorization": "Bearer your_api_key_here",
"Content-Type": "application/json"
}
data = {
"messages": [{"role": "user", "content": "一只可爱的猫咪"}],
"model": "DS-8-CF"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
print(f"原始提示词: {result['prompt']}")
print(f"翻译后的提示词: {result['translatedPrompt']}")
print(f"生成的图像数据: {result['image'][:50]}...") # 只打印前50个字符
```## 贡献
欢迎提交 Pull Requests 来改进这个项目。对于重大更改,请先开 issue 讨论您想要改变的内容。
## 许可证
本项目采用 MIT 许可证。详情请见 [LICENSE](LICENSE) 文件。
## 常见问题
1. Q: 如何添加新的模型?
A: 在 `wrangler.toml` 文件中的 `CUSTOMER_MODEL_MAP` 变量中添加新的模型 ID 和对应的 Cloudflare AI 模型路径。2. Q: 如何禁用翻译功能?
A: 在 `wrangler.toml` 文件中将 `CF_IS_TRANSLATE` 设置为 "false"。3. Q: 如何调整 Flux 模型的步数?
A: 修改 `wrangler.toml` 文件中的 `FLUX_NUM_STEPS` 值。## 故障排除
如果遇到问题,请检查以下几点:
1. 确保所有环境变量都已正确设置。
2. 检查 Cloudflare 账户和 API 令牌是否有效。
3. 确保使用的模型 ID 在 `CUSTOMER_MODEL_MAP` 中存在。
4. 查看 Cloudflare Workers 的日志以获取更详细的错误信息。
5. The name in `wrangler.toml` must match the name of your Worker.如果问题仍然存在,请开一个 issue 并提供详细的错误信息和复现步骤。
### [视频教程](https://www.bilibili.com/video/BV1Wz2NYyEmW/)