使用指南
图片生成
用 NoviaHub 生成图片:gpt-image-2 走 Images 接口,Gemini 图片模型走 Gemini 接口或 Chat 接口,以及各自的计费方式。
NoviaHub 上的图片生成模型分两类,调用方式不同:
| 模型 | 用哪个接口 |
|---|---|
gpt-image-2 等 OpenAI 图片模型 |
OpenAI Images:POST /v1/images/generations |
gemini-3.1-flash-image 等 Gemini 图片模型 |
Gemini:POST /v1beta/models/{模型}:generateContent,或 Chat Completions |
具体有哪些图片模型、价格多少,以 模型&价格 为准。两类模型的计费方式也不同,见下文各节的「计费」。
gpt-image-2:Images 接口
Section titled “gpt-image-2:Images 接口”curl https://noviahub.com/v1/images/generations \ -H "Authorization: Bearer $NOVIAHUB_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-image-2", "prompt": "一只在窗台上晒太阳的橘猫,水彩风格", "size": "1024x1024", "n": 1 }'import base64import os
from openai import OpenAI
client = OpenAI( base_url="https://noviahub.com/v1", api_key=os.environ["NOVIAHUB_API_KEY"],)
result = client.images.generate( model="gpt-image-2", prompt="一只在窗台上晒太阳的橘猫,水彩风格", size="1024x1024", n=1,)
# 图片以 base64 形式放在 b64_json 里,解码后保存成文件with open("cat.png", "wb") as f: f.write(base64.b64decode(result.data[0].b64_json))参数说明:
model:必填。prompt:图片描述,OpenAI 要求必填。n:生成几张,最多 128;不填或填0时按 1 张处理。超过 128 会返回 HTTP 400n must be an integer between 1 and 128。size、quality、background、output_format等参数会原样交给模型,可选值以 OpenAI 官方文档为准。
返回结果里的 data 是一个数组,每张图一项。gpt-image 系列以 base64 编码的 b64_json 返回图片,也就是上面示例里解码保存的内容。
计费:截至 2026-09-29,gpt-image-2 在 NoviaHub 上按 Token 计费,不是按张计费:提示词(文字输入)、图片输入(编辑图片时上传的图)、生成的图片(输出)各有一个每百万 Token 的单价,另有缓存价格。输出 Token 数由上游根据生成的图片返回,NoviaHub 按返回的用量结算。各项单价见该模型的详情页。
Gemini 图片模型
Section titled “Gemini 图片模型”gemini-3.1-flash-image 不能用 /v1/images/generations 调用,会返回 HTTP 500:not supported model for image generation, only imagen models are supported。请用下面两种方式之一。
方式一:Gemini 原生接口
Section titled “方式一:Gemini 原生接口”curl "https://noviahub.com/v1beta/models/gemini-3.1-flash-image:generateContent" \ -H "x-goog-api-key: $NOVIAHUB_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [{"text": "一只在窗台上晒太阳的橘猫,水彩风格"}]}], "generationConfig": { "responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"} } }'生成的图片会出现在 candidates[0].content.parts 里:inlineData 类型的那一项,data 字段就是 base64 编码的图片。
方式二:Chat Completions
Section titled “方式二:Chat Completions”curl https://noviahub.com/v1/chat/completions \ -H "Authorization: Bearer $NOVIAHUB_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gemini-3.1-flash-image", "messages": [{"role": "user", "content": "一只在窗台上晒太阳的橘猫,水彩风格"}], "extra_body": {"google": {"image_config": {"aspect_ratio": "16:9", "image_size": "2K"}}} }'- 用 Chat 接口调用这类图片模型时,NoviaHub 会自动让模型同时输出文字和图片,不需要额外设置。
- 画幅比例和分辨率写在
extra_body.google.image_config里,键名用下划线写法:aspect_ratio、image_size。写成驼峰形式(imageConfig、aspectRatio、imageSize)会直接报错。 - 图片以 Markdown 格式放在回复的
content里,形如。把data:开头的那一段取出来,就是图片数据。
计费:截至 2026-09-29,gemini-3.1-flash-image 按生成的张数计费,每张的单价按你请求的分辨率分为 0.5K、1K、2K、4K 四档:
- Gemini 原生接口看
generationConfig.imageConfig.imageSize; - Chat 接口看
extra_body.google.image_config.image_size; 512(或512px)算 0.5K 档,2K、4K分别算 2K、4K 档(大小写均可);不写或写其他值时,按 1K 档计费。
各档价格见该模型的详情页。张数按返回结果里最终生成的图片数量计算,模型思考过程中产生的草稿图不计;如果请求成功但没有返回图片,按 1 张计费。