从这里,开始你的 AI 创作。
欢迎来到熊猫image 文档中心。了解平台使用方式,查找模型与接口指南,让每一次调用都有清晰的参考。
图片与视频协议已更新 · 已收录香蕉统一协议、GPT Image 2/2.5、Grok 图片与视频、MJ v8.2-特惠。
按你的需求,找到入口
查看模型目录 →文本与对话
对话生成、内容创作、推理与编程。
图片生成
从文字或参考图片出发,了解图像生成。
视频生成
了解视频生成方式与任务处理流程。
音频与语音
了解语音合成、识别与音频处理。
接入前的三个步骤
登录控制台
查看账户信息、可用分组和当前余额。
创建 API Key
选择对应分组,保存并妥善保管密钥。
选择模型
确认完整模型名,阅读对应的调用说明。
你可能还需要
快速开始
准备 API Key,选择模型,再复制对应协议示例。本站域名为 https://api.pandatk.com。
01 · 准备 API Key
登录控制台创建 API Key,选择支持目标模型的分组。示例密钥均为占位内容。
打开控制台 ↗export SUB2API_KEY='替换为你的熊猫 API Key'cURL 示例使用 Bash 换行语法;Windows 可在 WSL 或 Git Bash 中运行,不要直接粘贴到 PowerShell。请勿把真实密钥发布到公开网页或代码仓库。
02 · 地址与鉴权
| 用途 | 地址 / 请求头 |
|---|---|
| OpenAI 兼容客户端 Base URL | https://api.pandatk.com/v1(客户端会追加端点时使用) |
| Images 文生图 | POST https://api.pandatk.com/v1/images/generations |
| Chat 格式 | POST https://api.pandatk.com/v1/chat/completions |
| Gemini 格式 | POST https://api.pandatk.com/v1beta/models/{model}:generateContent |
| 视频任务 | POST https://api.pandatk.com/v1/videos |
| 鉴权 | OpenAI / 视频:Authorization: Bearer …;Gemini 示例:x-goog-api-key: … |
客户端需要完整端点时,直接填写完整 URL;不要重复拼接 /v1。不同分组的可用协议可能不同。
03 · 第一次图片请求
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/generations' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gpt-image-2",
"prompt": "一只坐在窗边的橘猫,柔和自然光",
"n": 1,
"size": "1024x1024",
"response_format": "url"
}' 成功后读取 data[0].url。更多参数见 GPT Image 2/2.5;其他模型从 模型目录进入。
模型目录
按模型选择调用协议。以下收录本次已整理的图片与视频接口;API Key 所属分组决定实际可用模型。
模型名必须与当前分组开放的名称一致。MJ 仅接入 v8.2-特惠;文本和音频尚无本次参考协议。
| 模型 / 调用名称 | 能力与协议 | 返回方式 | 文档 |
|---|---|---|---|
GPT Image 2/2.5gpt-image-22.5 型号使用控制台完整名称 | 文生图 / 图生图 · Images | 同步 | 查看协议 → |
香蕉模型 · 统一协议gemini-nano-banana-2.1gemini-3-pro-imagegemini-3-pro-image-previewgemini-3.1-flash-imagegemini-3.1-flash-image-previewgemini-2.5-flash-image | 文生图 / 图生图 Gemini 官方 · Images · Chat | 同步 | 查看统一协议 → |
Grok 文生图grok-imagine-image-2.0 | 文生图 · Images | 同步 | 查看协议 → |
Grok 图生图grok-imagine-image-edit | 图像编辑 · Images | 同步 | 查看协议 → |
Midjourney v8.2-特惠Midjourney v8.2-特惠 | 文生图 / 单张参考图 | 同步 | 查看协议 → |
Grok 视频grok-imagine-video | 文生视频 | 异步任务 | 查看协议 → |
Grok 视频 1.5grok-imagine-video-1.5 | 图生视频 / 文生视频 | 异步任务 | 查看协议 → |
香蕉模型统一调用
上述六个香蕉模型共用同一份协议文档。Gemini 官方格式在 URL 路径中填写模型名,Images / Chat 格式在 model 中填写相同的完整名称。
文本与对话
对话、内容创作、推理与编程相关的接口说明。 本栏目已预留,具体协议暂未填写。
模型使用指南 · 待补充
后续将按照实际接入情况,逐个补充完整的模型说明和示例。当前页面不作为可直接调用的接口参考。
支持模型
模型清单待整理,请先在控制台查看当前分组可用的模型。不会将尚未开放的上游功能标记为本站已支持。
文档内容安排
功能与参数
待补充:支持模型与上下文范围、消息格式、流式响应、工具调用与代码示例。
请求与响应示例
待协议确认后补充可复制的示例。各模型的接口、字段和输出方式可能不同,请勿混用。
图片生成
按模型找到正确端点。Images、Chat、Gemini 的字段和返回结构不同,请使用同一协议的完整示例。
GPT Image 2/2.5
gpt-image-2文生图 / 图生图 · Images
2.5 型号使用控制台完整名称
香蕉模型
六个模型 · 共用协议
文生图 / 图生图
Gemini 官方协议优先,兼容 Images / Chat
Grok 文生图
grok-imagine-image-2.0文生图 · Images
阅读参数与示例 →同步Grok 图生图
grok-imagine-image-edit图像编辑 · Images
阅读参数与示例 →同步Midjourney v8.2-特惠
Midjourney v8.2-特惠文生图 / 单张参考图
阅读参数与示例 →端点与参考图传法
| 模型 | 文生图 | 参考图 / 图生图 |
|---|---|---|
| GPT Image 2/2.5 | /v1/images/generations | /v1/images/edits:multipart 上传文件;JSON 使用 images[].image_url |
| 香蕉模型(六个名称) | Gemini 官方、Images、Chat | Gemini 用 inline_data / fileData;Images 用 multipart;Chat 用 image_url |
| Grok 图片 | grok-imagine-image-2.0 | 切换模型 grok-imagine-image-edit 和端点 /v1/images/edits |
| MJ v8.2-特惠 | /v1/images/generations | 同一端点,用 image 或 images,最多 1 张 |
结果与超时
Images 的 URL 示例从 data[].url 取图。GPT Image 2/2.5 也支持 response_format=b64_json,从 data[].b64_json 解码图片。不要把视频任务轮询用于同步图片接口;请求超时后先核对使用记录,避免重复生成产生多次费用。
视频生成
Grok 视频采用创建、查询和下载三个步骤。按输入类型选择模型,使用同一个 API Key 完成整个任务流程。
三个端点
| 步骤 | 端点 | 结果 |
|---|---|---|
| 创建 | POST /v1/videos | 返回任务 ID |
| 查询 | GET /v1/videos/{task_id} | 状态、进度和完成地址 |
| 下载 | GET /v1/videos/{task_id}/content | completed 后获取文件 |
Python 轮询示例
先按模型页示例创建任务,再设置下面的环境变量。此程序只查询已有任务,不重复创建视频。
export SUB2API_KEY='替换为你的熊猫 API Key'
export TASK_ID='替换为创建返回的任务ID'import json
import os
import time
from urllib.request import Request, urlopen
base_url = "https://api.pandatk.com"
api_key = os.environ["SUB2API_KEY"]
task_id = os.environ["TASK_ID"] # 创建接口返回的实际 ID
deadline = time.monotonic() + 900 # 客户端示例上限,不代表服务端 SLA
while time.monotonic() < deadline:
request = Request(
f"{base_url}/v1/videos/{task_id}",
headers={"Authorization": f"Bearer {api_key}"},
)
with urlopen(request, timeout=30) as response:
task = json.load(response)
status = task.get("status")
print(status, task.get("progress"))
if status == "completed":
print(task.get("video_url") or task.get("url"))
break
if status in {"failed", "cancelled"}:
raise RuntimeError(task)
if status not in {"queued", "in_progress"}:
raise RuntimeError(f"未知状态,请检查响应:{task}")
time.sleep(5)
else:
raise TimeoutError(f"客户端停止等待,保留任务 ID 后续查询:{task_id}")
请求失败时,示例会抛出异常。正式客户端可对查询加入退避重试;创建任务是否已被接收不确定时,先核对记录。
音频与语音
语音合成、语音识别与音频处理相关的接口说明。 本栏目已预留,具体协议暂未填写。
模型使用指南 · 待补充
后续将按照实际接入情况,逐个补充完整的模型说明和示例。当前页面不作为可直接调用的接口参考。
支持模型
模型清单待整理,请先在控制台查看当前分组可用的模型。不会将尚未开放的上游功能标记为本站已支持。
文档内容安排
功能与参数
待补充:支持模型、输入格式、音色与语言、输出格式、文件大小和计费单位。
请求与响应示例
待协议确认后补充可复制的示例。各模型的接口、字段和输出方式可能不同,请勿混用。
充值与计费
查找充值入口,了解余额、计费方式和用量记录。具体模型价格以控制台及购买页面显示为准。
充值入口
为账户补充额度
请使用 Sub 主站中的充值按钮查看商品和使用说明。如果购买的是兑换码,请按商品说明在控制台兑换。
计费说明
不同模型,计费单位可能不同
文本、图片、视频和音频可能采用不同的计费方式。此处将补充各类模型的计费单位、分组价格、倍率及扣费示例,暂不展示未确认的价格。
- 调用前确认模型所属分组及其价格。
- 输出数量、规格、时长等参数可能影响最终费用。
- 请结合请求对应的使用记录核对费用。
查看使用记录
登录控制台后,在使用记录中查看调用时间、模型、状态和费用。若费用有疑问,请记录调用时间和请求标识,联系站内提供的客服渠道。
返回控制台查看用量 ↗GPT Image 2/2.5
OpenAI Images 格式,支持文生图和图生图,同步返回图片。以下使用 gpt-image-2 演示调用。
/v1/images/generations模型名称:「GPT Image 2/2.5」是本页分类名称。本次实测出图成功的名称:gpt-image-2、gpt-image-2.5、gpt-image-2.5-flare。替换示例中的 model,并确认 API Key 所属分组已开放该名称。文生图与图生图分别使用下方对应端点。
文生图参数
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 示例 gpt-image-2。 |
prompt | 是 · string | 图片描述。 |
n | 否 · integer | 数量;示例 1。可用范围以所选模型为准。 |
size | 否 · string | 示例 1024x1024。 |
quality | 否 · string | 质量,示例 auto。 |
background | 否 · string | 背景,示例 auto。 |
response_format | 否 · string | url 返回图片链接;b64_json 返回 Base64 图片数据。详见返回结果。 |
output_format | 否 · string | 文件格式,示例 png。 |
文生图示例
先按快速开始设置 SUB2API_KEY。参考图地址、本地文件路径和 Base64 占位内容需要替换。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/generations' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gpt-image-2",
"prompt": "一只坐在窗边的橘猫,电影光影,高清细节",
"n": 1,
"size": "1024x1024",
"quality": "auto",
"background": "auto",
"response_format": "url",
"output_format": "png"
}' 图生图
/v1/images/edits提供至少一张参考图,并用 prompt 描述希望生成的图片。支持本地文件上传和 JSON 参考图输入,同步返回生成结果。本站图生图使用 /v1/images/edits 接口路径。
选择一种请求格式:本地文件使用 multipart/form-data;URL 或 Base64 使用 application/json。两种格式的参考图字段不同,分别按下方完整示例填写。
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 使用控制台开放的完整模型名。以下以 gpt-image-2 为例;2.5 型号替换此字段即可,参数支持范围以所选模型为准。 |
prompt | 是 · string | 生成要求,建议说明参考图的主体、构图和目标风格。 |
image / image[] | multipart 必填 · file | 至少一个文件;重复字段可上传多张参考图。 |
images | JSON 必填 · object[] | 至少一项,每项使用 image_url,值为 HTTP(S) URL 或完整 Data URL。 |
n | 否 · integer | 输出图片数量,示例为 1;不是参考图数量。 |
size | 否 · string | 输出尺寸,示例为 1024x1024。 |
response_format | 否 · string | url 返回图片链接;b64_json 返回 Base64 图片数据。详见返回结果。 |
图生图 · 本地单图上传
先按快速开始设置 SUB2API_KEY,再把 ./reference.png 换成实际文件路径。下方命令适用于 Bash / WSL。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/edits' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-F 'model=gpt-image-2' \
-F 'prompt=保留参考图中的主体与构图,将背景改成温暖的咖啡馆,保持自然光影' \
-F 'image=@./reference.png' \
-F 'n=1' \
-F 'size=1024x1024' \
-F 'response_format=url'使用 -F 时,由 cURL 自动生成 multipart 的 Content-Type 和 boundary,无需手动设置该请求头。@ 表示读取本地文件,必须保留。
图生图 · 多张参考图
按提示词中的顺序上传参考图,分别说明每张图的作用。上传数量及文件限制以所选模型为准。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/edits' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-F 'model=gpt-image-2' \
-F 'prompt=使用第一张图中的商品,参考第二张图的场景与光线,生成一张自然的商品展示图' \
-F 'image[]=@./product.png' \
-F 'image[]=@./scene.png' \
-F 'n=1' \
-F 'size=1024x1024' \
-F 'response_format=url'本站接受重复的 image[] 文件字段,也可重复使用 image。示例上传两张参考图并请求生成一张结果图。
图生图 · 图片 URL
将示例 URL 换成服务端可直接读取的实际图片地址。多图时,在 images 数组中继续添加 image_url 对象。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/edits' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gpt-image-2",
"prompt": "保留参考图的主体,将画面改成水彩插画风格",
"images": [
{
"image_url": "https://example.com/reference.png"
}
],
"n": 1,
"size": "1024x1024",
"response_format": "url"
}'图生图 · Base64 参考图输入
仍向 /v1/images/edits 发送 JSON,将上例的请求体替换为下方内容。图片需要先进行 Base64 编码,并替换占位文字;保留 data:image/png;base64, 前缀,JPEG 图片使用 data:image/jpeg;base64,。
{
"model": "gpt-image-2",
"prompt": "保留参考图的主体,将画面改成水彩插画风格",
"images": [
{
"image_url": "data:image/png;base64,替换为完整的Base64图片内容"
}
],
"n": 1,
"size": "1024x1024",
"response_format": "url"
}编码内容应为完整图片数据,不包含换行。URL 与 Data URL 均放在 images[].image_url 中,不能用本地路径或文件 ID 代替。
返回结果 · URL / Base64
返回格式选择:需要直接保存图片时建议使用 b64_json。2026-10-28 本机 WSL 实测中,以上三个模型的本地单图上传均返回并成功解码 1024×1024 PNG;gpt-image-2 的单图、多图及 JSON 参考图请求可返回 URL,但本机下载返回链接时出现超时,尚未完成 URL 图片下载验证。
gpt-image-2.5-sunburst 虽出现在本次密钥的模型列表中,但本次图生图调用返回 HTTP 400 / GPT_IMAGE_UPSTREAM_ERROR,上游返回文字而未生成图片;暂不标记为实测通过。
文生图和图生图都通过 response_format 选择输出。JSON 请求体使用 "response_format": "b64_json";multipart 请求使用 -F 'response_format=b64_json'。
| response_format | 结果字段 | 读取方式 |
|---|---|---|
url | data[].url | 读取图片链接。 |
b64_json | data[].b64_json | 将纯 Base64 数据解码为图片。 |
URL 返回结果
{
"created": 1793100000,
"data": [
{
"url": "https://example.com/generated/image-1.png"
}
]
}遍历 data 获取每张图片的 url。示意地址不是实际生成结果。
Base64 返回结果
将 response_format 设置为 b64_json。下面用图生图演示,并将完整 JSON 响应保存到 response.json;文生图在原 JSON 请求体中设置相同参数即可。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/edits' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-F 'model=gpt-image-2' \
-F 'prompt=参考图片中的主体和构图,生成一张温暖的水彩插画' \
-F 'image=@./reference.png' \
-F 'n=1' \
-F 'size=1024x1024' \
-F 'output_format=png' \
-F 'response_format=b64_json' \
-o response.json{
"created": 1793100000,
"data": [
{
"b64_json": "此处为完整的Base64图片内容"
}
]
}读取每一项 data[].b64_json。它是纯 Base64 字符串,不含 data:image/png;base64, 前缀;示例中的中文占位文字需以实际响应为准。
输入与输出分别设置:参考图可以通过文件、URL 或 Base64 传入;生成结果是否返回 Base64,由 response_format 决定。
将 Base64 结果保存为图片
在 response.json 所在目录运行以下 Python 3 代码。示例生成 PNG 文件;修改 output_format 时,也需修改保存文件的扩展名。
import base64
import json
from pathlib import Path
# 读取上方 cURL 保存的实际响应;示意响应中的占位文字不能解码。
response = json.loads(Path("response.json").read_text(encoding="utf-8"))
images = response.get("data", [])
if not images:
raise ValueError(f"响应中没有图片:{response.get('error', response)}")
# 上方请求指定 output_format=png,因此保存为 .png。
output_dir = Path("generated-images")
output_dir.mkdir(exist_ok=True)
for index, item in enumerate(images, start=1):
image_bytes = base64.b64decode(item["b64_json"], validate=True)
output_path = output_dir / f"image-{index}.png"
output_path.write_bytes(image_bytes)
print(f"已保存:{output_path}")
使用说明
- 文生图调用
/v1/images/generations;图生图调用/v1/images/edits。 - 图生图至少需要一张参考图。先确认图片路径、URL 可访问性或 Base64 内容完整,再发起请求。
- 模型名使用当前分组开放的完整名称;数量、尺寸、格式等参数的可选范围以所选模型为准。
- 图片接口同步返回结果,无需任务轮询。超时后先核对用量记录,避免重复提交。
香蕉模型 · 统一协议
以下六个香蕉模型共用本页调用协议,支持文生图与图生图。优先查看 Gemini 官方协议,也可使用 OpenAI Images 或 Chat 兼容格式。
适用模型 · 六个名称共用协议
| 完整模型名 | 能力 |
|---|---|
gemini-nano-banana-2.1 | 文生图 / 图生图 |
gemini-3-pro-image | 文生图 / 图生图 |
gemini-3-pro-image-preview | 文生图 / 图生图 |
gemini-3.1-flash-image | 文生图 / 图生图 |
gemini-3.1-flash-image-preview | 文生图 / 图生图 |
gemini-2.5-flash-image | 文生图 / 图生图 |
如何切换模型:Gemini 替换 URL 路径中的模型名;Images / Chat 替换请求体中的 model,本地文件上传时替换同名表单字段。三个格式都使用上表完整名称。示例统一使用 gemini-3-pro-image-preview。
请求结构相同,模型可用性及 1K / 2K 等尺寸规格以当前分组和所选模型支持范围为准。
先按快速开始设置 SUB2API_KEY。参考图 URL、本地文件路径和 Base64 占位内容需要替换。
协议一 · Gemini 官方协议
/v1beta/models/{model}:generateContent| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
contents[].parts[].text | 是 · string | 生成描述或编辑要求。 |
generationConfig.imageConfig.aspectRatio | 否 · string | 示例 1:1 / 16:9。 |
generationConfig.imageConfig.imageSize | 否 · string | 示例 1K / 2K。 |
contents[].parts[].inline_data | 参考图方式一 · object | mime_type 为 MIME;data 为纯 Base64,不带 data URL 前缀。 |
contents[].parts[].fileData | 参考图方式二 · object | mimeType 为 MIME;fileUri 为可访问的图片 URL。 |
generationConfig.responseModalities | 否 · string[] | 此处使用 ["IMAGE"];本站兼容路由 URL 输出约定见下一节。 |
六个模型共用 POST /v1beta/models/{model}:generateContent。将 URL 中的模型名替换为上表任意一个完整名称,JSON 请求结构保持一致。使用本站域名与熊猫 API Key,鉴权请求头为 x-goog-api-key。
文生图 · Base64 输出
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1beta/models/gemini-3-pro-image-preview:generateContent' \
-H "x-goog-api-key: ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "一只可爱的橘猫,皮克斯风格,柔和的光线"
}
]
}
],
"generationConfig": {
"responseModalities": [
"IMAGE"
],
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "1K"
}
}
}' 图生图 · 纯 Base64 输入
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1beta/models/gemini-3-pro-image-preview:generateContent' \
-H "x-goog-api-key: ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "保留图片主体,将背景改成雨夜城市,插画风格"
},
{
"inline_data": {
"mime_type": "image/png",
"data": "替换为图片的纯Base64数据"
}
}
]
}
],
"generationConfig": {
"responseModalities": [
"IMAGE"
],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "2K"
}
}
}' 图生图 · URL 与多张参考图
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1beta/models/gemini-3-pro-image-preview:generateContent' \
-H "x-goog-api-key: ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "结合图1的构图和图2的配色生成赛博朋克图片"
},
{
"fileData": {
"mimeType": "image/jpeg",
"fileUri": "https://example.com/image-1.jpg"
}
},
{
"fileData": {
"mimeType": "image/png",
"fileUri": "https://example.com/image-2.png"
}
}
]
}
],
"generationConfig": {
"responseModalities": [
"IMAGE"
],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "2K"
}
}
}' 多张图通过追加 fileData 内容块传入;只传一张时保留一个图片块。图片地址须能被服务端直接访问。
Base64 返回结果
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"inline_data": {
"mime_type": "image/png",
"data": "此处为完整的Base64图片内容"
}
}
]
},
"finishReason": "STOP",
"index": 0
}
],
"modelVersion": "gemini-3-pro-image-preview"
}对 inline_data.data 进行 Base64 解码即可保存图片;兼容处理 inlineData / mimeType 驼峰字段。图片数据位于返回的内容块中;生成结果的 MIME 类型以响应为准。
Gemini · 本站 URL 输出扩展
["TEXT"] → URL 是本站香蕉兼容接口文档中的约定,不作为 Google 原生 API 的通用规则。下方同样使用六个模型中的完整名称;该扩展由本站兼容路由提供。
请求 URL 输出
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1beta/models/gemini-3-pro-image-preview:generateContent' \
-H "x-goog-api-key: ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"contents": [
{
"parts": [
{
"text": "画一只戴帽子的猫"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT"
]
}
}' {
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "https://example.com/generated/cat.png"
},
{
"file_data": {
"mime_type": "image/png",
"file_uri": "https://example.com/generated/cat.png"
}
}
]
},
"finishReason": "STOP",
"index": 0
}
],
"modelVersion": "gemini-3-pro-image-preview",
"responseId": "example-response-id"
}遍历 candidates[].content.parts[],读取 text 中的链接或 file_data.file_uri,不依赖数组的固定位置。
需要 Base64 时使用上方 Gemini 示例的 ["IMAGE"];本站 URL 模式返回链接,不同时附带 Base64 图片数据。
协议二 · OpenAI Images 兼容协议
/v1/images/generations| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 上表任意完整模型名;示例 gemini-3-pro-image-preview。 |
prompt | 是 · string | 生成描述或编辑要求。 |
size | 否 · string | 文生图示例 1024x1024;编辑示例 2K。 |
response_format | 否 · string | 本页使用 url。 |
image | 编辑必填 · file | multipart 文件字段;重复 image 字段可传多张参考图。 |
文生图
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/generations' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gemini-3-pro-image-preview",
"prompt": "一只戴着巫师帽的橘猫,插画风格",
"size": "1024x1024",
"response_format": "url"
}' 图生图 · 上传本地文件
/v1/images/editscurl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/edits' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-F 'model=gemini-3-pro-image-preview' \
-F 'prompt=结合两张参考图,生成一张夜景风格图片' \
-F 'image=@/home/user/input-1.png' \
-F 'image=@/home/user/input-2.png' \
-F 'size=2K' \
-F 'response_format=url' 替换本地文件路径;仅一张图时删除第二个 image 字段。使用 -F 时由 cURL 自动生成 multipart 请求头,不要手动设置 JSON Content-Type。
{
"created": 1793100000,
"data": [
{
"url": "https://example.com/generated/image-1.png"
}
]
}协议三 · OpenAI Chat 兼容协议
/v1/chat/completions| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 上表任意完整模型名;示例 gemini-3-pro-image-preview。 |
messages | 是 · array | 用户消息 content 使用内容块数组。 |
aspect_ratio | 否 · string | 画幅,示例 3:4。 |
image_size | 否 · string | 规格,示例 2K。 |
stream | 否 · boolean | 以下示例使用 false。 |
messages[].content[].image_url.url | 图生图使用 · string | 参考图 data URL,带 data:image/png;base64,… 前缀。 |
文生图
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/chat/completions' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gemini-3-pro-image-preview",
"aspect_ratio": "3:4",
"image_size": "2K",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "一只可爱的甜甜圈猫咪,皮克斯风格,柔和的光线"
}
]
}
],
"stream": false
}' 图生图
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/chat/completions' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "gemini-3-pro-image-preview",
"aspect_ratio": "3:4",
"image_size": "2K",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "把这张图改成皮克斯风格,加入柔和光线"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,替换为完整的图片Base64"
}
}
]
}
],
"stream": false
}' Chat 响应先检查 choices[].message。参考文档未固定图片输出字段或内容块格式,应按实际响应提取;需要固定 data[].url 时可选 Images 协议。
Grok 文生图
使用 JSON 请求,同步返回图片。文生图与图生图使用不同端点和模型名。
/v1/images/generations请求参数
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | grok-imagine-image-2.0。 |
prompt | 是 · string | 生成描述或编辑要求。 |
n | 否 · integer | 示例为 1。 |
response_format | 否 · string | 本页使用 url。 |
调用示例
先按快速开始设置 SUB2API_KEY。参考图地址、本地文件路径和 Base64 占位内容需要替换。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/generations' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "grok-imagine-image-2.0",
"prompt": "生成一张黑色连衣裙的电商商品图",
"n": 1,
"response_format": "url"
}' 返回结果
{
"created": 1793100000,
"data": [
{
"url": "https://example.com/generated/image-1.png"
}
]
}参考图路由
| 输入 | 端点 | 模型 |
|---|---|---|
| 无参考图 | /v1/images/generations | grok-imagine-image-2.0 |
| 有参考图 | /v1/images/edits | grok-imagine-image-edit |
传参考图时需要同时切换端点和模型名。此处使用 JSON,与香蕉的 multipart 上传示例不同。
Grok 图生图
使用 JSON 请求,同步返回图片。文生图与图生图使用不同端点和模型名。
/v1/images/edits请求参数
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | grok-imagine-image-edit。 |
prompt | 是 · string | 生成描述或编辑要求。 |
n | 否 · integer | 示例为 1。 |
response_format | 否 · string | 本页使用 url。 |
images | 是 · object[] | 对象需含 image_url。示例按参考文档同时传同值 url;不要只保留 url。 |
调用示例
先按快速开始设置 SUB2API_KEY。参考图地址、本地文件路径和 Base64 占位内容需要替换。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/edits' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "grok-imagine-image-edit",
"prompt": "修改衣服颜色,保持其他内容不变",
"images": [
{
"url": "https://example.com/reference.png",
"image_url": "https://example.com/reference.png"
}
],
"n": 1,
"response_format": "url"
}' 返回结果
{
"created": 1793100000,
"data": [
{
"url": "https://example.com/generated/image-1.png"
}
]
}参考图路由
| 输入 | 端点 | 模型 |
|---|---|---|
| 无参考图 | /v1/images/generations | grok-imagine-image-2.0 |
| 有参考图 | /v1/images/edits | grok-imagine-image-edit |
传参考图时需要同时切换端点和模型名。此处使用 JSON,与香蕉的 multipart 上传示例不同。
Midjourney v8.2-特惠
卡藏 Midjourney · JSON 同步图片协议,支持文字和单张参考图。使用熊猫 API Key 调用本站地址。
/v1/images/generations一次提交,通常四张图。 n=1 表示提交一次,不代表只返回一张。只接入完整模型名 Midjourney v8.2-特惠。
请求参数
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 仅 Midjourney v8.2-特惠,保留大小写、空格和中文后缀。 |
prompt | 是 · string | 非空的图片描述。 |
size | 否 · string | 画幅比例,默认 16:9。允许 1:1、3:2、2:3、4:3、3:4、5:4、4:5、16:9、9:16、21:9。 |
quality | 否 · string / number | "0.25"、"0.5"、"1"、"2";默认 "1",也接受等值数字。 |
hd | 否 · boolean | 默认 false(标清);true 使用高清档。 |
n | 否 · integer | 省略或 1。 |
image | 否 · string | 单张 HTTP(S) URL 或 data:image/…;base64,…。 |
images | 否 · string[] | 与 image 二选一,数组必须恰好 1 项。 |
response_format | 否 · string | 省略或 "url"。 |
stream | 否 · boolean | 省略或 false。 |
文生图示例
先按快速开始设置 SUB2API_KEY。参考图地址、本地文件路径和 Base64 占位内容需要替换。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/generations' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "Midjourney v8.2-特惠",
"prompt": "一只橘猫坐在窗边,柔和自然光,细腻的电影质感",
"size": "16:9",
"quality": "1",
"hd": false,
"n": 1,
"response_format": "url"
}' 单张参考图示例
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/images/generations' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "Midjourney v8.2-特惠",
"prompt": "参考图片的主体和构图,生成温暖的水彩插画",
"size": "16:9",
"quality": "1",
"hd": false,
"n": 1,
"response_format": "url",
"image": "https://example.com/reference.png"
}' 参考图仍走 /v1/images/generations。可将 image 替换为 images: ["https://example.com/reference.png"],不要同时传两者,也不要使用 images/edits。
返回结果与计费
{
"created": 1793100000,
"data": [
{
"url": "https://example.com/generated/image-1.png"
},
{
"url": "https://example.com/generated/image-2.png"
},
{
"url": "https://example.com/generated/image-3.png"
},
{
"url": "https://example.com/generated/image-4.png"
}
]
}遍历 data[].url 获取图片,有效结果可为 1–4 张。调用前按四张预留余额,最终按有效返回张数结算。标清、高清价格不同,请在控制台确认。
标清对应 1K 价格档、高清对应 2K 价格档;这是计费档位,不用于推断实际图片像素。
限制与排错
| 情况 | 处理方式 |
|---|---|
| 比例报错 | size 要填 16:9 这样的比例,不是 1024x1024 或 2K。 |
| 参数不支持 | 只接受上表字段;不要附加 background、output_format 等其他图片模型参数。 |
| 需要 Base64 | response_format 仅支持 url;可下载图片后自行编码。 |
| 变体 / 放大 / 任务操作 | 当前不提供,也不支持 multipart、流式、Chat 或 Responses 调用。 |
kacang_midjourney_invalid_response | HTTP 502:未取得合规的最终图片,例如只有任务确认、空数据或无效链接。先核对用量并联系支持,不要立即反复提交。 |
本模型按同步接口接入,没有 MJ 任务轮询。异常响应不按成功图片结算,但上游可能已处理请求;超时或异常后先确认结果再重试。
Grok 视频
文生视频 · 模型名 grok-imagine-video,通过任务 ID 获取最终结果。
/v1/videos异步任务:创建 → 保存任务 ID → 查询 → 完成后下载。创建成功不代表视频已经生成。
请求参数
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 使用当前页面的完整模型名。 |
prompt | 是 · string | 视频提示词。 |
duration | 是 · integer | 1–15 秒;也可用 seconds。 |
ratio | 否 · string | 16:9、9:16、1:1、4:3、3:4、2:3、3:2;别名 aspect_ratio。 |
size | 否 · string | 480p、720p、1080p;别名 resolution。 |
参数原名和别名选一种填写,避免发送冲突值。
文生视频
先按快速开始设置 SUB2API_KEY。参考图地址、本地文件路径和 Base64 占位内容需要替换。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/videos' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "grok-imagine-video",
"prompt": "黄昏的海边,海浪缓慢拍打沙滩,电影感,镜头平稳推进。",
"duration": 3,
"ratio": "16:9",
"size": "720p"
}' 参考图生成请使用 grok-imagine-video-1.5。
任务创建响应与查询
{
"id": "task_xxx",
"task_id": "task_xxx",
"status": "queued",
"progress": 0,
"video_url": "",
"url": ""
}保存实际返回的 task_id(或 id),使用同一 API Key 查询。
/v1/videos/{task_id}TASK_ID='替换为创建返回的任务ID'
curl --fail-with-body -sS \
"https://api.pandatk.com/v1/videos/${TASK_ID}" \
-H "Authorization: Bearer ${SUB2API_KEY}"| status | 含义 / 下一步 |
|---|---|
queued | 排队中,稍后查询 |
in_progress | 生成中,稍后查询 |
completed | 已完成,可读取地址或下载 |
failed | 失败,停止轮询并检查错误 |
cancelled | 已取消,停止轮询 |
{
"id": "task_xxx",
"task_id": "task_xxx",
"status": "completed",
"progress": 100,
"video_url": "https://example.com/generated/video.mp4",
"url": "https://example.com/generated/video.mp4"
}下载视频
/v1/videos/{task_id}/contentcurl -fL --max-time 600 \
"https://api.pandatk.com/v1/videos/${TASK_ID}/content" \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-o video.mp4仅在 completed 后下载。-L 跟随下载重定向;也可读取完成响应中的 video_url 或 url。
轮询建议
建议从每 5 秒查询一次开始,设置总等待上限。失败或取消后停止;客户端超时不代表服务端失败,保留任务 ID 后续查询,不要通过重复创建任务查询进度。
Grok 视频 1.5
图生视频与文生视频 · 模型名 grok-imagine-video-1.5,通过任务 ID 获取最终结果。
/v1/videos异步任务:创建 → 保存任务 ID → 查询 → 完成后下载。创建成功不代表视频已经生成。
请求参数
| 字段 | 必填 / 类型 | 说明 |
|---|---|---|
model | 是 · string | 使用当前页面的完整模型名。 |
prompt | 是 · string | 视频提示词。 |
duration | 是 · integer | 1–15 秒;也可用 seconds。 |
ratio | 否 · string | 16:9、9:16、1:1、4:3、3:4、2:3、3:2;别名 aspect_ratio。 |
size | 否 · string | 480p、720p、1080p;别名 resolution。 |
images | 图生视频使用 · string[] | 参考图 URL,最多 7 张;省略时按文生视频请求。 |
参数原名和别名选一种填写,避免发送冲突值。
文生视频
先按快速开始设置 SUB2API_KEY。参考图地址、本地文件路径和 Base64 占位内容需要替换。
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/videos' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "grok-imagine-video-1.5",
"prompt": "黄昏的海边,海浪缓慢拍打沙滩,电影感,镜头平稳推进。",
"duration": 3,
"ratio": "16:9",
"size": "720p"
}' 图生视频
curl --fail-with-body -sS \
--connect-timeout 15 --max-time 600 \
-X POST 'https://api.pandatk.com/v1/videos' \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-H 'Content-Type: application/json' \
--data-raw '{
"model": "grok-imagine-video-1.5",
"prompt": "保持人物和背景不变,人物自然转身并向镜头走来。",
"duration": 5,
"ratio": "9:16",
"size": "720p",
"images": [
"https://example.com/reference.png"
]
}' 多张参考图在 images 字符串数组中继续追加,最多 7 张。
任务创建响应与查询
{
"id": "task_xxx",
"task_id": "task_xxx",
"status": "queued",
"progress": 0,
"video_url": "",
"url": ""
}保存实际返回的 task_id(或 id),使用同一 API Key 查询。
/v1/videos/{task_id}TASK_ID='替换为创建返回的任务ID'
curl --fail-with-body -sS \
"https://api.pandatk.com/v1/videos/${TASK_ID}" \
-H "Authorization: Bearer ${SUB2API_KEY}"| status | 含义 / 下一步 |
|---|---|
queued | 排队中,稍后查询 |
in_progress | 生成中,稍后查询 |
completed | 已完成,可读取地址或下载 |
failed | 失败,停止轮询并检查错误 |
cancelled | 已取消,停止轮询 |
{
"id": "task_xxx",
"task_id": "task_xxx",
"status": "completed",
"progress": 100,
"video_url": "https://example.com/generated/video.mp4",
"url": "https://example.com/generated/video.mp4"
}下载视频
/v1/videos/{task_id}/contentcurl -fL --max-time 600 \
"https://api.pandatk.com/v1/videos/${TASK_ID}/content" \
-H "Authorization: Bearer ${SUB2API_KEY}" \
-o video.mp4仅在 completed 后下载。-L 跟随下载重定向;也可读取完成响应中的 video_url 或 url。
轮询建议
建议从每 5 秒查询一次开始,设置总等待上限。失败或取消后停止;客户端超时不代表服务端失败,保留任务 ID 后续查询,不要通过重复创建任务查询进度。