超级个体
← 返回专题
专题★★★☆☆免费

如何在自己的应用中接入 AI 绘图

2026/06/07·8 分钟阅读

讲清楚选哪家 API、Node/Next.js 怎么调、怎么把生成的图存起来、生产环境的坑。


适合人群

  • 已经做过 Next.js / Node 项目
  • 想给应用加一个"AI 画图"功能
  • 不想被 prompt、参数、计费、存储这一堆细节卡住

一、选哪家 API

先用一句话说清楚常见三家:

服务特点适合
OpenAI images.generate接入最简单,按图收费简单一次性出图
Stability / Replicate模型多、可微调风格控制需求强
国内中转(如 mossx)免代理、人民币计费国内部署

👉 选型口诀:简单选 OpenAI,国内选中转,需要控风格选 Replicate。


二、最小代码示例

// app/api/images/route.ts
import { NextResponse } from "next/server";

export async function POST(req: Request) {
  const { prompt } = await req.json();

  const res = await fetch("https://api.openai.com/v1/images/generations", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "gpt-image-1",
      prompt,
      n: 1,
      size: "1024x1024",
    }),
  });

  if (!res.ok) {
    return NextResponse.json({ error: await res.text() }, { status: 500 });
  }
  const data = await res.json();
  return NextResponse.json({ url: data.data[0].url });
}

三、生产环境的几个坑

  1. 图片只能临时下载 — OpenAI 返回的 URL 24 小时就失效。要持久化必须存到自己的对象存储(R2 / Vercel Blob / S3)
  2. 生成耗时 — 一张 1024×1024 通常 8-30 秒,要么前端转圈,要么用 webhook
  3. NSFW 限制 — 用户输入要先过滤敏感词,被封号没人赔
  4. 价格 — 一张 $0.04 起,单用户连续生成可能日烧 $50+

四、上线前最后检查

  • API Key 放在服务端,不要扔到客户端
  • 图片立即下载到自己的存储,存数据库的是你存储里的 URL
  • 有限流(每用户每分钟 N 张)
  • 有错误兜底(API 挂了显示什么)
这篇有用吗?

告诉我们哪里跑不通,我们会更新这篇文章。