返回文档

端点与协议

按模型能力选择端点。

选择支持所需端点、工具和输入类型的模型。Chat Completions、Responses 与 Messages 的结构不同,仅修改路径并不足够。

API端点

方法小路描述
POST/v1/messages人类消息 API(推荐)
POST/v1/chat/completionsOpenAI 聊天完成(兼容)
POST/v1/images/generationsOpenAI Images Generations (req/gpt-image-2)
POST/v1/images/editsOpenAI 图像编辑 / 参考图 (req/gpt-image-2)
POST/v1/audio/speechOpenAI Audio Speech / TTS (req/gpt-4o-mini-tts)
POST/v1/videosOpenAI Videos — 创建视频
GET/v1/videos/{id}查询视频生成进度(不额外扣费)
GET/v1/videos/{id}/content下载 MP4 文件(不额外扣费)
DELETE/v1/videos/{id}取消等待中的任务(不额外扣费)
POST/v1/responsesOpenAI 响应 API(兼容)
GET/v1/models模型及价格一览表
POST/v1/messages/count_tokenstoken估算(免费)

查看完整指南

/v1/messages/count_tokens

此端点提供免费的本地估算,并非模型官方分词器。input_tokens 的上限为 200,000,因此不能据此确认大型提示词适合上下文窗口或确定最终费用。请以实际生成 usage 对账。下方 JSON 仅为示意,并非实时响应。

curl --fail-with-body "https://apivn.dev/v1/messages/count_tokens" \
  -H "x-api-key: ${STALI_API_KEY:?STALI_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-fable-5","messages":[{"role":"user","content":"Hello"}]}'

Responses 与工具调用

Responses 示例使用 POST /v1/responses,并在 input 中携带上下文。本文档不承诺支持尚未公布的响应存储、检索或列表操作。

import os
from getpass import getpass
from openai import OpenAI

client = OpenAI(api_key=os.getenv("STALI_API_KEY") or getpass("STALI_API_KEY: "), base_url="https://apivn.dev/v1", max_retries=0)
stream = client.responses.create(model="gpt-5.6-sol", input="Hello", stream=True, store=False)
completed = False
for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
    elif event.type == "response.completed":
        completed = event.response.status == "completed"
    elif event.type in ("error", "response.failed", "response.incomplete"):
        raise RuntimeError(str(event))
if not completed:
    raise RuntimeError("Stream ended without response.completed; preserve the request ID and check usage before retrying.")

两个 JSON 示例分别用于 Chat Completions 和 Messages。Python 示例通过本地加法展示完整工具调用:验证名称和参数、执行函数,再使用对应 call ID 发送结果。网关不会自动执行函数。每轮模型请求可能分别计费;示例最多运行 4 轮,并关闭 SDK 自动重试。

示例经过源码审查和本地检查,不代表已验证每个应用版本。正式使用前请检查设置、发送小型请求并确认用量。

Support