Skip to content

GeeDo 开发者文档 ​

更新时间:2026-09-03
API 地址:https://api.gee-do.com
控制台:https://gee-do.com/console

GeeDo 提供兼容 OpenAI、Anthropic 和 Gemini 常用协议的 AI API,以及图片、音频、视频、模型价格和用量查询能力。

目录 ​

  1. 快速开始
  2. 认证
  3. 模型与价格
  4. Chat Completions
  5. Responses API
  6. Anthropic 与 Gemini
  7. 图片音频和向量
  8. 视频生成
  9. 用量查询
  10. 错误与重试
  11. SDK 示例
  12. 接口索引

1. 快速开始 ​

1.1 创建 API Token ​

登录 GeeDo 控制台,在令牌页面创建 API Token。

Linux 或 macOS:

bash
export GEEDO_API_KEY="[REDACTED_SECRET]"
export GEEDO_BASE_URL="https://api.gee-do.com"

PowerShell:

powershell
$env:GEEDO_API_KEY="[REDACTED_SECRET]"
$env:GEEDO_BASE_URL="https://api.gee-do.com"

1.2 获取可用模型 ​

bash
curl "$GEEDO_BASE_URL/v1/models" \
  -H "Authorization: Bearer $GEEDO_API_KEY"

响应:

json
{
  "object": "list",
  "data": [
    {
      "id": "MODEL_NAME",
      "object": "model",
      "created": 1626777600,
      "owned_by": "provider"
    }
  ]
}

请求中的 model 使用 data[].id 返回的值。

1.3 发起对话 ​

bash
curl "$GEEDO_BASE_URL/v1/chat/completions" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "messages": [
      {"role": "user", "content": "用一句话介绍 GeeDo。"}
    ]
  }'

响应:

json
{
  "id": "chatcmpl_ID",
  "object": "chat.completion",
  "created": 1785984000,
  "model": "MODEL_NAME",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "GeeDo 是一个统一调用多种 AI 模型的 API 平台。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 16,
    "completion_tokens": 20,
    "total_tokens": 36
  }
}

2. 认证 ​

2.1 Bearer Token ​

大多数接口使用:

http
Authorization: Bearer [REDACTED_SECRET]

JSON 请求同时发送:

http
Content-Type: application/json
Accept: application/json

2.2 Anthropic 请求头 ​

POST /v1/messages 支持:

http
x-api-key: [REDACTED_SECRET]
anthropic-version: 2023-06-01
content-type: application/json

2.3 Gemini 请求头 ​

Gemini 原生接口支持:

http
x-goog-api-key: [REDACTED_SECRET]

API Token 应保存在服务端,不要写入浏览器代码、公开仓库或 URL。

2.4 请求 ID ​

GeeDo 在响应头返回:

http
X-Oneapi-Request-Id: REQUEST_ID

请求失败时,请保留请求时间、接口路径、模型名称、HTTP 状态码和 REQUEST_ID。


3. 模型与价格 ​

3.1 模型列表 ​

方法路径说明
GET/v1/modelsOpenAI 风格模型列表
GET/v1/models/单个模型
GET/v1beta/modelsGemini 风格模型列表
GET/v1beta/openai/modelsGemini OpenAI 兼容模型列表

模型可能随账号分组和平台配置变化,调用前以 /v1/models 的实时结果为准。

3.2 价格目录 ​

bash
curl "https://api.gee-do.com/api/pricing" \
  -H "Accept: application/json"

响应中的常用字段:

