图像 API
ModelPort API 文档
使用说明
通过 OpenAI SDK 的 images.generate() 生成图像,或通过 images.edit() 提交参考图。
Node.js 图片生成与编辑
import OpenAI, { toFile } from "openai";
import { randomUUID } from "node:crypto";
import { readFile } from "node:fs/promises";
const client = new OpenAI({
apiKey: process.env.MODELPORT_API_KEY,
baseURL: "https://apimodel.store/v1",
});
const options = () => ({ headers: { "Idempotency-Key": randomUUID() } });
const result = await client.images.generate({
model: "nano-banana-2-1",
prompt: "A ceramic cup in soft morning light",
size: "1024x1024",
}, options());
console.log(result.data[0].b64_json);
const edited = await client.images.edit({
model: "nano-banana-2-1",
image: await toFile(await readFile("cup.png"), "cup.png", { type: "image/png" }),
prompt: "Change the background to warm grey",
size: "1024x1024",
}, options());同一个任务重试时传入原来的 Idempotency-Key。WxH 会按模型支持的档位和比例映射,实际像素由模型决定。可用规格见模型页和 GET /v1/models。
同步响应默认返回 b64_json,原图合计最多 20 MB。使用 response_format: "url" 可只返回下载地址,读取图片时携带本站 API 密钥。stream: true 使用 SSE 返回最终图片事件。
同步等待最多约 75 秒。响应头 X-ModelPort-Job-Id 提供任务编号,可通过 GET /v1/images/generations?task_id=... 继续查询。需要立即返回任务时,传 async: true 或按回调文档配置通知地址。
编辑支持 PNG、JPEG 和 WebP,单张 10 MB,表单总计 20 MB。通过 JSON 编辑时使用 images: [{ "file_id": "file_..." }],文件 ID 来自本站上传接口。