跳转到内容

Models

Models 概览

Grafilab Models 是托管的推理 API。你创建一个 API 密钥,把客户端指向一个 base URL,就能调用文本、嵌入、图像和视频模型 —— 用 OpenAI 方言或 Anthropic 方言都可 以,看你的工具本来说哪一种。

Models 在同一份模型目录、同一份额度余额之上有两副面孔:

  • Playground —— 浏览器一侧,在控制台的 Models Playground。浏览每个模型的上下 文长度和价格,运行提示词,生成图像或视频,并把多个模型的回答并排比较。不用写代 码。参见 Playground。
  • Inference API —— 编程一侧,在 https://llm.grafilab.ai。Playground 做的每 一件事都是一次你可以自己发出的 HTTP 调用。参见 快速开始:你的第一次 API 调用。

两者用同一套 API 密钥鉴权,也和 GPU 租用花的是同一份额 度 —— 没有单独的推理套餐需要开通。在 Billing 页面充值,参见 额度与账单。

Grafilab 用两种请求格式暴露同一批模型。挑你的工具或 SDK 本来就支持的那一种 —— 你 不需要做任何转换。

Your tool speaks…Base URLNotes
OpenAI (chat completions, embeddings, images, videos, SDKs)https://llm.grafilab.ai/v1Clients append /chat/completions, /models, and so on.
Anthropic (Messages API, Claude Code, Anthropic SDK)https://llm.grafilab.aiClients 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 接口上列模型。完整对照表见集成。

端点作用
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/messagesAnthropic 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。

失败总是带着对应的 HTTP 状态码 —— 这个 API 从不把错误包装成 200。唯一的例外是 流在第一帧之后失败:状态码仍是 200,错误在流内传递,所以流式客户端必须把流内的 错误帧当成失败。

状态码code含义与处理
401invalid_api_key密钥不对、已轮换,或粘贴时带上了空白字符。到 API 重新复制一次。
403billing_currency_unset你的账号还没有计费货币。在资料里设置所在国家/地区。
404model_not_foundid 拼错、模型仅限邀请,或在你的货币下没有定价。
429insufficient_quota这不是速率限制 —— 是你的余额不够了。到 Billing 充值。
500server_error可以安全重试,除非响应带了 x-should-retry: false —— 那表示这次工作已经完成并计过费。

每个响应都带一个 X-Request-Id 头(req_ 后跟 24 个十六进制字符);Anthropic 接口会在错误体里以 request_id 重复它。联系支持时请附上它。