Cloudflare Workers 反向代理 Google AI API
步骤一:登录 Cloudflare
- 打开Cloudflare
- 登录你的账号
步骤二:创建 Worker
- 在左侧菜单找到并点击 "Workers and Pages"
- 点击 "Create application" 按钮
- 选择 "Create Worker"
- 给你的 Worker 起个名字,比如:
google-ai-proxy
- 点击 "Deploy" 按钮
步骤三:编辑 Worker 代码
- 部署完成后,点击 "Edit code" 按钮
- 删除默认的所有代码
- 复制粘贴 google-ai-proxy.js 里面所有的代码。
进入 Azad-sl/google-ai-proxy 复制
- 点击右上角的 "Save and deploy" 按钮
步骤四:获取 Worker 地址
部署成功后,你会看到类似这样的地址:
https://google-ai-proxy.你的用户名.workers.dev
这个地址就是你的代理地址
步骤五:添加自定义域名
- 在 Worker 详情页面,点击 "Settings" 标签
- 向下滚动找到 "Triggers" 部分
- 在 "Custom Domains" 区域,点击 "Add Custom Domain"
- 输入你的自定义域名:
xxx.example.com
- 点击 "Add Custom Domain"
- 等待生效
- DNS 记录会自动创建
- SSL 证书会自动申请
- 通常 2-5 分钟内生效
步骤六:测试 API 访问
1. 浏览器测试 在浏览器访问:
https://xxx.example.com/v1/models
如果返回:
{
"error": {
"code": 403,
"message": "Method doesn't allow unregistered callers (callers without established identity). Please use API Key or other form of API consumer identity to call this API.",
"status": "PERMISSION_DENIED"
}
}
说明成功了。是时候去 Google AI Studio申请你的API key了。
2. curl 命令测试
curl -I "https://xxx.example.com/v1/models"
3. 完整 API 测试
curl "https://xxx.example.com/v1/models?key=你的API密钥"
在代码中使用
Python 示例:
import requests
# 使用自定义域名
base_url = "https://xxx.example.com"
api_key = "你的API密钥"
url = f"{base_url}/v1/models/gemini-pro:generateContent?key={api_key}"
data = {
"contents": [{
"parts": [{"text": "你好,请介绍一下自己"}]
}]
}
headers = {
"Content-Type": "application/json"
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
JavaScript 示例:
const baseUrl = "https://xxx.example.com";
const apiKey = "你的API密钥";
const url = `${baseUrl}/v1/models/gemini-pro:generateContent?key=${apiKey}`;
const data = {
contents: [{
parts: [{ text: "你好,请介绍一下自己" }]
}]
};
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));