银河杂货铺 · API 指南

银河杂货铺 · AI 中转服务

一套 OpenAI 兼容接口覆盖 OpenAI、Anthropic、DeepSeek、Gemini、即梦等主流模型。

快速开始

所有请求均为 HTTPS。将密钥置于 `Authorization` Header。

Base URL

https://api.glmbigmodel.me

支持Codex, Claude Code, Cherry Studio, Cline, Kilo Code, Roo Code, Open Code, Crush, Goose, iflow Cli等主流软件

必备 Header

Authorization
  • `Authorization: Bearer <API-Key>`

网络策略

内置重试 + 熔断

中转站会对 429/5xx 进行重试,最终错误会透传上游厂商。

SDK

OpenAI/Anthropic/Gemini 兼容

推荐直接使用官方 OpenAI/Anthropic/Gemini SDK,将 `baseURL` 指向银河中转即可。

模型介绍

主要介绍nanobanana等特殊模型的调用方法

✅ 建议先使用curl等工具进行测试,若某一线路连通性不佳,可换另一条线路试试。
模型 调用方法 参数适配 注意事项
nanobanana

OpenAI Image

OpenAI Chat

不支持设置大小,宽高等参数 逆向模型,至多仅支持输入一张图像
gemini-2.5-flash-image

Google Gemini

支持所有可配置参数 上游对接gemini,号池容量较小

Chat 中继接口

给定一组包含对话的消息列表,模型将返回一个响应。相关指南可参阅OpenAI官网

OpenAI · Chat Completions

POST /v1/chat/completions

完整兼容 OpenAI Chat 接口,支持流式、工具调用、JSON Mode。推荐直接复用官方 SDK,只需覆写 `baseURL` 与密钥。

  • 支持 `stream`、`response_format`、`parallel_tool_calls`
curl --request POST \
  --url https://api.glmbigmodel.me/v1/chat/completions \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "You are a helpful AI assistant."},
      {"role": "user", "content": "列出银河杂货铺提供的能力"}
    ],
    "temperature": 0.7,
    "stream": false
  }'
{
  "id": "chatcmpl-92b5",
  "object": "chat.completion",
  "created": 1763036400,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "..." },
      "finish_reason": "stop"
    }
  ],
  "usage": {"prompt_tokens": 56, "completion_tokens": 128, "total_tokens": 184},
}

OpenAI · Responses

POST /v1/responses 多模态输入

OpenAI 最先进的模型响应接口。支持文本和图像输入,以及文本输出。创建与模型的有状态交互,将先前响应的输出用作输入。通过文件搜索、网络搜索、计算机使用等内置工具扩展模型的能力。使用函数调用允许模型访问外部系统和数据。 相关指南可参阅OpenAI官网

curl --request POST \
  --url https://api.glmbigmodel.me/v1/responses \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "o3-mini",
    "input": "一只啄木鸟能啄多少木头?",
    "reasoning": {
      "effort": "high"
    }
  }'
{
  "id": "resp_67ccd7eca01881908ff0b5146584e408072912b2993db808",
  "object": "response",
  "created_at": 1741477868,
  "status": "completed",
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "max_output_tokens": null,
  "model": "o1-2024-12-17",
  "output": [
    {
      "type": "message",
      "id": "msg_67ccd7f7b5848190a6f3e95d809f6b44072912b2993db808",
      "status": "completed",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "这是一个源自英文绕口令"How much wood would a woodchuck chuck if a woodchuck could chuck wood"的问题。在现实中,啄木鸟(woodpecker)和土拨鼠(woodchuck)是不同的动物,而且土拨鼠实际上并不"啄(chuck)"木头。\n\n从科学角度看,啄木鸟每天确实会啄树木以寻找食物、建造巢穴或进行通讯。一只啄木鸟平均每天可能啄树约8000-12000次,视物种和具体目的而定。如果我们将这转换为木材量,假设每次啄击移除约0.1-0.2立方厘米的木材,那么一只啄木鸟理论上每天可能移除约800-2400立方厘米的木材。\n\n然而,啄木鸟主要是为了觅食和筑巢而啄木,而不是单纯地移除木材,所以这个计算只是一个有趣的理论估算。",
          "annotations": []
        }
      ]
    }
  ],
  "parallel_tool_calls": true,
  "previous_response_id": null,
  "reasoning": {
    "effort": "high",
    "summary": null
  },
  "store": true,
  "temperature": 1.0,
  "text": {
    "format": {
      "type": "text"
    }
  },
  "tool_choice": "auto",
  "tools": [],
  "top_p": 1.0,
  "truncation": "disabled",
  "usage": {
    "input_tokens": 81,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 1035,
    "output_tokens_details": {
      "reasoning_tokens": 832
    },
    "total_tokens": 1116
  },
  "user": null,
  "metadata": {}
}

