Hakan AI

图像生成接口

使用 OpenAI 兼容协议调用 Hakan AI 上的所有图像生成模型

Hakan AI 提供与 OpenAI 完全兼容的图像生成接口 POST /v1/images/generations,可直接用于文生图场景。已上架 gpt-image-2nano-banana 系列、seedream 系列和 Gemini 图像预览模型等。

接口地址

端点方法说明
https://hakanaiktn.com/v1/images/generationsPOSTOpenAI 兼容图像生成端点

Base URL:https://hakanaiktn.com/v1

认证方式

所有请求需要在 Header 中携带 API Key:

Authorization: Bearer sk-xxxxxxxx
Content-Type: application/json

请求参数

参数类型必填说明
modelstring图像生成模型名,例如 gpt-image-2nano-banana-pro
promptstring图像生成提示词
sizestring输出尺寸,如 1024x10241536x1024;不传时使用模型默认
ninteger单次生成图片数量,默认 1

部分模型有额外的可选参数(如 qualityresponse_formatbackground 等),行为与 OpenAI 官方文档一致。

支持的模型

模型系列说明
gpt-image-2OpenAI主推稳定通道,兼容 OpenAI images.generate
nano-banana-1Nano Banana轻量图像生成
nano-banana-2Nano BananaNano Banana 二代
nano-banana-proNano BananaPro 版本,画质更高
gemini-2.5-flash-imageGeminiGemini 快速图像生成
gemini-3-pro-image-previewGeminiGemini 3 Pro 图像预览
gemini-3.1-flash-image-previewGeminiGemini 3.1 Flash 图像预览
seedream-4.5SeedreamSeedream 4.5
seedream-4.6SeedreamSeedream 4.6
seedream-5Seedream最新 Seedream

最新的完整模型清单与价格请以 模型广场 为准。

快速开始

cURL

curl https://hakanaiktn.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cute Japanese idol producer business card design, pale yellow and white color scheme, premium fan merchandise style",
    "size": "1536x1024",
    "n": 1
  }'

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://hakanaiktn.com/v1",
)

response = client.images.generate(
    model="gpt-image-2",
    prompt="A cute Japanese idol producer business card design, pale yellow and white color scheme, premium fan merchandise style",
    size="1536x1024",
    n=1,
)

print("图片地址:", response.data[0].url)

JavaScript / Node.js

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-xxxxxxxx',
  baseURL: 'https://hakanaiktn.com/v1',
});

const response = await client.images.generate({
  model: 'gpt-image-2',
  prompt: 'A minimal illustration of a banana on a clean white background',
  size: '1024x1024',
  n: 1,
});

console.log(response.data[0].url);

响应格式

{
  "created": 1782833913,
  "background": "opaque",
  "data": [
    {
      "url": "https://r2.geeknow.top/magic/image-generation-xxxxxxxx.png"
    }
  ],
  "output_format": "png",
  "quality": "auto",
  "size": "1024x1024",
  "usage": {
    "input_tokens": 16,
    "output_tokens": 765,
    "total_tokens": 781
  }
}

data 是数组,元素个数等于 n。每个元素通常包含 url 字段,直接可以下载。

部分模型可能返回 b64_json 字段(图片的 Base64 编码)而不是 url。为兼容两种情况,建议在客户端做如下判断:

item = response.data[0]
if getattr(item, "url", None):
    image = download(item.url)
elif getattr(item, "b64_json", None):
    image = base64.b64decode(item.b64_json)

调用其它图像模型

所有图像模型都走同一个端点 POST /v1/images/generations,只需要更换 model 字段:

# Nano Banana
curl https://hakanaiktn.com/v1/images/generations \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-pro",
    "prompt": "A simple banana on a clean white background, minimal illustration",
    "size": "1024x1024"
  }'
# Seedream
response = client.images.generate(
    model="seedream-5",
    prompt="A scenic mountain landscape at sunset, cinematic lighting",
    size="1024x1024",
)

常见问题

upstream_error / "服务异常,请稍后重试"

上游图像通道临时不可用。处理方式:

  • 稍等几秒后重试
  • 缩短或简化 prompt 再试
  • 切换到其它同类模型(例如 nano-banana-2 失败时试 nano-banana-progpt-image-2

JSON 请求格式错误

如果返回类似 invalid character ... looking for beginning of object key string,通常是请求体 JSON 不合法。建议:

  • 使用 SDK 而不是手写 curl
  • 若必须用 curl,把 JSON 写到独立文件用 -d @body.json 加载,避免 shell 转义歧义

返回体里没有 url

按上文「响应格式」小节,检查是否返回了 b64_json,用它做 Base64 解码即可。

尺寸不生效

  • 部分模型只支持特定尺寸组合,传入不支持的 size 会被自动改到最接近的合法值或直接报错
  • 建议使用官方常见值:1024x10241024x17921536x1024

更多资源

On this page