MigeAPI 文档

MigeAPI 提供统一的 AI 模型调用接口,兼容 OpenAI API 格式,支持文本对话、图像生成、视频生成等能力。

Base URL

https://api.migeapi.com

请求格式

所有请求使用 JSON 格式,请在请求头中设置:

Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

调用模式

MigeAPI 的接口分为两种调用模式:

模式适用接口说明
同步Claude 文本对话 /v1/messagesAnthropic Messages API 格式,请求后直接返回结果
同步GPT/Gemini 文本对话 /v1/chat/completionsOpenAI 兼容格式,请求后直接返回结果
异步图像生成、视频生成请求后返回 task_id,需轮询任务状态获取最终结果

图像和视频生成均为异步任务。完整调用流程如下:

┌─────────────────────────────────────────────────────────────┐
│  1. 提交生成请求 → 获得 task_id                              │
│  2. 使用 task_id 轮询任务状态                                │
│  3. 当 status = "completed" 时,从 result 字段获取下载链接    │
└─────────────────────────────────────────────────────────────┘

图像任务建议轮询间隔 3-5 秒,视频任务建议 10-15 秒。生成链接有效期为 24 小时,请及时下载保存。

认证方式

所有 API 请求需要在 HTTP Header 中携带 API Key 进行认证:

Authorization: Bearer sk-xxxxxxxxxxxxxxxx

API Key 可在控制台中创建和管理。请妥善保管您的 Key,不要在客户端代码中暴露。

文本系列 — 可用模型

Claude 系列(Anthropic)

Claude 系列模型使用 /v1/messages 接口,兼容 Anthropic Messages API 格式。

claude-opus-4-7
Anthropic · 最强推理
claude-opus-4-7-thinking
Anthropic · 深度思考
claude-opus-4-6
Anthropic · 高级推理
claude-opus-4-6-thinking
Anthropic · 深度思考
claude-opus-4-5-20251101
Anthropic · 高级推理
claude-sonnet-4-6
Anthropic · 均衡高效
claude-sonnet-4-6-thinking
Anthropic · 思考模式
claude-sonnet-4-5-20250929
Anthropic · 均衡高效
claude-sonnet-4-5-20250929-thinking
Anthropic · 思考模式
claude-haiku-4-5-20251001
Anthropic · 快速轻量
claude-haiku-4-5-20251001-thinking
Anthropic · 思考模式

GPT / Gemini 系列

以下模型使用 /v1/chat/completions 接口,兼容 OpenAI API 格式。

gpt-5.5
OpenAI · 旗舰模型
gpt-5.4
OpenAI · 高性能
gpt-5.3-codex
OpenAI · 代码专精
gemini-3.1-pro-preview
Google · 最新预览
gemini-3-pro-preview
Google · 稳定版

文本对话接口

Claude 系列 — Anthropic Messages API

POST/v1/messages

Claude 系列模型使用 Anthropic Messages API 格式,需要在请求头中添加 anthropic-version

请求参数

参数类型必填说明
modelstring模型名称,见上方 Claude 模型列表
messagesarray对话消息列表
max_tokensinteger最大输出 token 数
streamboolean是否流式输出,默认 false
temperaturenumber采样温度 0-1,默认 1
systemstring系统提示词(不放在 messages 中)

请求头

Header必填说明
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json
anthropic-version2023-06-01

请求示例

cURL
Python
Node.js
curl -X POST https://api.migeapi.com/v1/messages   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -H "anthropic-version: 2023-06-01"   -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "你好"}
    ]
  }'
from anthropic import Anthropic

client = Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.migeapi.com"
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}]
)
print(message.content[0].text)
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://api.migeapi.com"
});

const message = await client.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "你好" }]
});
console.log(message.content[0].text);

响应示例

{
  "id": "msg_20260517155837",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "你好!有什么可以帮助你的吗?"
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 9,
    "output_tokens": 15,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

GPT / Gemini 系列 — OpenAI 兼容接口

POST/v1/chat/completions

GPT 和 Gemini 系列模型使用 OpenAI Chat Completions API 格式。

请求参数

参数类型必填说明
modelstring模型名称
messagesarray对话消息列表
streamboolean是否流式输出,默认 false
temperaturenumber采样温度 0-2,默认 1
max_tokensinteger最大输出 token 数
top_pnumber核采样参数,默认 1

请求示例

cURL
Python
Node.js
curl -X POST https://api.migeapi.com/v1/chat/completions   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "你好"}
    ],
    "max_tokens": 1024
  }'
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.migeapi.com/v1"
)

response = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "你好"}],
    max_tokens=1024
)
print(response.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://api.migeapi.com/v1"
});

const response = await client.chat.completions.create({
  model: "gpt-5.5",
  messages: [{ role: "user", content: "你好" }],
  max_tokens: 1024
});
console.log(response.choices[0].message.content);

响应示例

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!有什么可以帮助你的吗?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

图像系列 — 可用模型

以下模型使用同一套接口和请求参数,只需更换 model 字段即可切换。