json
{
  "success": true,
  "data": [
    {
      "model_name": "MODEL_NAME",
      "quota_type": 0,
      "model_ratio": 1,
      "model_price": 0,
      "completion_ratio": 1,
      "enable_groups": ["GROUP_NAME"],
      "supported_endpoint_types": ["openai"],
      "display_billing_unit": "request"
    }
  ],
  "supported_endpoint": {
    "openai": {
      "method": "POST",
      "path": "/v1/chat/completions"
    },
    "openai-response": {
      "method": "POST",
      "path": "/v1/responses"
    },
    "anthropic": {
      "method": "POST",
      "path": "/v1/messages"
    },
    "gemini": {
      "method": "POST",
      "path": "/v1beta/models/{model}:generateContent"
    },
    "image-generation": {
      "method": "POST",
      "path": "/v1/images/generations"
    }
  },
  "pricing_version": "PRICING_VERSION"
}
字段说明
model_name调用时使用的模型 ID
quota_type0 为 Token/倍率计费,1 为固定价格类计费
model_ratio输入倍率
completion_ratio输出倍率
model_price固定价格类模型的基础价格
display_billing_unitrequest、second 等计价单位
supported_endpoint_types模型支持的接口类型
supported_endpoint接口类型对应的方法和路径
pricing_version价格目录版本

只有模型声明支持对应 endpoint type 时,才调用该接口。

3.3 额度换算 ​

bash
curl "https://api.gee-do.com/api/status"

读取响应中的 quota_per_unit 和 quota_display_type。展示类型为 USD 时:

text
消费金额(USD) = quota / quota_per_unit

最终消费以用量日志中的 quota 为准。


4. Chat Completions ​

接口:

http
POST /v1/chat/completions

4.1 非流式请求 ​

json
{
  "model": "MODEL_NAME",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello"}
  ],
  "temperature": 0.7,
  "stream": false
}

响应正文位于 choices[0].message.content,用量位于 usage。

4.2 流式请求 ​

json
{
  "model": "MODEL_NAME",
  "messages": [
    {"role": "user", "content": "Hello"}
  ],
  "stream": true,
  "stream_options": {
    "include_usage": true
  }
}

响应类型为 text/event-stream:

text
data: {"id":"chatcmpl_ID","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hel"},"finish_reason":null}]}

data: {"id":"chatcmpl_ID","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"lo"},"finish_reason":"stop"}]}

data: {"choices":[],"usage":{"prompt_tokens":12,"completion_tokens":3,"total_tokens":15}}

data: [DONE]

按 SSE 事件解析 data,并以结束事件确认本次响应完成。


5. Responses API ​

接口:

http
POST /v1/responses

5.1 请求 ​

bash
curl "https://api.gee-do.com/v1/responses" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "input": "Explain this API briefly.",
    "stream": false
  }'

5.2 响应 ​

json
{
  "id": "resp_ID",
  "object": "response",
  "created_at": 1785984000,
  "status": "completed",
  "model": "MODEL_NAME",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Response text."
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 8,
    "output_tokens": 4,
    "total_tokens": 12
  }
}

流式请求设置 stream=true。常见事件包括:

text
response.created
response.output_text.delta
response.completed

Responses Compaction:

http
POST /v1/responses/compact

6. Anthropic 与 Gemini ​

6.1 Anthropic Messages ​

bash
curl "https://api.gee-do.com/v1/messages" \
  -H "x-api-key: $GEEDO_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello"}
    ]
  }'

响应:

json
{
  "id": "msg_ID",
  "type": "message",
  "role": "assistant",
  "model": "MODEL_NAME",
  "content": [
    {"type": "text", "text": "Hello!"}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 8,
    "output_tokens": 3
  }
}

流式请求设置 stream=true。

6.2 Gemini GenerateContent ​

bash
curl "https://api.gee-do.com/v1beta/models/MODEL_NAME:generateContent" \
  -H "x-goog-api-key: $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "Hello"}]
      }
    ]
  }'

流式生成:

http
POST /v1beta/models/MODEL_NAME:streamGenerateContent?alt=sse

Gemini Embedding:

http
POST /v1beta/models/MODEL_NAME:embedContent

7. 图片音频和向量 ​

7.1 图片生成 ​

bash
curl "https://api.gee-do.com/v1/images/generations" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "prompt": "A quiet city street after rain",
    "n": 1,
    "size": "1024x1024",
    "response_format": "url"
  }'

响应:

json
{
  "created": 1785984000,
  "data": [
    {
      "url": "https://MEDIA_HOST/path/image.png",
      "b64_json": "",
      "revised_prompt": "A quiet city street after rain"
    }
  ]
}

response_format=b64_json 时,图片正文位于 data[].b64_json。尺寸、质量、数量和输出格式以模型能力为准。

7.2 图片编辑 ​

bash
curl "https://api.gee-do.com/v1/images/edits" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -F "model=MODEL_NAME" \
  -F "prompt=Replace the sky with stars" \
  -F "image=@./input.png" \
  -F "mask=@./mask.png"

7.3 音频 ​

方法路径用途
POST/v1/audio/transcriptions语音转写
POST/v1/audio/translations语音翻译
POST/v1/audio/speech文字转语音

语音转写:

bash
curl "https://api.gee-do.com/v1/audio/transcriptions" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -F "file=@./audio.mp3" \
  -F "model=MODEL_NAME" \
  -F "response_format=json"

文字转语音:

bash
curl "https://api.gee-do.com/v1/audio/speech" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "voice": "alloy",
    "input": "Hello from GeeDo",
    "response_format": "mp3"
  }' \
  --output speech.mp3

7.4 Embeddings ​

bash
curl "https://api.gee-do.com/v1/embeddings" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "input": ["first text", "second text"],
    "encoding_format": "float"
  }'

7.5 Rerank ​

http
POST /v1/rerank
json
{
  "model": "MODEL_NAME",
  "query": "What is an API gateway?",
  "documents": ["document one", "document two"],
  "top_n": 2,
  "return_documents": true
}

8. 视频生成 ​

视频接口采用异步任务模式。

8.1 提交任务 ​

bash
curl "https://api.gee-do.com/v1/video/generations" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "prompt": "A cinematic aerial shot of a city",
    "duration": 5,
    "ratio": "16:9",
    "resolution": "720p"
  }'

响应:

json
{
  "id": "TASK_ID",
  "object": "video",
  "model": "MODEL_NAME",
  "status": "queued",
  "progress": 0,
  "created_at": 1785984000
}

8.2 查询任务 ​

bash
curl "https://api.gee-do.com/v1/video/generations/TASK_ID" \
  -H "Authorization: Bearer $GEEDO_API_KEY"

状态值:

状态说明
queued已入队
in_progress正在生成
completed已完成
failed生成失败
unknown未知状态

完成响应:

json
{
  "id": "TASK_ID",
  "object": "video",
  "model": "MODEL_NAME",
  "status": "completed",
  "progress": 100,
  "created_at": 1785984000,
  "completed_at": 1785984060,
  "expires_at": 1786070460,
  "seconds": "5",
  "size": "1280x720",
  "metadata": {
    "url": "https://api.gee-do.com/v1/videos/TASK_ID/content"
  }
}

建议每 3 至 5 秒查询一次,直到 completed 或 failed。

8.3 下载视频 ​

bash
curl "https://api.gee-do.com/v1/videos/TASK_ID/content" \
  -H "Authorization: Bearer $GEEDO_API_KEY" \
  --output output.mp4

需要长期保存的视频应在 expires_at 前下载。


9. 用量查询 ​

9.1 Token 累计用量 ​

bash
curl "https://api.gee-do.com/api/usage/token/" \
  -H "Authorization: Bearer $GEEDO_API_KEY"

响应:

json
{
  "code": true,
  "message": "ok",
  "data": {
    "object": "token_usage",
    "name": "TOKEN_NAME",
    "total_granted": 100000,
    "total_used": 23000,
    "total_available": 77000,
    "unlimited_quota": false,
    "model_limits": {},
    "model_limits_enabled": false,
    "expires_at": 0
  }
}

9.2 Token 消费日志 ​

bash
curl "https://api.gee-do.com/api/log/token" \
  -H "Authorization: Bearer $GEEDO_API_KEY"

响应:

json
{
  "success": true,
  "message": "",
  "data": [
    {
      "created_at": 1785984000,
      "type": 2,
      "token_name": "TOKEN_NAME",
      "model_name": "MODEL_NAME",
      "quota": 1200,
      "prompt_tokens": 850,
      "completion_tokens": 320,
      "use_time": 4,
      "is_stream": true,
      "request_id": "REQUEST_ID"
    }
  ]
}

type=2 表示消费。对账使用 request_id、quota、prompt_tokens 和 completion_tokens。

9.3 控制台指标说明 ​

指标含义
用量所选时间范围内的累计消费额度
RPM最近 60 秒产生的消费请求数
TPM最近 60 秒输入和输出 Token 总数

历史用量大于 0 而 RPM、TPM 为 0,表示最近 60 秒没有新的已入账消费。

9.4 OpenAI 兼容余额接口 ​

方法路径说明
GET/v1/dashboard/billing/subscription额度信息
GET/v1/dashboard/billing/usage累计使用量

精确对账优先使用 /api/usage/token/ 和 /api/log/token。


10. 错误与重试 ​

10.1 错误格式 ​

json
{
  "error": {
    "message": "ERROR_MESSAGE (request id: REQUEST_ID)",
    "type": "invalid_request_error",
    "param": null,
    "code": "invalid_request"
  }
}

10.2 HTTP 状态码 ​

状态码说明处理
200成功解析响应
202异步任务已接收保存任务 ID
206分段媒体响应按 Content-Range 处理
400参数错误修正请求
401Token 无效检查 Token
403权限不足检查账号和模型权限
404模型、任务或媒体不存在检查 ID
413请求体过大缩小输入
429请求过快或容量不足退避后重试
500、502、503服务暂时异常有限重试

429 优先遵循 Retry-After。网络超时或 5xx 后重试 POST 可能产生重复调用和重复计费,调用方应限制重试次数。


11. SDK 示例 ​

11.1 Python ​

安装:

bash
pip install openai
python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GEEDO_API_KEY"],
    base_url="https://api.gee-do.com/v1",
)

response = client.chat.completions.create(
    model="MODEL_NAME",
    messages=[
        {"role": "user", "content": "Hello from GeeDo"}
    ],
)

print(response.choices[0].message.content)

Responses API:

python
response = client.responses.create(
    model="MODEL_NAME",
    input="Summarize this API in one sentence.",
)

print(response.output_text)

11.2 JavaScript ​

安装:

bash
npm install openai
javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.GEEDO_API_KEY,
  baseURL: "https://api.gee-do.com/v1",
});

const response = await client.chat.completions.create({
  model: "MODEL_NAME",
  messages: [
    { role: "user", content: "Hello from GeeDo" },
  ],
});

console.log(response.choices[0].message.content);

12. 接口索引 ​

所有接口均以 https://api.gee-do.com 为根地址。

12.1 模型和价格 ​

方法路径鉴权
GET/v1/modelsAPI Token
GET/v1/models/API Token
GET/v1beta/modelsAPI Token
GET/v1beta/openai/modelsAPI Token
GET/api/pricing无
GET/api/status无

12.2 文本 ​

方法路径
POST/v1/chat/completions
POST/v1/responses
POST/v1/responses/compact
POST/v1/completions
POST/v1/messages
POST/v1beta/models/{model}:generateContent
POST/v1beta/models/{model}:streamGenerateContent
POST/v1beta/models/{model}:embedContent
GET/v1/realtime

12.3 图片音频和向量 ​

方法路径
POST/v1/images/generations
POST/v1/images/edits
POST/v1/audio/transcriptions
POST/v1/audio/translations
POST/v1/audio/speech
POST/v1/embeddings
POST/v1/rerank
POST/v1/moderations

12.4 视频 ​

方法路径
POST/v1/video/generations
GET/v1/video/generations/
GET/v1/videos/{task_id}/content
POST/v1/videos/{video_id}/remix

12.5 用量 ​

方法路径
GET/api/usage/token/
GET/api/log/token
GET/v1/dashboard/billing/subscription
GET/v1/dashboard/billing/usage

GeeDo API 文档