把模型能力,接入你的产品
肥猫 API 提供统一的 OpenAI 兼容接口,支持对话模型与图像生成模型。只需一个 API Key,即可在熟悉的 SDK 中开始调用。
https://new.feimaoapi.com/v1快速开始
创建一个 API Key,将它放在请求的 Authorization 请求头中,即可调用肥猫 API。
1. 设置 API Key
推荐使用环境变量保存密钥,不要把密钥提交到代码仓库或写入浏览器端代码。
export FEIMAO_API_KEY="你的_API_Key"2. 发起第一次对话请求
curl https://new.feimaoapi.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FEIMAO_API_KEY" \
-d '{
"model": "gpt-6-sol",
"messages": [{"role": "user", "content": "你好"}]
}'3. 在 OpenAI SDK 中使用
from openai import OpenAI
client = OpenAI(
api_key="你的_API_Key",
base_url="https://new.feimaoapi.com/v1"
)
response = client.chat.completions.create(
model="gpt-6-sol",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FEIMAO_API_KEY,
baseURL: "https://new.feimaoapi.com/v1"
});
const response = await client.chat.completions.create({
model: "gpt-6-sol",
messages: [{ role: "user", content: "你好" }]
});
console.log(response.choices[0].message.content);对话接口
兼容 OpenAI Chat Completions API,将不同厂商的模型统一为同一套请求格式。
/v1/chat/completions请求示例
curl https://new.feimaoapi.com/v1/chat/completions \
-H "Authorization: Bearer $FEIMAO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-sol",
"messages": [
{"role": "user", "content": "用一句话介绍肥猫 API"}
],
"stream": false
}'常用参数
messagesarray按顺序传入对话消息,支持 system、user、assistant。streamboolean设为 true 时以 SSE 流式返回,默认 false。temperaturenumber采样温度,具体范围以模型能力为准。max_tokensinteger限制本次生成的最大 token 数。流式输出
将 stream 设置为 true 后,服务会通过 Server-Sent Events 持续返回 data: 事件,最后以 [DONE] 结束。使用 OpenAI SDK 时可直接遍历响应流。
生图接口
支持文生图和图生图:输入文字生成图片,或上传参考图并按提示词进行编辑。两个接口均使用 Authorization: Bearer 你的_API_Key 鉴权。
https://new.feimaoapi.com/v1/images/generationshttps://new.feimaoapi.com/v1/images/edits文生图 · 文字生成图片
请求方式为 POST,请求头使用 Content-Type: application/json。必填字段为 model 和 prompt,不需要上传原图。
/v1/images/generations请求示例
curl https://new.feimaoapi.com/v1/images/generations \
-H "Authorization: Bearer $FEIMAO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一只戴着圆框眼镜的橘猫,工作室光线,细节丰富",
"size": "1024x1024",
"n": 1
}'文生图参数
promptstring图片描述,必填。建议明确主体、风格、构图和光线。ninteger生成图片数量,通常为 1;上限以账号和模型配置为准。sizestring图片尺寸,如 1024x1024;可用尺寸以模型实际支持为准。qualitystring图片质量档位,模型支持时可传 low、medium 或 high。response_formatstring返回格式,常用为 url 或 b64_json,以模型支持为准。图生图 · 上传参考图进行编辑
在参考图的基础上,根据提示词修改内容、风格或构图。使用 POST 和 multipart/form-data,必填字段为 model、prompt 和图片文件 image。
/v1/images/edits下面示例使用 gpt-image-2。将 input.png 替换为本地参考图路径;@ 表示上传文件内容。
curl https://new.feimaoapi.com/v1/images/edits \
-H "Authorization: Bearer $FEIMAO_API_KEY" \
-F "model=gpt-image-2" \
-F "image=@input.png" \
-F "prompt=给图中的橘猫戴上一顶蓝色帽子,保留原来的构图与光线" \
-F "size=1024x1024" \
-F "n=1"-F 或 SDK 上传文件时,由客户端自动设置 multipart 的 Content-Type 和 boundary,请勿手动设置为 application/json。图片字段应传文件内容,不能只传本地路径字符串。图生图参数
modelstring · 必填支持图像编辑的模型,示例使用 gpt-image-2;其他模型是否支持编辑取决于其渠道能力。promptstring · 必填编辑指令,明确描述需要修改和需要保留的内容。imagefile · 必填参考图片文件。建议先用一张 PNG、JPEG 或 WebP 图片接入;可接受格式和文件大小以模型及渠道限制为准。ninteger · 可选生成数量,建议从 1 张开始,实际返回数量以 data 数组为准。sizestring · 可选输出尺寸,如 1024x1024。省略时由模型决定,不保证与原图像素一致。qualitystring · 可选输出质量,仅在目标模型和渠道支持时传入。response_formatstring · 可选url 或 b64_json;可用格式及默认返回方式以模型和渠道配置为准。Python 图生图示例
安装依赖 pip install requests,并设置环境变量 FEIMAO_API_KEY。
import base64
import os
from pathlib import Path
import requests
with open("input.png", "rb") as image:
response = requests.post(
"https://new.feimaoapi.com/v1/images/edits",
headers={"Authorization": "Bearer " + os.environ["FEIMAO_API_KEY"]},
data={
"model": "gpt-image-2",
"prompt": "给图中的橘猫戴上一顶蓝色帽子,保留原来的构图与光线",
"size": "1024x1024",
"n": 1,
},
files={"image": ("input.png", image, "image/png")},
timeout=(30, 300),
)
response.raise_for_status()
result = response.json()["data"][0]
if result.get("url"):
print("图片地址:", result["url"])
elif result.get("b64_json"):
# 扩展名应与实际返回的图片编码一致。
Path("result.image").write_bytes(base64.b64decode(result["b64_json"]))
print("图片已保存至 result.image")
else:
raise ValueError("响应中未包含 url 或 b64_json")两个接口的返回结果
文生图与图生图均从 data 数组读取图片。URL 模式返回 data[].url;Base64 模式返回 data[].b64_json,需解码为图片字节。下面为结构示例:
{
"created": 1700000000,
"data": [{"url": "https://..."}]
}{
"created": 1700000000,
"data": [{"b64_json": "图片字节的Base64编码,不含data前缀"}]
}模型列表
以下列表来自当前 newapi 的启用模型配置与已启用渠道。模型可用性还会受到账号分组、额度和渠道状态影响。
图像模型
用于 /v1/images/generations
对话模型
用于 /v1/chat/completions
错误处理
请求失败时,接口会返回 JSON 错误对象。请结合 HTTP 状态码和 message 定位问题。
401API Key 缺失或无效检查 Authorization: Bearer ... 格式和密钥状态。403账号无权访问模型确认账号分组、模型权限和剩余额度。400请求参数错误检查 JSON 格式、必填字段和模型支持的参数。429频率或额度限制降低并发,稍后重试,或检查账号额度。500 / 502上游或服务暂时异常使用指数退避重试;持续失败时联系管理员。错误响应示例
{
"error": {
"message": "无效的令牌",
"type": "new_api_error",
"code": ""
}
}重试建议
对于 429、500、502、503 等临时错误,可使用 1s、2s、4s 的指数退避重试,并设置最大重试次数。对于 400、401、403,应先修正请求或账号配置再重试。