API 文档

API-Mesh 提供完全兼容 OpenAI API 格式的接口,您可以在不修改现有代码的情况下,无缝切换到我们的平台,享受更优的价格和更稳定的服务。

基础信息

  • Base URL: https://api.api-mesh.io/v1
  • API格式: 完全兼容 OpenAI API
  • 速率限制: 免费用户 60 RPM,付费用户根据套餐不同
  • 联系: support@api-mesh.io

认证方式

API-Mesh 使用 Bearer Token 认证,请求时在 HTTP Header 中携带您的 API Key。

请求示例 Header:

Authorization: Bearer sk-am-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
安全提醒: 请妥善保管您的 API Key,不要将其暴露在客户端代码、GitHub 等公开仓库中。建议在服务器端环境变量中配置。

控制台 → API Keys 页面可以创建和管理您的密钥。

Chat Completions

与 OpenAI 完全一致的对话补全接口。支持所有主流模型。

POST https://api.api-mesh.io/v1/chat/completions

请求参数

参数类型必填描述
modelstring模型 ID,参见模型列表
messagesarray对话消息列表,格式同 OpenAI
temperaturenumber采样温度,0-2,默认 1.0
max_tokensinteger最大生成 Token 数,默认 4096
top_pnumber核采样参数,默认 1.0
frequency_penaltynumber频率惩罚,-2 到 2
presence_penaltynumber存在惩罚,-2 到 2
streamboolean是否流式返回,默认 false

请求示例

curl https://api.api-mesh.io/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-am-your-api-key" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "system", "content": "你是一个有用的助手"},
      {"role": "user", "content": "介绍一下API-Mesh"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'

响应格式

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1721030400,
  "model": "gpt-4o",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "API-Mesh 是一个智能API聚合平台..."
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 128,
    "total_tokens": 153
  }
}

模型列表及定价

我们支持以下主流模型,价格实时优化。单价以美元计(每百万 Token)。

模型 ID提供商输入价 $/1M输出价 $/1M上下文
gpt-4oOpenAI$2.50$7.50128K
gpt-4o-miniOpenAI$0.08$0.30128K
claude-3.5-sonnetAnthropic$2.00$8.00200K
claude-3-haikuAnthropic$0.15$0.80200K
deepseek-chatDeepSeek$0.14$0.55128K
qwen-max阿里云$1.20$3.6032K
glm-4-plus智谱AI$3.00$3.00128K
ernie-4.0-turbo百度$1.80$3.608K

* 价格可能随官方调整变动,以控制台实时显示为准

错误码说明

API 错误返回标准的 HTTP 状态码和 JSON 错误体。

HTTP 状态码错误类型说明
400invalid_request_error请求参数格式错误或缺少必填参数
401authentication_errorAPI Key 无效、过期或未提供
402insufficient_quota账户余额不足,请充值
404not_found请求的资源或模型不存在
429rate_limit_error请求速率超过限制,请稍后重试
500api_error服务器内部错误,请稍后重试
503service_unavailable服务暂时不可用,故障转移中
{
  "error": {
    "message": "Insufficient quota. Your account balance is $0.00. Please top up.",
    "type": "insufficient_quota",
    "code": 402
  }
}

速率限制

为了保护服务稳定性,不同套餐有不同的速率限制。

套餐RPM (每分钟请求数)TPM (每分钟Token数)并发数
免费版60100K5
开发者 (Pro)5001M20
企业版300010M100
定制版自定义自定义自定义

当超过速率限制时,API 返回 429 状态码。建议在客户端实现指数退避重试策略。

代码示例

以下示例展示如何用不同语言接入 API-Mesh。

Python

import openai

client = openai.OpenAI(
    api_key="sk-am-your-api-key",
    base_url="https://api.api-mesh.io/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个有用的助手"},
        {"role": "user", "content": "介绍一下API-Mesh"}
    ],
    temperature=0.7,
    max_tokens=1024
)

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

Node.js

import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: 'sk-am-your-api-key',
  baseURL: 'https://api.api-mesh.io/v1',
});

const response = await openai.chat.completions.create({
  model: 'gpt-4o',
  messages: [
    { role: 'system', content: '你是一个有用的助手' },
    { role: 'user', content: '介绍一下API-Mesh' },
  ],
  temperature: 0.7,
  max_tokens: 1024,
});

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

cURL

curl https://api.api-mesh.io/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-am-your-api-key" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "system", "content": "你是一个有用的助手"},
      {"role": "user", "content": "介绍一下API-Mesh"}
    ]
  }'

Go

package main

import (
    "context"
    "fmt"
    openai "github.com/sashabaranov/go-openai"
)

func main() {
    client := openai.NewClientWithConfig(openai.ClientConfig{
        BaseURL: "https://api.api-mesh.io/v1",
        APIType: openai.APITypeOpenAI,
    })

    resp, err := client.CreateChatCompletion(
        context.Background(),
        openai.ChatCompletionRequest{
            Model: "gpt-4o",
            Messages: []openai.ChatCompletionMessage{
                {Role: "system", Content: "你是一个有用的助手"},
                {Role: "user", Content: "介绍一下API-Mesh"},
            },
        },
    )
    if err != nil {
        panic(err)
    }
    fmt.Println(resp.Choices[0].Message.Content)
}