模型说明计费方式
gpt-image-2通用图像生成按张
gpt-image-2-official稳定性最佳,适合批量生产按实际用量
gpt-image-2.5-ext2.5 系列 · 扩展按实际用量
gpt-image-2.5-flare2.5 系列 · 快速按实际用量
gpt-image-2.5-sunburst2.5 系列 · 高画质按实际用量
blt-gpt-image-2经济版,单价最低按张
gemini-3-pro-image-previewGoogle · 图像生成按张
gemini-3.1-flash-image-previewGoogle · 快速图像生成按张

两种计费方式的区别

计费方式含义省钱建议
按张每次调用固定单价,与实际生成长度无关
按实际用量按本次请求实际消耗计算,随尺寸、画质、生成数量浮动不传 resolutionqualityn 时费用最低

各模型具体单价以控制台「价格」页为准。

图像生成接口

POST/v1/images/generations?async=true

异步接口 — 此接口不会直接返回图片,而是返回一个 task_id。您需要使用该 task_id 轮询查询接口,直到任务完成后获取图片下载链接。生成的图像链接有效期 24 小时,请及时保存。

请求参数

所有图像模型共用以下参数。

参数类型必填说明
modelstring模型名称,见上方可用模型
promptstring图像描述文本
sizestring尺寸比例:1:1 / 2:3 / 3:2 / 16:9 / 9:16
resolutionstring分辨率:1024(默认)/ 2k / 4k
qualitystring画质档位:low / medium / high / xhigh / max;不传为自动
ninteger生成数量:1 / 2 / 4,默认 1
image_urlsarray参考图像 URL 列表,最多 5 张,单张不超过 10MB

resolutionqualityn 都会影响费用与耗时,都可不传。仅 modelprompt 为必填,最省事的调用方式是只传这两个。

请求示例

cURL
Python
Node.js
curl -X POST https://api.migeapi.com/v1/images/generations?async=true \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只在星空下奔跑的白色柴犬,赛博朋克风格",
    "size": "16:9",
    "resolution": "2k",
    "n": 1
  }'
import requests

url = "https://api.migeapi.com/v1/images/generations?async=true"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "model": "gpt-image-2",
    "prompt": "一只在星空下奔跑的白色柴犬,赛博朋克风格",
    "size": "16:9",
    "resolution": "2k",
    "n": 1
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://api.migeapi.com/v1/images/generations?async=true", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "gpt-image-2",
    prompt: "一只在星空下奔跑的白色柴犬,赛博朋克风格",
    size: "16:9",
    resolution: "2k",
    n: 1
  })
});
const data = await response.json();
console.log(data);

响应示例

提交成功后返回任务 ID,注意字段在顶层,不是包在 data 数组里

{
  "id": "task_01K8SGYNNNVBQTXNR4MM964S7K",
  "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K",
  "status": "pending",
  "model": "gpt-image-2"
}

task_id 后,用下面的查询接口轮询结果。

查询图像任务

GET/v1/images/tasks/{task_id}

查询图像生成任务的状态和结果。

请求示例

curl https://api.migeapi.com/v1/images/tasks/task_01K8SGYNNNVBQTXNR4MM964S7K \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例(已完成)

{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://api.migeapi.com/v1/videos/task_01K8SGYNNNVBQTXNR4MM964S7K/content?expires=1763174708&sign=9f2c8e...",
    "fail_reason": "",
    "submit_time": 1763088289,
    "finish_time": 1763088308
  }
}

响应字段

字段类型说明
statusstringSUBMITTED / IN_PROGRESS / SUCCESS / FAILURE全大写
progressstring进度,形如 "100%"(带百分号的字符串)
result_urlstring生成结果下载地址,位于 data 顶层;status 为 SUCCESS 时才有值
fail_reasonstring失败原因,status 为 FAILURE 时才有值

请注意:status 的值是 SUCCESS 而不是 completedcode 是字符串 "success" 而不是数字 200。这两点是最容易踩的坑。

完整调用流程示例(Python)

以下示例展示了从提交图像生成请求到轮询获取结果的完整异步流程,可直接复制运行:

import requests
import time

API_KEY  = "YOUR_API_KEY"
BASE_URL = "https://api.migeapi.com"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# 第一步:提交图像生成请求(?async=true 不能省)
payload = {
    "model": "gpt-image-2",
    "prompt": "一只在星空下奔跑的白色柴犬,赛博朋克风格",
    "size": "16:9",
    "resolution": "2k",
    "n": 1
}
resp = requests.post(f"{BASE_URL}/v1/images/generations?async=true",
                     json=payload, headers=headers, timeout=60).json()
task_id = resp["task_id"]          # 顶层字段,不是 data[0]['task_id']
print(f"任务已提交: {task_id}")

