infr.ad 免费 LLM API 怎么用:GitHub 登录即领 Key,三个模型零成本调用,对话末尾带广告
免费额度
永久免费、无到期:3 个模型(含 deepseek-v4-flash)免费用,GitHub 账号登录即取 Key,无信用卡;普通对话末尾偶尔附带一个约 40 列的 ASCII 赞助广告块
注意事项
教程
infr.ad 的接入门槛很低:不需要信用卡,也不需要邮箱注册,用 GitHub 账号授权就能拿到 API Key。它的商业模式是广告主为推理付费,开发者免费调用接口。完整流程如下。

- 进入官网入口:打开
https://infr.ad/,在页面顶部找到登录或获取 API Key 的按钮并点击。 - 用 GitHub 账号登录:选择 GitHub 授权登录并同意授权即可,无需填写手机号、无需实名认证、无需绑定任何支付方式。
- 在控制台创建 Key:登录后进入控制台的 API Key 页面,点击创建,把生成的以
sk-开头的字符串复制保存。这类 Key 通常只在创建时完整显示一次,离开页面后无法再次查看,具体以控制台实际显示为准。 - 确认可用模型:在模型列表页查看当前开放的 3 个模型,其中包含
deepseek-v4-flash,其余模型名以控制台实际显示为准。请求里的model字段必须与列表完全一致,写错会直接报错。 - 确认额度与有效期:免费额度为长期可用、无固定到期日的形式,具体调用配额与频率限制以控制台实际显示为准,平台并不承诺永久免费,使用前建议先看控制台说明。
常见坑:一是 Key 复制时首尾多带空格,导致 401;二是把 base_url 写成 https://api.infr.ad 而漏掉 /v1,导致 404;三是把普通对话回复末尾的赞助广告块误判为接口异常,实际那是正常的变现输出。
infr.ad 完全兼容 OpenAI 接口协议,任何支持自定义 base_url 的客户端(Cursor、VS Code、JetBrains、Zed 等)都能直接接入,base_url 固定为 https://api.infr.ad/v1,请求路径与 OpenAI 一致,为 /chat/completions。
第一步:把 Key 写入环境变量
先在终端里设置环境变量,后续命令与脚本都从变量读取,避免把 Key 硬编码进代码。
export INFRAD_API_KEY="sk-xxxxxxxx"把双引号里的内容整段替换成你在控制台复制到的真实 Key,不要保留多余空格和换行。
第二步:用 curl 发一次对话补全
下面这条命令可以直接运行,用于验证 Key 与 base_url 是否配置正确。
curl https://api.infr.ad/v1/chat/completions \
-H "Authorization: Bearer $INFRAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "user", "content": "用一句话解释什么是向量数据库"}
],
"temperature": 0.7,
"max_tokens": 512
}'第三步:在 Python 中调用
沿用官方 OpenAI SDK,只替换 base_url 和 Key 即可,下面的代码保存为文件后可以直接运行。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["INFRAD_API_KEY"],
base_url="https://api.infr.ad/v1",
)
resp = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "用一句话解释什么是向量数据库"}],
temperature=0.7,
max_tokens=512,
)
print(resp.choices[0].message.content)关键参数说明
model:模型名,必须与控制台模型列表完全一致;当前已知可用deepseek-v4-flash,其余模型名以控制台实际显示为准。messages:对话数组,每条消息包含role(user / assistant / system)与content,按时间顺序排列。temperature:采样随机性,取值 0 到 2,写代码类任务建议调低,创意类任务可调高。max_tokens:单次回复的最大 token 数,设置过小会截断输出,设置为空则使用服务端默认值。stream:设为true时以流式分块返回,适合需要逐字输出的聊天界面。
广告块与报错排查
普通对话的回复末尾偶尔会附带一个约 40 列的 ASCII 赞助广告块,这是该平台的正常变现方式,不是接口故障;使用工具调用时不会出现广告。如果下游程序对输出做严格解析,建议先按行把末尾广告块截断或过滤。额度耗尽或触发限流时,典型表现是 HTTP 429、402 或 403,返回体里一般带有简短的原因说明。排查建议按下面的顺序进行。
- 检查请求头是否为
Authorization: Bearer $INFRAD_API_KEY,返回 401 多为 Key 缺失、失效或复制不完整。 - 检查 base_url 是否带
/v1、路径是否为/chat/completions,漏写会返回 404。 - 检查
model字段的模型名是否与控制台列表逐字一致,模型名不符通常返回 400 或 404。 - 查看 HTTP 状态码与返回体:429 表示触发频率或额度限制,402、403 通常与额度用尽或账户状态有关,具体含义以返回体提示为准。
- 换用控制台里的另一个可用模型重试,排除单个模型临时不可用的可能。
- 以上均正常仍失败时,回到控制台查看用量与 Key 状态,必要时删除旧 Key 重新创建。
这个还能用吗?点一下告诉我们
只能从下方固定选项中选择,无法自由输入,避免垃圾信息与安全隐患。
留言区 0
真实访客可自由留言,提交后先经内容安全审核(本地 + 可选远程 API)再展示;违规内容会被拦截,不会出现在此处。示例留言均带「示例」标识,不冒充真实用户。