APIMart API 怎么用?从创建 Key 到首次请求的接入指南
简答:APIMart API 的首次接入可以按五步完成:准备账户并创建 API Key,确认当前文档中的 Base URL,调用模型列表获取可用模型 ID,先发送一次最小聊天请求,再根据具体模型处理图像或视频任务。本文是第三方接入指南,不代办注册、创建 Key 或充值;账户菜单、模型、价格和端点以当前 APIMart 控制台与官方文档为准。
定义:APIMart API 是把多种文本、图像和视频模型集中到统一接口中的 API 服务,其中聊天接口采用 OpenAI 兼容格式,图像和视频接口则应按对应模型文档核对请求参数与返回结构。
先看五步速查卡:从账户准备到第一次成功调用
如果你的目标是先确认 APIMart API 能不能正常调用,不建议一开始就配置视频、MCP 或复杂 SDK。先按下面顺序完成一条最小闭环:
- 准备账户:根据 APIMart 当前公开页面完成账户准备,并在当前控制台查找 API Key 管理区域。公开页面说明注册后可以在控制台生成 API Key,但具体按钮和菜单可能随版本变化。
- 保存 Key:把 Key 放在后端环境变量或密钥管理系统中,不要写入浏览器代码、公开仓库或日志。
- 确认地址:当前官方聊天和模型文档展示的接口体系是
https://api.apimart.ai/v1;复制代码前仍应以对应接口页面为准。 - 获取模型 ID:先请求模型列表,不要凭记忆把某个模型名写死。模型目录可能新增、更新、重命名或下线。
- 发送最小请求:先调用聊天接口确认 Key、Base URL、模型权限和网络连接,再处理图像或视频的独立流程。
| 步骤 | 需要确认 | 成功信号 |
|---|---|---|
| 账户准备 | 账户可以进入当前控制台 | 能够找到 API Key 或账户管理相关区域 |
| API Key | Key 已创建、未撤销、复制完整 | 请求头使用 Authorization: Bearer YOUR_API_KEY |
| Base URL | 没有遗漏或重复 /v1 | 最终聊天地址为当前文档确认的完整路径 |
| 模型 ID | 来自当前模型列表并且账户可见 | 模型列表返回该 ID,聊天请求不再报模型不存在 |
| 请求结果 | HTTP 状态码和 JSON 均正常 | 响应中出现模型输出字段或任务 ID |
APIMart 公开首页将接入流程概括为注册并创建 Key、修改 API endpoint、开始调用模型;但本文不把固定菜单路径写成跨版本规则。可先阅读APIMart 公开首页和官方文档索引,再以当前账户界面核对。
注册、创建 API Key 与充值:能核实到什么程度
公开资料可以确认的路径是:先准备 APIMart 账户,再进入当前控制台生成或管理 API Key。首页明确写有“Sign Up & Create Key”,支持页面也把创建、轮换和撤销 API Key 列为支持范围;但公开资料没有稳定展示一套可跨版本复现的中文菜单层级,因此不要把“设置→密钥→创建”之类经验路径当成固定规则。
- 从 APIMart 当前公开入口进入账户准备流程,完成账户验证后进入控制台。
- 在控制台中查找 API Key、Keys、API Keys 或类似的密钥管理区域;如果菜单名称不同,以当前页面说明为准。
- 创建新 Key 后只在生成时安全保存完整内容。若页面不再显示完整 Key,应按当前控制台提供的轮换或重新创建流程处理。
- 在本机或服务端设置环境变量,例如
APIMART_API_KEY,不要把真实 Key 写进代码。 - 如果账户需要 Credits 或余额才能调用付费模型,先在当前账单页面查看余额、用量、支付方式和消费记录。
关于充值,官方服务条款说明平台采用按量计费并使用 Credits 作为平台内虚拟单位;公开首页列出多种可能的支付渠道,但可用渠道和账户页面显示仍可能因地区、账户或版本不同而变化。充值前应核对模型单价、计费单位、余额变化、用量明细、退款规则和失败请求的计费说明。公开资料未能证明所有失败请求都不计费,因此不要把这类结论写入业务预算。
若找不到 Key、账单或用量入口,可以查看官方支持页面的 API keys、billing、integration 和 model availability 分类,并准备请求时间、HTTP 状态码和请求 ID;不要提交完整 API Key。
先确认模型列表,再发送最小聊天请求
模型目录和模型权限可能变化,最稳妥的做法是先用当前 Key 请求模型列表。官方模型列表文档给出的基础地址是 https://api.apimart.ai/v1/models,并支持通过扩展参数获取分类、能力标签和参数结构。下面的命令使用纯文本 URL,可以直接复制;请把 Key 放在当前终端环境变量中。
export APIMART_API_KEY='替换为你的 API Key'
curl --fail-with-body --request GET \
--url 'https://api.apimart.ai/v1/models' \
--header "Authorization: Bearer $APIMART_API_KEY"
如果返回模型列表,再从返回结果中选择一个当前 Key 可见的模型 ID。不要直接假定 gpt-5、gpt-4o 或其他名称一定对你的账户可用。官方聊天页面把模型字段标为可替换的模型 ID,但实际可用范围仍应以当前列表为准。
最小聊天请求如下。代码中的 YOUR_MODEL_ID 是占位符,不是可直接调用的固定模型名;请替换为上一步返回的真实 ID。
curl --fail-with-body --request POST \
--url 'https://api.apimart.ai/v1/chat/completions' \
--header "Authorization: Bearer $APIMART_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "YOUR_MODEL_ID",
"messages": [
{"role": "user", "content": "请只回复 OK。"}
]
}'
成功判断:HTTP 状态码为成功状态,并且响应 JSON 中出现模型输出相关字段。失败时先看:最终 URL、Authorization 是否带 Bearer、模型 ID 是否来自当前列表、请求体是否为合法 JSON。当前官方文档页面展示了 /v1/chat/completions,但接口页面和控制台可能随版本调整,正式接入前应以当前页面实测结果为准。
官方聊天文档可参考通用聊天接口,模型核对可参考模型列表与参数元数据接口。
Python 与 Node.js:两个可运行的最小请求示例
Python 示例依赖 Python 3.9 或更高版本以及 requests 包,适合后端脚本或本机验证。它会检查环境变量、超时、HTTP 错误、JSON 解析和关键响应字段。
python -m pip install requests
import json
import os
import requests
api_key = os.getenv("APIMART_API_KEY")
model_id = os.getenv("APIMART_MODEL_ID")
if not api_key:
raise RuntimeError("APIMART_API_KEY 未设置")
if not model_id:
raise RuntimeError("APIMART_MODEL_ID 未设置,请先从模型列表确认")
url = "https://api.apimart.ai/v1/chat/completions"
payload = {
"model": model_id,
"messages": [{"role": "user", "content": "请只回复 OK。"}]
}
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
try:
response = requests.post(url, json=payload, headers=headers, timeout=60)
response.raise_for_status()
data = response.json()
except requests.Timeout as exc:
raise RuntimeError("请求超时,请检查网络、服务状态和 timeout") from exc
except requests.HTTPError as exc:
raise RuntimeError(f"HTTP {response.status_code}: {response.text[:1000]}") from exc
except json.JSONDecodeError as exc:
raise RuntimeError(f"响应不是有效 JSON: {response.text[:500]}") from exc
choices = data.get("choices")
if not choices:
raise RuntimeError(f"响应缺少 choices 字段: {data}")
content = choices[0].get("message", {}).get("content")
if content is None:
raise RuntimeError(f"响应缺少 message.content: {data}")
print(content)
Node.js 示例使用 Node.js 18 或更高版本自带的 fetch,不依赖浏览器环境,也不依赖额外 SDK。将下面内容保存为 apimart-chat.mjs,并在同一终端设置环境变量。
const apiKey = process.env.APIMART_API_KEY;
const modelId = process.env.APIMART_MODEL_ID;
if (!apiKey) throw new Error("APIMART_API_KEY 未设置");
if (!modelId) throw new Error("APIMART_MODEL_ID 未设置");
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 60000);
try {
const response = await fetch("https://api.apimart.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: modelId,
messages: [{ role: "user", content: "请只回复 OK。" }]
}),
signal: controller.signal
});
const text = await response.text();
let data;
try {
data = JSON.parse(text);
} catch {
throw new Error(`响应不是有效 JSON:${text.slice(0, 500)}`);
}
if (!response.ok) {
throw new Error(`HTTP ${response.status}:${text.slice(0, 1000)}`);
}
const content = data?.choices?.[0]?.message?.content;
if (typeof content !== "string") {
throw new Error(`响应缺少 choices[0].message.content:${text.slice(0, 1000)}`);
}
console.log(content);
} finally {
clearTimeout(timeout);
}
Node.js 示例只能在服务端或本机受控环境运行,不要直接放进浏览器前端。临时环境变量通常只在当前终端有效;持久化环境变量、CI 配置和配置文件都要限制读取权限,并检查日志是否意外打印了 Key。
图像、视频与普通 REST API:不要混用请求流程
聊天、图像和视频并不是完全相同的接口。官方条款说明聊天 API 遵循 OpenAI 兼容请求格式,而图像和视频生成 API 使用各自的请求格式。文档索引能够看到图像系列、图像上传、视频系列和任务管理入口,但具体图像模型的字段可能不同,因此不能把聊天请求体直接改成“图像模型名”就认为调用成立。
图像调用的核对方法是:先在官方文档索引中进入目标图像模型页面,确认该模型的 POST 路径、必填字段、是否需要先上传图片、同步还是异步返回,再复制该页面提供的示例。当前公开资料没有足够证据支持一个适用于所有图像模型的统一端点,本文因此不编造通用图像 URL。对于需要上传图片的模型,还要确认图片 URL 是否公开可访问、格式和大小是否符合该模型要求。
视频文档则明确给出了异步流程。以下代码仅适用于官方 kling-v3 示例,不能直接套用到所有视频模型:
curl --fail-with-body --request POST \
--url 'https://api.apimart.ai/v1/videos/generations' \
--header "Authorization: Bearer $APIMART_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-v3",
"prompt": "A golden cat running on a sunlit meadow, cinematic quality",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}'
提交成功后,响应示例包含 status 和 task_id。记录真实返回的任务 ID,再查询:
curl --fail-with-body --request GET \
--url 'https://api.apimart.ai/v1/tasks/TASK_ID?language=en' \
--header "Authorization: Bearer $APIMART_API_KEY"
轮询时只处理当前任务的真实返回结构:若仍在处理中,等待后再次查询;若完成,按该模型文档读取结果;若失败或取消,保存错误信息并停止。不要无条件使用 data[0].task_id、result.videos[0] 等路径。视频生成接口和任务状态接口可分别参考Kling v3 官方接口文档与官方任务状态接口。
普通 REST API 还是 MCP?首次接入优先选哪一种
如果你的目标是让自己的后端、脚本或网站调用模型,优先选择普通 REST API。它的输入是 HTTP 请求,通常包括 Base URL、Bearer Key、模型 ID、JSON 参数和响应处理,适合服务端、定时任务、业务系统和自定义 SDK。
MCP 或 Agent Tools 面向的是能够读取工具描述并调用工具的客户端或 Agent。它解决的是“让支持 MCP 的应用发现和使用工具”,不是把普通 REST 请求替换成另一种模型参数格式。APIMart 的 Agent Tools 页面展示了设置 Key、连接远程 MCP 和验证工具列表的流程,但具体兼容客户端和启动方式仍需按对应工具文档核对。
| 你的目标 | 优先方式 | 原因 |
|---|---|---|
| 后端直接生成文本、图像或视频 | REST API | 请求、鉴权、重试和任务状态都能由业务代码控制 |
| 在支持工具调用的客户端中发现模型或工具 | MCP | 客户端负责读取工具描述并发起调用 |
| 先验证 Key 和模型是否可用 | 模型列表 REST 请求 | 链路短,便于区分认证问题和客户端配置问题 |
| 生产系统需要审计、预算和自定义错误处理 | 后端 REST API | 更容易统一记录业务 ID、请求状态和用量 |
不要因为客户端支持 MCP,就跳过模型列表和最小 REST 请求。先确认 Key、模型和接口本身正常,再决定是否接入 MCP,可以减少把客户端配置问题误判为 API 故障。
充值、计费与常见错误:按证据顺序排查
APIMart 官方条款说明平台使用 Credits,并按实际 API 请求和 token 使用情况计费;条款还要求用户自行监控用量和支出。具体模型价格、限速、并发、余额变化和当前可用支付方式,应以当前控制台、模型页面和账单记录为准。排查 402 时,先登录当前账户查看余额、Credits、用量明细和失败请求记录,再保存请求时间、模型 ID、状态码和请求 ID;不要只凭一次报错推断扣费规则。
| 状态码 | 先检查 | 下一步 |
|---|---|---|
| 400 | JSON、必填字段、类型和模型专属参数 | 回到具体模型文档逐字段核对 |
| 401 | Key 是否为空、过期、撤销,Bearer 是否完整 | 从服务端环境变量重新读取,不要把 Key 粘贴到日志 |
| 403 | 账户权限、模型范围或访问策略 | 重新请求模型列表并查看当前支持说明 |
| 404 | 域名、版本路径、端点或 task_id | 检查是否遗漏或重复 /v1 |
| 402 | 余额、Credits、账单状态和用量记录 | 核对当前账户页面与官方计费说明 |
| 429 | 频率、并发、额度或任务堆积 | 降低并发并使用指数退避;已有 task_id 时先查询 |
| 5xx 或超时 | 服务端临时错误、网络和 timeout | 保留响应体与请求 ID;生成任务不要盲目重复提交 |
这是通用排查顺序,不表示每个状态码都由 APIMart 以完全相同的业务原因返回。若仍无法判断,可按照官方支持页面要求提供脱敏后的请求信息。
发布到生产环境前的安全清单
- Key 放后端:浏览器、移动端和公开脚本都可能暴露凭据,前端应调用自己的后端接口。
- 代码与配置分离:Base URL、模型 ID、超时、轮询间隔和重试次数放入配置,不要散落在业务代码中。
- 日志脱敏:不要记录完整 Authorization 请求头、API Key、敏感提示词或未受控的结果 URL。
- 异步任务可追踪:保存业务 ID、task_id、提交时间、最终状态和错误信息。
- 避免重复提交:视频超时后先查询原 task_id,再决定是否重新创建任务。
- 版本边界明确:模型目录、菜单、参数、价格和可用性可能变化,升级后重新核对官方文档。
本文仅作为基于公开资料整理的第三方 AI API 接入指南,不是 APIMart 官方页面;注册、Key、充值、模型和端点以当前官方控制台及文档为准。
如果你希望减少多模型接入时的配置切换,可了解犀速-AI 的统一 API 接入方案,再按实际文档完成核对。
常见问题
APIMart API 的 Base URL 应该怎么填?
当前官方聊天和模型文档展示的接口体系是 https://api.apimart.ai/v1%EF%BC%8C%E8%81%8A%E5%A4%A9%E8%AF%B7%E6%B1%82%E7%A4%BA%E4%BE%8B%E4%B8%BA https://api.apimart.ai/v1/chat/completions%E3%80%82%E9%85%8D%E7%BD%AE%E5%89%8D%E4%BB%8D%E5%BA%94%E6%89%93%E5%BC%80%E5%AF%B9%E5%BA%94%E6%8E%A5%E5%8F%A3%E9%A1%B5%E9%9D%A2%E7%A1%AE%E8%AE%A4%EF%BC%8C%E9%81%BF%E5%85%8D%E9%81%97%E6%BC%8F%E6%88%96%E9%87%8D%E5%A4%8D%E6%8B%BC%E6%8E%A5 /v1。
没有 API Key 可以直接调用 APIMart API 吗?
公开模型列表和聊天示例都使用 Bearer Token 鉴权。应先按当前控制台流程准备账户并创建 API Key,再通过 Authorization: Bearer YOUR_API_KEY 发送请求;固定菜单名称以当前版本为准。
为什么不能直接把 gpt-5 写进代码?
官方示例使用过具体模型名,但模型目录和账户可见范围可能变化。更稳妥的做法是先请求模型列表,把返回的可用 ID 放入 APIMART_MODEL_ID,再发送聊天请求。
APIMart API 怎么充值,失败请求一定不扣费吗?
公开条款确认平台使用 Credits,并按实际请求和 token 使用情况计费;具体充值入口、支付方式、失败请求计费和退款规则应以当前账户账单页与官方条款为准。公开资料不足时,不要自行承诺失败请求一定免费。
APIMart API 有统一的图像接口吗?
文档索引列出了多个图像模型和图像上传入口,但不同模型的请求字段可能不同。应先进入目标模型页面,核对 POST 路径、必填参数、上传要求和同步或异步返回方式,不能把聊天接口请求体直接套用到图像模型。
视频任务返回 task_id 后怎么处理?
保存提交响应中的真实 task_id,然后使用当前任务状态接口查询。处理中等待后再查,完成时按对应模型文档读取结果,失败或取消时停止;不要无条件假设所有模型的结果字段都相同。
普通 REST API 和 MCP 应该选哪个?
后端、脚本或网站直接调用模型时优先使用 REST API;需要让支持工具调用的客户端发现和使用工具时,再考虑 MCP。建议先用模型列表和最小 REST 请求验证 Key,再配置 MCP。
相关阅读
- APIMart API 401:Key、Bearer 与 Base URL 排查
- APIMart docs:域名核对、首次调用与异步任务
- 核对 APIMart 页面、文档与 API 接口
- APIMart Credits、模型单价与账单核对
- APIMart MCP 与客户端配置方法
参考资料
- APIMart 官方首页:注册、创建 Key 与基础接入说明(apimart.ai)
- APIMart 官方文档索引:聊天、图像、视频与任务接口目录(docs.apimart.ai)
- APIMart 官方通用聊天接口文档(docs.apimart.ai)
- APIMart 官方模型列表与参数元数据接口(docs.apimart.ai)
- APIMart 官方 Kling v3 视频生成接口(docs.apimart.ai)
- APIMart 官方异步任务状态接口(docs.apimart.ai)
- APIMart 官方支持页面:账单、Key、集成与模型可用性(apimart.ai)
- APIMart 官方服务条款:模型变化、Key 安全与计费规则(apimart.ai)
- APIMart 官方 Agent Tools 页面:Key 与 MCP 配置说明(apimart.ai)