OpenAI 兼容接口
本站支持 OpenAI 常用接口格式,适合绝大多数 SDK、聊天应用、自动化脚本和后端服务接入。最常用的是 /v1/chat/completions,也可以按需使用 /v1/responses 和 /v1/embeddings。
接口信息
| 接口 | 方法 | 完整请求地址 | 用途 |
|---|---|---|---|
| Chat Completions | POST | https://api.gemai.cc/v1/chat/completions | 对话、图像理解、流式输出、工具调用 |
| Responses | POST | https://api.gemai.cc/v1/responses | OpenAI 新版 Responses 请求格式 |
| Embeddings | POST | https://api.gemai.cc/v1/embeddings | 文本向量化、检索、RAG |
Chat Completions
基础文本对话
INFO
这是最常用的调用方式。messages 按顺序传入系统提示词、用户消息和历史上下文,模型会返回一条 assistant 回复。
bash
curl --location 'https://api.gemai.cc/v1/chat/completions' \
--header 'Authorization: Bearer sk-你的令牌' \
--header 'Content-Type: application/json' \
--data '{
"model": "[官逆]gemini-2.5-pro",
"messages": [
{
"role": "system",
"content": "你是一个有帮助的助手。"
},
{
"role": "user",
"content": "你能做什么?"
}
]
}'流式响应
INFO
开启 stream: true 后,服务端会按 SSE 事件流逐段返回内容,适合聊天界面边生成边展示。
bash
curl --location 'https://api.gemai.cc/v1/chat/completions' \
--header 'Authorization: Bearer sk-你的令牌' \
--header 'Content-Type: application/json' \
--data '{
"model": "[官逆]gemini-2.5-pro",
"stream": true,
"messages": [
{
"role": "user",
"content": "请用三句话介绍一下哈基米 API。"
}
]
}'图片分析对话
INFO
支持多模态的模型可以在 content 中同时传入文本和图片。图片可以使用公网 URL,也可以使用 Base64 Data URL。
bash
curl --location 'https://api.gemai.cc/v1/chat/completions' \
--header 'Authorization: Bearer sk-你的令牌' \
--header 'Content-Type: application/json' \
--data '{
"model": "[官逆]gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请描述这张图片的内容。"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.png"
}
}
]
}
]
}'JavaScript 示例
INFO
如果你在 Node.js 项目中调用,建议把 API Key 放在环境变量里,例如 GEMAI_API_KEY。
javascript
const response = await fetch('https://api.gemai.cc/v1/chat/completions', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GEMAI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: '[官逆]gemini-2.5-pro',
messages: [
{ role: 'user', content: '你好,请写一句欢迎语。' },
],
}),
})
const data = await response.json()
console.log(data.choices?.[0]?.message?.content)Python 示例
INFO
Python 脚本同样建议从环境变量读取 Key,避免把密钥写死在代码中。
python
import os
import requests
response = requests.post(
'https://api.gemai.cc/v1/chat/completions',
headers={
'Authorization': f"Bearer {os.environ['GEMAI_API_KEY']}",
'Content-Type': 'application/json',
},
json={
'model': '[官逆]gemini-2.5-pro',
'messages': [
{'role': 'user', 'content': '你好,请写一句欢迎语。'},
],
},
timeout=120,
)
response.raise_for_status()
data = response.json()
print(data['choices'][0]['message']['content'])更多语言示例
INFO
下面用标签页补充常见后端语言示例。它们与上面的 JavaScript / Python 示例调用的是同一个 Chat Completions 接口。
bash
curl --location 'https://api.gemai.cc/v1/chat/completions' \
--header "Authorization: Bearer $GEMAI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "[官逆]gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": "你好,请写一句欢迎语。"
}
]
}'javascript
const response = await fetch('https://api.gemai.cc/v1/chat/completions', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GEMAI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: '[官逆]gemini-2.5-pro',
messages: [
{ role: 'user', content: '你好,请写一句欢迎语。' },
],
}),
})
const data = await response.json()
console.log(data.choices?.[0]?.message?.content)python
import os
import requests
response = requests.post(
'https://api.gemai.cc/v1/chat/completions',
headers={
'Authorization': f"Bearer {os.environ['GEMAI_API_KEY']}",
'Content-Type': 'application/json',
},
json={
'model': '[官逆]gemini-2.5-pro',
'messages': [
{'role': 'user', 'content': '你好,请写一句欢迎语。'},
],
},
timeout=120,
)
response.raise_for_status()
data = response.json()
print(data['choices'][0]['message']['content'])java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GemaiChatExample {
public static void main(String[] args) throws Exception {
String apiKey = System.getenv("GEMAI_API_KEY");
String body = """
{
"model": "[官逆]gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": "你好,请写一句欢迎语。"
}
]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.gemai.cc/v1/chat/completions"))
.header("Authorization", "Bearer " + apiKey)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}go
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
body := []byte(`{
"model": "[官逆]gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": "你好,请写一句欢迎语。"
}
]
}`)
req, err := http.NewRequest(
http.MethodPost,
"https://api.gemai.cc/v1/chat/completions",
bytes.NewReader(body),
)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("GEMAI_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(data))
}rust
use reqwest::Client;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_key = std::env::var("GEMAI_API_KEY")?;
let response = Client::new()
.post("https://api.gemai.cc/v1/chat/completions")
.bearer_auth(api_key)
.json(&json!({
"model": "[官逆]gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": "你好,请写一句欢迎语。"
}
]
}))
.send()
.await?
.text()
.await?;
println!("{response}");
Ok(())
}Responses
基础调用
INFO
/v1/responses 是 OpenAI 新版响应接口格式。部分新客户端或 SDK 会优先使用它。
bash
curl --location 'https://api.gemai.cc/v1/responses' \
--header 'Authorization: Bearer sk-你的令牌' \
--header 'Content-Type: application/json' \
--data '{
"model": "[官逆]gemini-2.5-pro",
"input": "请用一句话解释什么是 API。"
}'Embeddings
文本向量化
INFO
向量接口常用于语义检索、相似度计算和 RAG 知识库。input 可以是字符串,也可以是字符串数组。
bash
curl --location 'https://api.gemai.cc/v1/embeddings' \
--header 'Authorization: Bearer sk-你的令牌' \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen3-embedding-8b",
"input": "哈基米 API 支持多种模型接口调用。"
}'返回格式
Chat Completions 成功时通常返回如下结构:
json
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1741569952,
"model": "[官逆]gemini-2.5-pro",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我能为你提供帮助。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 19,
"completion_tokens": 10,
"total_tokens": 29
}
}注意事项
- OpenAI 兼容 SDK 的
baseURL一般填写https://api.gemai.cc/v1。 - 自己拼接请求时,请使用完整接口地址,例如
https://api.gemai.cc/v1/chat/completions。 - 多模态图片输入需要选择支持图片理解的模型。
- Embeddings 需要使用向量模型,普通聊天模型不一定支持向量化。