一:📰 文本对话接口:
Base URL
https://www.ming.store
这是您唯一需要填写的地址。所有 OpenAI 兼容客户端都会在此基础上自动拼接 /v1/chat/completions 或 /v1/models。
鉴权方式
在 HTTP 请求头中携带您的 API Key:
Authorization: Bearer sk-xxxxxxxxxxxxxxxx
查询可用模型
GET https://www.ming.store/v1/models
此接口无需 API Key 即可访问,返回所有可用模型的列表。
📋 复制curl https://www.ming.store/v1/models
可用模型列表
| 属性 | 详情 |
| 模型 ID | — |
| 平台 | — |
| 最大 Token | — |
| 上下文长度 | — |
发送对话请求
POST https://www.ming.store/v1/chat/completions
📌
文本对话专用接口:仅用于聊天、问答、文本生成。支持 DeepSeek、GPT、Qwen、Kimi、GLM 等大模型。
不支持图像或视频生成,如需文生图/文生视频,请使用页面下方的
多模态生成接口。
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
| model | string | 必填 | 模型 ID,请从上方“可用模型列表”中选择 | deepseek-v4-flash |
| messages | array | 必填 | 对话消息数组,每条消息包含 role(system/user/assistant)和 content | [{"role":"user","content":"你好"}] |
| max_tokens | int | 选填 | 最大输出 Token 数,不同模型默认值不同,范围 2048-4096 | 4096 |
| temperature | float | 选填 | 温度参数,控制生成内容的随机性,范围 0.0-2.0,默认 0.7 | 0.7 |
| stream | bool | 选填 | 是否启用流式响应,当前暂不支持,请设置为 false 或不传 | false |
响应格式
接口返回标准 OpenAI Chat Completion 格式的 JSON 数据。
📋 复制{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1234567890,
"model": "deepseek-v4-flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是 DeepSeek..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 50,
"completion_tokens": 200,
"total_tokens": 250
}
}
| 字段 | 类型 | 说明 |
| choices[0].message.content | string | AI 回复的文本内容 |
| choices[0].finish_reason | string | 结束原因:stop(正常结束)、length(达到最大长度) |
| usage.total_tokens | int | 本次调用消耗的总 Token 数 |
💻 调用示例
Python
📋 复制import openai
client = openai.OpenAI(
base_url="https://www.ming.store/v1",
api_key="sk-你的Key"
)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "user", "content": "你好,请介绍一下你自己"}
]
)
print(response.choices[0].message.content)
JavaScript (Node.js / 浏览器)
📋 复制const response = await fetch("https://www.ming.store/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "deepseek-v4-flash",
messages: [{"role": "user", "content": "你好"}]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);
curl
📋 复制curl -X POST "https://www.ming.store/v1/chat/completions" \
-H "Authorization: Bearer sk-你的Key" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"你好"}]}'
二:🎨 多模态生成(文生图 / 文生视频)
⚠️ 独立接口,与上方文本对话接口分离:图像和视频生成使用专属端点 /v1/multimodal/completions不是 /v1/chat/completions参数格式也不同,请仔细阅读下方文档。查询进度使用 /v1/multimodal/video_query
多模态 API 支持文生图和文生视频,与文本对话接口共享同一 API Key,但使用独立端点。
需要调用图像或视频模型时,请使用下方的专用接口,不要使用 Chat Completions 接口。
Base URL
https://www.ming.store
与文本对话接口共享同一个 Base URL,但端点路径不同(/v1/multimodal/completions 而非 /v1/chat/completions)。
鉴权方式
与文本对话接口完全一致,在 HTTP 请求头中携带您的 API Key:
Authorization: Bearer sk-xxxxxxxxxxxxxxxx
查询可用多模态模型
GET https://www.ming.store/v1/multimodal/models
此接口无需 API Key 即可访问,返回所有可用的图像和视频生成模型列表。
📋 复制curl https://www.ming.store/v1/multimodal/models
可用多模态模型列表
生成图像 / 视频(提交任务)
POST https://www.ming.store/v1/multimodal/completions
📌 多模态生成专用接口:根据所选模型类型自动路由到文生图或文生视频。图像为同步返回,视频为异步任务需轮询查询进度。
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
| model | string | 必填 | 模型 ID,请从上方"可用多模态模型列表"中选择 | agnes-image-2.1-flash |
| prompt | string | 必填 | 图像或视频的描述提示词 | 一只在月亮下奔跑的狼 |
| size | string | 选填 | 图像尺寸,仅对文生图模型有效。支持 1024x768、1024x1024、768x1024,默认 1024x768 | 1024x768 |
| image_url | string | 选填 | 参考图 URL(图生图/图生视频),不传则纯文生图/文生视频 | https://example.com/ref.jpg |
| negative_prompt | string | 选填 | 反向提示词,描述不想出现的内容 | 模糊、低质量 |
| seed | int | 选填 | 随机种子,用于结果复现 | 12345 |
视频查询进度
GET https://www.ming.store/v1/multimodal/video_query?video_id=任务ID
视频生成是异步任务,提交后返回 video_id,需轮询此接口查询进度。查询接口不消耗配额。
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
| video_id | string | 必填 | 视频提交任务返回的 video_id | task_xxxx |
📥 查询响应(进行中):
📋 复制{
"success": true,
"status": "processing",
"progress": 35
}
📥 查询响应(完成):
📋 复制{
"success": true,
"status": "completed",
"url": "https://cdn.example.com/videos/xxx.mp4",
"progress": 100
}
代码示例
Python · 文生图
📋 复制import requests
url = "https://www.ming.store/v1/multimodal/completions"
headers = {
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
}
data = {
"model": "agnes-image-2.1-flash",
"prompt": "一只在月亮下奔跑的狼",
"size": "1024x768"
}
resp = requests.post(url, json=data, headers=headers)
print(resp.json())
📥 成功响应示例(OpenAI 图像生成标准格式):
📋 复制{
"created": 1718200000,
"data": [
{
"url": "https://cdn.example.com/images/xxx.png"
}
]
}
JavaScript · 文生图
📋 复制const resp = await fetch("https://www.ming.store/v1/multimodal/completions", {
method: "POST",
headers: {
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "agnes-image-2.1-flash",
prompt: "一只在月亮下奔跑的狼"
})
});
const data = await resp.json();
console.log(data);
curl · 文生图
📋 复制curl -X POST "https://www.ming.store/v1/multimodal/completions" \
-H "Authorization: Bearer sk-你的Key" \
-H "Content-Type: application/json" \
-d '{"model":"agnes-image-2.1-flash","prompt":"一只在月亮下奔跑的狼"}'
Python · 文生视频(提交任务)
📋 复制import requests
import time
url = "https://www.ming.store/v1/multimodal/completions"
headers = {
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
}
data = {
"model": "agnes-video-v2.0",
"prompt": "海浪拍打礁石的慢动作",
"width": 1920,
"height": 1080,
"num_frames": 241,
"frame_rate": 24
}
# 提交视频生成任务
resp = requests.post(url, json=data, headers=headers)
result = resp.json()
print("提交结果:", result)
# 如果提交成功,轮询查询进度
if result.get("success"):
video_id = result["video_id"]
while True:
time.sleep(10)
query_resp = requests.get(
f"https://www.ming.store/v1/multimodal/video_query",
params={"video_id": video_id},
headers=headers
)
query_data = query_resp.json()
print(f"状态: {query_data.get('status')}, 进度: {query_data.get('progress', 0)}%")
if query_data.get("url"):
print(f"视频链接: {query_data['url']}")
break
JavaScript · 文生视频(提交任务 + 轮询)
📋 复制const resp = await fetch("https://www.ming.store/v1/multimodal/completions", {
method: "POST",
headers: {
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "agnes-video-v2.0",
prompt: "海浪拍打礁石的慢动作",
width: 1920,
height: 1080,
num_frames: 241,
frame_rate: 24
})
});
const result = await resp.json();
console.log("提交结果:", result);
// 如果提交成功,轮询查询进度
if (result.success) {
const videoId = result.video_id;
const poll = setInterval(async () => {
const qResp = await fetch(
`https://www.ming.store/v1/multimodal/video_query?video_id=${videoId}`,
{ headers: { "Authorization": "Bearer sk-你的Key" } }
);
const qData = await qResp.json();
console.log(`状态: ${qData.status}, 进度: ${qData.progress || 0}%`);
if (qData.url) {
clearInterval(poll);
console.log("视频链接:", qData.url);
}
}, 10000);
}
curl · 文生视频(提交任务)
📋 复制curl -X POST "https://www.ming.store/v1/multimodal/completions" \
-H "Authorization: Bearer sk-你的Key" \
-H "Content-Type: application/json" \
-d '{
"model": "agnes-video-v2.0",
"prompt": "海浪拍打礁石的慢动作",
"width": 1920,
"height": 1080,
"num_frames": 241,
"frame_rate": 24
}'