Anthropic · Messages

POST /v1/anthropic/messages anthropic-version: 2023-06-01

给定一组包含文本和/或图像内容的结构化输入消息列表,模型将生成对话中的下一条消息。Messages API 可用于单次查询或无状态的多轮对话。

curl --request POST \
  --url https://api.glmbigmodel.me/v1/anthropic/messages \
  --header "x-api-key: $NEWAPI_API_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Hello, world"}
    ]
}'
{
  "content": [
    {
      "text": "Hi! My name is Claude.",
      "type": "text"
    }
  ],
  "id": "msg_013Zva2CMHLNnXjNJKqJ2EF",
  "model": "claude-3-5-sonnet-20241022", 
  "role": "assistant",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "type": "message",
  "usage": {
    "input_tokens": 2095,
    "output_tokens": 503
  }
}

DeepSeek · Reasoning Content

POST /v1/chat/completions reasoning_content

Deepseek-reasoner 是 DeepSeek 推出的推理模型。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。API 向用户开放 deepseek-reasoner 思维链的内容,以供用户查看、展示、蒸馏使用。

curl --request POST \
  --url https://api.glmbigmodel.me/v1/chat/completions \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "deepseek-reasoner",
    "messages": [
      {
        "role": "user",
        "content": "9.11 and 9.8, which is greater?"
      }
    ],
    "max_tokens": 4096
  }'
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "deepseek-reasoner",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "reasoning_content": "让我一步步思考:\n1. 我们需要比较9.11和9.8的大小\n2. 两个数都是小数,我们可以直接比较\n3. 9.8 = 9.80\n4. 9.11 < 9.80\n5. 所以9.8更大",
      "content": "9.8 is greater than 9.11."
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

Google Gemini · Generate Content

POST /v1/gemini/models/{model}:generateContent x-galaxy-vendor: gemini

Google Gemini API 支持使用图片、音频、代码、工具等生成内容。给定输入 GenerateContentRequest 生成模型响应。支持文本生成、视觉理解、音频处理、长上下文、代码执行、JSON 模式、函数调用等多种功能。

curl "https://api.glmbigmodel.me/v1beta/models/gemini-2.0-flash:generateContent?key=$API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[{"text": "Write a story about a magic backpack."}]
        }]
       }'
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [{"text": "..."}]
      },
      "safetyRatings": [...],
      "finishReason": "STOP"
    }
  ],
  "modelVersion": string,
  "responseId": string
}
提示:若希望开启流式输出,请直接在请求体设置 `stream: true`。API中转站会以 SSE 方式透传。

Image 接口 · OpenAI 风格

给定文本提示和/或输入图片,模型将生成新的图片。

OpenAI Image Generations

POST /v1/images/generations
# 默认参数(ratio: "1:1", resolution: "2k")
curl -X POST https://api.glmbigmodel.me/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer API_KEY" \
  -d '{
    "model": "jimeng-4.0",
    "prompt": "壮丽的山水风景,超高分辨率",
    "ratio": "16:9",
    "resolution": "4k"
  }'

# 使用4K分辨率的示例
curl -X POST https://api.glmbigmodel.me/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer API_KEY" \
  -d '{
    "model": "nanobanana",
    "prompt": "壮丽的山水风景,超高分辨率",
    "ratio": "1:1",
    "resolution": "4k"
  }'
  • `response_format` 可选:`b64_json` / `url`

OpenAI Image Edits

POST /v1/images/edits
# 默认参数(ratio: "1:1", resolution: "2k")
curl -X POST https://api.glmbigmodel.me/v1/images/edits \
  -H "Authorization: Bearer $API_KEY" \
  -F "prompt=A cute cat, anime style" \
  -F "model=nanobanana" \
  -F "images=@/path/to/your/local/cat.jpg"

# URL图片风格转换 (使用application/json)
curl -X POST https://api.glmbigmodel.me/v1/images/edits \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "nanobanana",
    "prompt": "将这张照片转换为油画风格,色彩鲜艳,笔触明显",
    "images": ["https://example.com/photo.jpg"],
    "ratio": "1:1",
    "resolution": "2k",
    "sample_strength": 0.7
  }'

# 示例3: 本地多文件上传 (使用multipart/form-data)
curl -X POST https://api.glmbigmodel.me/v1/images/edits \
  -H "Authorization: Bearer $API_KEY" \
  -F "prompt=融合这两张图片" \
  -F "model=jimeng-4.0" \
  -F "images=@/path/to/your/image1.jpg" \
  -F "images=@/path/to/your/image2.png"
{
  "created": 1703123456,
  "data": [
    {
      "url": "https://p3-sign.toutiaoimg.com/tos-cn-i-tb4s082cfz/abc123.webp"
    }
  ],
  "input_images": 1,
  "composition_type": "multi_image_synthesis"
}