图像 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 来自本站上传接口。

查看签名回调文档