Skip to content

Curl 调用示例

当你不确定工具配置是否正确时,最稳妥的方式是先用 curl 直接测试 Waihub 接口。

提示

这里使用的密钥来自 Waihub 后台的“令牌管理”。为了安全,文档示例中只保留脱敏后的占位值,不展示真实密钥。

调用方式

bash
curl -N https://waihub.top/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -d '{
    "model": "gpt-5.5",
    "stream": true,
    "messages": [
      {
        "role": "user",
        "content": "你是什么模型"
      }
    ]
  }'

这是我实际验证过可以持续返回文本内容的写法。返回会是 SSE 数据流,正文在每条 data: 里的 choices[0].delta.content 中。

多模态图片调用示例

如果要把本地图片作为输入,可以先读取图片的 MIME Type 并转成 base64,再通过 image_url 传入 data: URL。

bash
IMAGE_PATH="/path/to/image.png"
MIME_TYPE=$(file --mime-type -b "$IMAGE_PATH")
IMAGE_BASE64=$(base64 -i "$IMAGE_PATH" | tr -d '\n')

curl -N https://waihub.top/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -d "{
    \"model\": \"gpt-5.5\",
    \"messages\": [
      {
        \"role\": \"user\",
        \"content\": [
          {
            \"type\": \"text\",
            \"text\": \"请描述这张图片\"
          },
          {
            \"type\": \"image_url\",
            \"image_url\": {
              \"url\": \"data:${MIME_TYPE};base64,${IMAGE_BASE64}\"
            }
          }
        ]
      }
    ]
  }"

这个写法适合快速验证图片理解能力。IMAGE_PATH 换成本地图片路径即可,Authorization 仍然使用 Waihub 后台生成的真实令牌。

GPT-5.5 Stream 返回片段

下面是我实际验证得到的脱敏返回片段:

text
data: {"choices":[{"delta":{"role":"assistant","content":"我是"}}]}
data: {"choices":[{"delta":{"role":"assistant","content":" Open"}}]}
data: {"choices":[{"delta":{"role":"assistant","content":"AI"}}]}
data: {"choices":[{"delta":{"role":"assistant","content":" 的"}}]}
data: [DONE]

Claude 非流式返回示例

下面是按真实调用结果整理后的脱敏返回示例:

json
{
  "id": "req_xxxxxxxxxxxxxxxxxxxxxxxx",
  "object": "chat.completion",
  "created": 0,
  "model": "claude-sonnet-4-6",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!很高兴见到你!有什么我可以帮助你的吗?",
        "reasoning_content": null,
        "tool_calls": null
      },
      "finish_reason": "stop",
      "native_finish_reason": "stop"
    }
  ],
  "usage": {
    "completion_tokens": 31,
    "total_tokens": 41,
    "prompt_tokens": 10
  }
}

注意

不同模型在当前 Waihub / newapi 链路上的可用调用方式并不完全一样。gpt-5.5 目前建议走流式,而 claude-sonnet-4-6 可以直接走非流式。

你应该确认的内容

  • HTTP 状态码是否为 200
  • 当前模型对应的 Authorization 写法是否正确
  • gpt-5.5 是否显式设置了 "stream": true
  • 如果走 gpt-5.5,是否能在 delta.content 里看到文本
  • 如果走 claude-sonnet-4-6,是否能直接在 message.content 里拿到文本
  • 调用的模型名是否为 Waihub 当前实际支持的名称

推荐用途

  • 首次验证 API Key 是否生效
  • 排查第三方客户端配置错误
  • 测试新模型是否已经可调用
  • 判断当前模型在该中转上是否必须依赖流式返回

Waihub Documentation