返回

API 调用示例

OMG Router 常见接口的 curl、Python、Node 和 SDK 示例

API 调用示例#

示例默认使用环境变量:

export OMG_API_KEY="sk-你的API令牌"
export OMG_BASE_URL="https://api.omgrouter.cc"
bash

获取模型列表#

curl "$OMG_BASE_URL/v1/models" \
  -H "Authorization: Bearer $OMG_API_KEY"
bash

Chat Completions#

适合 OpenAI 兼容聊天接口。

curl "$OMG_BASE_URL/v1/chat/completions" \
  -H "Authorization: Bearer $OMG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "messages": [
      { "role": "system", "content": "你是一个简洁的助手。" },
      { "role": "user", "content": "只回复 OK" }
    ],
    "max_tokens": 8
  }'
bash

文本读取位置:

choices[0].message.content
text

Responses API#

适合 GPT 系列新项目和 Codex 类客户端。

curl "$OMG_BASE_URL/v1/responses" \
  -H "Authorization: Bearer $OMG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "instructions": "你是一个简洁的助手。",
    "input": "只回复 OK",
    "max_output_tokens": 8
  }'
bash

当前服务端可能不会填充 output_text 快捷字段,建议使用兼容读取方式:

function getResponseText(response) {
  if (typeof response.output_text === "string" && response.output_text) {
    return response.output_text;
  }

  return (response.output || [])
    .flatMap((item) => item.content || [])
    .filter((part) => part.type === "output_text" && part.text)
    .map((part) => part.text)
    .join("");
}
js

Python 标准库示例#

无需安装 SDK,适合排查网络和鉴权问题。

Node 原生 fetch 示例#

Node.js 18+ 可直接运行。

OpenAI Python SDK#

pip install openai
bash
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的API令牌",
    base_url="https://api.omgrouter.cc/v1",
)

response = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "只回复 OK"}],
    max_tokens=8,
)

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

OpenAI Node SDK#

npm install openai
bash
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OMG_API_KEY,
  baseURL: "https://api.omgrouter.cc/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5.4-mini",
  messages: [{ role: "user", content: "只回复 OK" }],
  max_tokens: 8,
});

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

Claude Messages#

适合 Claude 官方协议。令牌分组请使用 CC 或 CC-N,具体见 模型分组

curl "$OMG_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $OMG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4.5",
    "max_tokens": 64,
    "messages": [
      { "role": "user", "content": "只回复 OK" }
    ]
  }'
bash

Embeddings#

curl "$OMG_BASE_URL/v1/embeddings" \
  -H "Authorization: Bearer $OMG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "OMG Router 文档测试"
  }'
bash

Gemini 兼容生成#

curl "$OMG_BASE_URL/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Authorization: Bearer $OMG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{ "text": "只回复 OK" }]
      }
    ]
  }'
bash

如果返回模型不存在,请先在控制台确认当前令牌分组是否包含该 Gemini 模型。

账户令牌用量#

令牌维度的用量接口:

curl "$OMG_BASE_URL/api/usage/token/" \
  -H "Authorization: Bearer $OMG_API_KEY"
bash

该接口会返回令牌名称、已用额度、剩余额度、模型限制、过期时间等信息。