真实计费(默认 1K):使用 gemini-3.1-flash-lite-image 生成图片
curl --request POST \
--url https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "白色哑光背景上的单根黄色陶瓷香蕉,柔和影棚光线,不要文字。"
}
]
}
]
}
'import requests
url = "https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent"
payload = { "contents": [
{
"role": "user",
"parts": [{ "text": "白色哑光背景上的单根黄色陶瓷香蕉,柔和影棚光线,不要文字。" }]
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({contents: [{role: 'user', parts: [{text: '白色哑光背景上的单根黄色陶瓷香蕉,柔和影棚光线,不要文字。'}]}]})
};
fetch('https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"inlineData": {
"mimeType": "image/png",
"data": "BASE64_IMAGE_DATA"
}
}
]
},
"finishReason": "STOP",
"index": 0
}
],
"usageMetadata": {
"promptTokenCount": 37,
"candidatesTokenCount": 1846,
"totalTokenCount": 1883,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 37
}
],
"candidatesTokensDetails": [
{
"modality": "IMAGE",
"tokenCount": 1680
}
]
},
"modelVersion": "gemini-3.1-flash-lite-image",
"responseId": "response_example"
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "Insufficient balance for this request",
"type": "new_api_error",
"param": "",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "Request body exceeds the current limit",
"type": "new_api_error",
"param": "",
"code": "read_request_body_failed"
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}Gemini 3.1 Flash Lite Image
Gemini 3.1 Flash Lite Image 调用示例
复制 Gemini 3.1 Flash Lite Image API 示例,完成 1K 同步生成、幂等异步任务、多图参考编辑和无图片响应处理。
POST
/
v1beta
/
models
/
gemini-3.1-flash-lite-image:generateContent
真实计费(默认 1K):使用 gemini-3.1-flash-lite-image 生成图片
curl --request POST \
--url https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "白色哑光背景上的单根黄色陶瓷香蕉,柔和影棚光线,不要文字。"
}
]
}
]
}
'import requests
url = "https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent"
payload = { "contents": [
{
"role": "user",
"parts": [{ "text": "白色哑光背景上的单根黄色陶瓷香蕉,柔和影棚光线,不要文字。" }]
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({contents: [{role: 'user', parts: [{text: '白色哑光背景上的单根黄色陶瓷香蕉,柔和影棚光线,不要文字。'}]}]})
};
fetch('https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"inlineData": {
"mimeType": "image/png",
"data": "BASE64_IMAGE_DATA"
}
}
]
},
"finishReason": "STOP",
"index": 0
}
],
"usageMetadata": {
"promptTokenCount": 37,
"candidatesTokenCount": 1846,
"totalTokenCount": 1883,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 37
}
],
"candidatesTokensDetails": [
{
"modality": "IMAGE",
"tokenCount": 1680
}
]
},
"modelVersion": "gemini-3.1-flash-lite-image",
"responseId": "response_example"
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "Insufficient balance for this request",
"type": "new_api_error",
"param": "",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "Request body exceeds the current limit",
"type": "new_api_error",
"param": "",
"code": "read_request_body_failed"
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "insufficient_user_quota"
}
}同步生成 1K 图片
curl 'https://api.yingtu.ai/v1beta/models/gemini-3.1-flash-lite-image:generateContent' \
-H 'Authorization: Bearer YOUR_YINGTU_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"contents": [{"role": "user", "parts": [{"text": "适合移动端卡片的方形纸艺插画"}]}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}'
usageMetadata 用于观测,不代替图片是否存在的判断:
{
"candidates": [{
"content": {"role": "model", "parts": [{
"inlineData": {"mimeType": "image/png", "data": "BASE64_IMAGE_DATA"}
}]},
"finishReason": "STOP"
}],
"usageMetadata": {"promptTokenCount": 42, "totalTokenCount": 1162},
"modelVersion": "gemini-3.1-flash-lite-image",
"responseId": "response_example"
}
解析并保存图片
不要假设parts[0] 一定是图片,也不要把扩展名固定成 PNG:
import base64
from pathlib import Path
extensions = {"image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp"}
saved = []
for candidate in response_json.get("candidates", []):
for part in candidate.get("content", {}).get("parts", []):
image = part.get("inlineData")
if not image:
continue
mime_type = image["mimeType"]
suffix = extensions.get(mime_type, ".bin")
path = Path(f"yingtu-lite-{len(saved) + 1}{suffix}")
path.write_bytes(base64.b64decode(image["data"], validate=True))
saved.append(path)
if not saved:
feedback = response_json.get("promptFeedback")
raise RuntimeError(f"响应中没有图片;promptFeedback={feedback}")
异步生成与图片编辑
异步调用使用/v1/images/tasks,设置 model、action=generate、prompt、size=1K、aspect_ratio 和 n=1。同时设置 Idempotency-Key,保存 HTTP 202 返回的 task_id,再按轮询指南查询最终结果。
异步编辑改用统一 JSON,可以提供 1~16 张 Base64 来源图:
{
"model": "gemini-3.1-flash-lite-image",
"action": "edit",
"prompt": "保持产品形状,把背景改成浅灰摄影棚",
"input_images": [
{"mime_type": "image/png", "data": "BASE64_SOURCE_IMAGE_1"},
{"mime_type": "image/jpeg", "data": "BASE64_SOURCE_IMAGE_2"}
],
"size": "1K",
"aspect_ratio": "1:1",
"n": 1
}
在线测试
本页表单固定调用gemini-3.1-flash-lite-image:generateContent,并把尺寸限制为 1K。填入开发凭证前,先确认模型 ID 含 -image。
“试一试”会真实计费。Mintlify 会在生成的 cURL 中显示已输入的 Key,请勿分享带凭证的截图。
授权
YingTu API Key。
请求体
application/json
最后修改于 2026年9月3日