Models
Models 概览
Grafilab Models 是托管的推理 API。你创建一个 API 密钥,把客户端指向一个 base URL,就能调用文本、嵌入、图像和视频模型 —— 用 OpenAI 方言或 Anthropic 方言都可 以,看你的工具本来说哪一种。
Models 是什么
Section titled “Models 是什么”Models 在同一份模型目录、同一份额度余额之上有两副面孔:
- Playground —— 浏览器一侧,在控制台的 Models Playground。浏览每个模型的上下 文长度和价格,运行提示词,生成图像或视频,并把多个模型的回答并排比较。不用写代 码。参见 Playground。
- Inference API —— 编程一侧,在
https://llm.grafilab.ai。Playground 做的每 一件事都是一次你可以自己发出的 HTTP 调用。参见 快速开始:你的第一次 API 调用。
两者用同一套 API 密钥鉴权,也和 GPU 租用花的是同一份额 度 —— 没有单独的推理套餐需要开通。在 Billing 页面充值,参见 额度与账单。
两个兼容接口
Section titled “两个兼容接口”Grafilab 用两种请求格式暴露同一批模型。挑你的工具或 SDK 本来就支持的那一种 —— 你 不需要做任何转换。
| Your tool speaks… | Base URL | Notes |
|---|---|---|
| OpenAI (chat completions, embeddings, images, videos, SDKs) | https://llm.grafilab.ai/v1 | Clients append /chat/completions, /models, and so on. |
| Anthropic (Messages API, Claude Code, Anthropic SDK) | https://llm.grafilab.ai | Clients append /v1/messages themselves — do not add /v1. |
OpenAI 接口是完整的那一个:chat completions、embeddings、images、videos 和模 型目录。OpenAI SDK、Cursor、Cline、Open WebUI,以及任何标称「OpenAI 兼容」的东西 都走这里。
Anthropic 接口实现了 Messages API,包括工具调用和流式输出,供 Anthropic SDK
和 Claude Code 使用。它是一个子集:服务端工具、未知的 content block 类型和未知的
message role 会以 400 拒绝,而不是被悄悄丢掉;这个接口上也没有模型列表 —— 请到
OpenAI 接口上列模型。完整对照表见集成。
你能调用什么
Section titled “你能调用什么”| 端点 | 作用 |
|---|---|
POST /v1/chat/completions | 文本生成。设 stream: true 得到 server-sent events,流以 data: [DONE] 结束。加上 stream_options: {"include_usage": true},会在结束标记前收到一帧用量。 |
POST /v1/embeddings | 嵌入向量。encoding_format 为 float 或 base64(小端 float32)。 |
POST /v1/images/generations | 同步图像生成。response_format 为 url 或 b64_json;n 取 1–10。 |
POST /v1/images/edits | 以 multipart 编辑图像。需要支持编辑的模型,否则返回 400 edit_unsupported。最多 10 个文件,每个 20 MB。 |
POST /v1/videos | 创建一个异步任务并以 queued 返回。GET /v1/videos 用游标分页列出你的任务。 |
GET /v1/videos/{video_id} | 轮询一个任务:queued、in_progress、completed 或 failed。 |
GET /v1/videos/{video_id}/content | 重定向(302)到生成好的 MP4。重定向目标不需要密钥,结果在完成后保留七天。 |
GET /v1/models | 实时目录。GET /v1/models/{model} 取单条;id 里含 / 时不用编码也能用。 |
POST /v1/messages | Anthropic Messages,包括工具调用和流式输出。max_tokens 必填。 |
完整的请求和响应结构见 API 参考 llm.grafilab.ai/docs。
目录是实时的,所以本页不列模型。到下面两个地方之一去读,并把你看到的 id 当作要
发送的确切字符串:
- Playground 的卡片会为每个文本模型显示 Context、Input、Cached 和 Output,图像和视频模型则显示每次生成或每秒的费率。卡片上可能带 Coming Soon 或 By Invitation 标带;仅限邀请的模型在你的账号获得授权之前 无法调用。
GET /v1/models以机器可读的方式返回同一批 id,并在每条上附带两个 Grafilab 扩 展字段:region和tags。
模型 id 大小写不敏感,且可以包含 /。响应里回显的是目录中的规范写法,可能和你发
送的不一样 —— 如果你要拿它做匹配,请忽略大小写。
按调用从你的额度余额中以账号货币扣费:
- 文本和嵌入 —— 按 token 计费,报价单位是每 100 万 token,输入、缓存输入和输 出分别计价。缓存输入 token 是输入 token 的一个子集,不是额外加收的费用。
- 图像 —— 按每次生成计费。
- 视频 —— 按输出秒数计费,在任务创建时扣费,而不是完成时。
当前费率在 Playground 卡片上和 API 页面的价格表里,所以它们始终等于你实际被
扣的金额。在你的账号货币下没有定价的模型不会提供给你:它会从目录中隐藏,并返回
404 model_not_found。
你会遇到的错误
Section titled “你会遇到的错误”失败总是带着对应的 HTTP 状态码 —— 这个 API 从不把错误包装成 200。唯一的例外是
流在第一帧之后失败:状态码仍是 200,错误在流内传递,所以流式客户端必须把流内的
错误帧当成失败。
| 状态码 | code | 含义与处理 |
|---|---|---|
401 | invalid_api_key | 密钥不对、已轮换,或粘贴时带上了空白字符。到 API 重新复制一次。 |
403 | billing_currency_unset | 你的账号还没有计费货币。在资料里设置所在国家/地区。 |
404 | model_not_found | id 拼错、模型仅限邀请,或在你的货币下没有定价。 |
429 | insufficient_quota | 这不是速率限制 —— 是你的余额不够了。到 Billing 充值。 |
500 | server_error | 可以安全重试,除非响应带了 x-should-retry: false —— 那表示这次工作已经完成并计过费。 |
每个响应都带一个 X-Request-Id 头(req_ 后跟 24 个十六进制字符);Anthropic
接口会在错误体里以 request_id 重复它。联系支持时请附上它。