# 第二步:轮询任务状态(建议间隔 3-5 秒)
while True:
    result = requests.get(f"{BASE_URL}/v1/images/tasks/{task_id}",
                          headers=headers, timeout=30).json()
    data = result["data"]
    status = data["status"]        # SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE
    print(f"状态: {status}, 进度: {data.get('progress')}")

    if status == "SUCCESS":
        # 第三步:取结果(链接有效期 24 小时,请及时转存)
        print(f"生成完成: {data['result_url']}")   # 顶层 result_url
        break
    elif status == "FAILURE":
        print(f"生成失败: {data.get('fail_reason')}")
        break

    time.sleep(4)

切换模型只需改 payload["model"],其余代码完全一样。

视频系列 — 可用模型

grok-video-3
xAI · 视频生成
doubao-seedance-2.0
字节跳动 · 标准质量
doubao-seedance-2.0-fast
字节跳动 · 快速生成
veo3.1-fast
Google · 快速生成
veo3.1-lite
Google · 轻量版

视频生成接口

POST/v1/videos

异步接口 — 此接口不会直接返回视频,而是返回一个 task_id。您需要使用该 task_id 轮询查询接口,直到任务完成后获取视频下载链接。视频生成通常需要 1-5 分钟,生成的链接有效期 24 小时。

请求参数

参数类型必填说明
modelstring模型名称
promptstring视频描述文本
durationinteger视频时长(秒),默认模型决定
aspect_ratiostring画面比例:16:9(横屏)/ 9:16(竖屏)
resolutionstring分辨率:720p(默认)/ 1080p
image_urlsarray参考图像 URL,用于图生视频

请求示例

cURL
Python
Node.js
curl -X POST https://api.migeapi.com/v1/videos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo3.1-fast",
    "prompt": "海豚在碧蓝海洋中跳跃,阳光洒在水面上",
    "duration": 8,
    "aspect_ratio": "16:9"
  }'
import requests

url = "https://api.migeapi.com/v1/videos"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "model": "veo3.1-fast",
    "prompt": "海豚在碧蓝海洋中跳跃,阳光洒在水面上",
    "duration": 8,
    "aspect_ratio": "16:9"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://api.migeapi.com/v1/videos", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "veo3.1-fast",
    prompt: "海豚在碧蓝海洋中跳跃,阳光洒在水面上",
    duration: 8,
    aspect_ratio: "16:9"
  })
});
const data = await response.json();
console.log(data);

响应示例

{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01K9S419324DREZFBWNSVXYR6H"
    }
  ]
}

查询视频任务

GET/v1/videos/{task_id}

查询视频生成任务的状态和结果。

请求示例

curl https://api.migeapi.com/v1/videos/task_01K9S419324DREZFBWNSVXYR6H \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例(已完成)

{
  "code": 200,
  "data": {
    "id": "task_01K9S419324DREZFBWNSVXYR6H",
    "status": "completed",
    "progress": 100,
    "result": {
      "videos": [
        {
          "url": ["https://example.com/generated-video.mp4"],
          "expires_at": 1762940095
        }
      ]
    },
    "created": 1762853430,
    "completed": 1762853695,
    "estimated_time": 600,
    "actual_time": 265
  }
}

完整调用流程示例(Python)

以下示例展示了从提交视频生成请求到轮询获取结果的完整异步流程:

import requests
import time

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.migeapi.com"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# 第一步:提交视频生成请求
payload = {
    "model": "veo3.1-fast",
    "prompt": "海豚在碧蓝海洋中跳跃,阳光洒在水面上",
    "duration": 8,
    "aspect_ratio": "16:9"
}
resp = requests.post(f"{BASE_URL}/v1/videos", json=payload, headers=headers)
task_id = resp.json()["data"][0]["task_id"]
print(f"任务已提交: {task_id}")

# 第二步:轮询任务状态(视频生成较慢,建议间隔 10-15 秒)
while True:
    result = requests.get(f"{BASE_URL}/v1/videos/{task_id}", headers=headers).json()
    status = result["data"]["status"]
    progress = result["data"].get("progress", 0)
    print(f"状态: {status}, 进度: {progress}%")

    if status == "completed":
        # 第三步:获取结果(链接有效期 24 小时)
        video_url = result["data"]["result"]["videos"][0]["url"][0]
        print(f"生成完成: {video_url}")
        break
    elif status == "failed":
        print(f"生成失败: {result['data'].get('error', '未知错误')}")
        break

    time.sleep(15)

任务状态说明

图像和视频生成均为异步任务,提交后需轮询查询结果。两个接口的状态值写法不同,不要混用

含义图像接口 /v1/images/tasks/{id}视频接口 /v1/videos/{id}
排队中SUBMITTEDqueued
处理中IN_PROGRESSin_progress
已完成SUCCESScompleted
已失败FAILUREfailed

轮询时只需判断"已完成 / 已失败"两个终态,其余状态继续等待即可。任务失败时会自动退还预扣费用,不会产生扣费。

建议轮询间隔:图像任务 3-5 秒,视频任务 10-15 秒。

账号与余额

登录控制台可查看账号余额、使用记录和 API Key 管理。

如需充值或有其他问题,请联系管理员。