| name | laozhang-api |
| description | LaoZhang AI API для генерации изображений. Используй ВСЕГДА при работе с Nano Banana Pro, Gemini 3 Pro, image generation. Активируется на: 'nano banana', 'image generation', 'laozhang', 'сгенерировать картинку', 'баннер', 'thumbnail', 'обложка'. |
| $ARGUMENTS | Промпт-описание желаемого изображения или команда (generate, setup, troubleshoot) |
LaoZhang API — Image Generation
⚠️ КРИТИЧНО: Правильный Endpoint
НЕ ИСПОЛЬЗОВАТЬ:
❌ /v1/chat/completions с model: "gemini-2.5-flash-image"
❌ /v1/images/generations
ИСПОЛЬЗОВАТЬ:
✅ /v1beta/models/gemini-3-pro-image-preview:generateContent
API Credentials
API_KEY="YOUR_LAOZHANG_API_KEY"
BASE_URL="https://api.laozhang.ai"
Модели для генерации изображений
| Модель | Endpoint | Возможности | Цена |
|---|
| gemini-3-pro-image-preview | /v1beta/models/gemini-3-pro-image-preview:generateContent | 4K, aspect ratio, референсы | $0.05/шт |
| gemini-2.5-flash-image | /v1/chat/completions | Базовая генерация | Дешевле |
| sora_image | /v1/chat/completions | Простая генерация | $0.01/шт |
Для качественных баннеров/обложек — ТОЛЬКО gemini-3-pro-image-preview!
Формат запроса для Gemini 3 Pro
Без референсов (text-to-image)
curl -X POST "https://api.laozhang.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "PROMPT HERE"}]
}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "4K"
}
}
}'
С референсами (identity preservation)
curl -X POST "https://api.laozhang.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{
"inline_data": {
"mime_type": "image/png",
"data": "BASE64_ENCODED_IMAGE"
}
},
{"text": "PROMPT WITH [image1] REFERENCE"}
]
}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "4K"
}
}
}'
Параметры imageConfig
| Параметр | Значения | По умолчанию |
|---|
aspectRatio | "1:1", "3:4", "4:3", "9:16", "16:9" | auto |
imageSize | "1K", "2K", "4K" | "2K" |
Для баннеров: "aspectRatio": "16:9", "imageSize": "4K" → 5504×3072
Для каруселей: "aspectRatio": "3:4", "imageSize": "4K" → 2880×3840
Парсинг ответа
import json, base64
response = requests.post(...)
data = response.json()
b64 = data['candidates'][0]['content']['parts'][0]['inlineData']['data']
img_bytes = base64.b64decode(b64)
with open('output.png', 'wb') as f:
f.write(img_bytes)
Python Template
import base64
import requests
API_KEY = "YOUR_LAOZHANG_API_KEY"
ENDPOINT = "https://api.laozhang.ai/v1beta/models/gemini-3-pro-image-preview:generateContent"
def generate_image(prompt, references=None, aspect_ratio="16:9", size="4K", output_path="/tmp/output.png"):
"""
Генерация изображения через Gemini 3 Pro.
Args:
prompt: Текстовый промпт
references: Список путей к референсным изображениям
aspect_ratio: "1:1", "3:4", "4:3", "9:16", "16:9"
size: "1K", "2K", "4K"
output_path: Путь для сохранения
"""
parts = []
if references:
for ref_path in references:
with open(ref_path, "rb") as f:
b64 = base64.b64encode(f.read()).decode()
mime = "image/png" if ref_path.endswith(".png") else "image/jpeg"
parts.append({
"inline_data": {
"mime_type": mime,
"data": b64
}
})
parts.append({"text": prompt})
response = requests.post(
ENDPOINT,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"contents": [{"parts": parts}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"aspectRatio": aspect_ratio,
"imageSize": size
}
}
},
timeout=180
)
data = response.json()
b64 = data['candidates'][0]['content']['parts'][0]['inlineData']['data']
img_bytes = base64.b64decode(b64)
with open(output_path, 'wb') as f:
f.write(img_bytes)
return output_path, len(img_bytes)
if __name__ == "__main__":
path, size = generate_image(
prompt="Professional banner with businessman on right side...",
references=["/path/to/reference.png"],
aspect_ratio="16:9",
size="4K"
)
print(f"Saved: {path} ({size//1024}KB)")
Bash Script (готовый)
Расположение: tools/laozhang-image.sh
./laozhang-image.sh "prompt" --pro --ratio 16:9 --4k --output /tmp/result.png
Референсы Identity Kit
При генерации с человеком ВСЕГДА использовать Identity Kit:
| Проект | Путь | Главный референс |
|---|
| Твой проект | ./avatars/ | your-avatar.png |
Identity Lock обязателен в промпте!
Timing
- Генерация 2K: 25-45 секунд
- Генерация 4K: 40-70 секунд
- НЕ убивать процесс раньше 180 секунд!
Troubleshooting
| Проблема | Причина | Решение |
|---|
| Вертикальное вместо 16:9 | Неправильный endpoint | Использовать /v1beta/models/gemini-3-pro-image-preview:generateContent |
| 429 upstream error | Rate limit | Подождать 30 сек и повторить |
| Invalid token | Неправильный ключ | Использовать sk-2iIu... |
| Маленькое разрешение | Нет imageSize | Добавить "imageSize": "4K" |
Чек-лист перед генерацией