nano-banana
Skill0 starsChanged 7 months agoMITView on GitHub
Генерация изображений через Nano Banana — от простых картинок до фотореалистичных портретов и персонажей. Активируется на: картинка, изображение, сгенерируй фото, nano banana, нарисуй, image, generate image, фото.
- Reads credentials
- Sends data out
Files
Nano Banana — AI Генерация Изображений
Мастер-система для создания изображений через LaoZhang API (Gemini 3 Pro Image): от простых картинок до фотореалистичных портретов и постоянных персонажей.
Движок: Gemini 3 Pro Image через LaoZhang API
Принцип: Специфика побеждает неопределённость. Описание сцены > список ключевых слов.
References
| Запрос | Файл |
| Примеры трансформации идей в промпты | Прочитай references/nano-banana-examples.md |
| Техники фотореализма | Прочитай references/nano-banana-realism.md |
| Создание постоянных персонажей, Identity Kit | Прочитай references/nano-banana-identity-kit.md |
| Обложки в стиле YouTube | Прочитай references/nano-banana-thumbnails.md |
| Креативные идеи и концепты | Прочитай references/nano-banana-ideas.md |
| Словарь терминов и техник | Прочитай references/nano-banana-vocabulary.md |
| Настройка LaoZhang API | Прочитай references/laozhang-setup.md |
| Библиотека продвинутых промптов | Используй скилл nano-banana-pro-prompts |
Быстрый старт
# Простое изображение
"Создай картинку: предприниматель в офисе"
# Реалистичный портрет
"Создай фотореалистичный портрет 25-летней девушки"
# Face swap с референсом
"Замени лицо на моё" + [прикрепить фото]Философия: Один раз зафиксировать → Бесконечно использовать
API — LaoZhang + Gemini 3 Pro Image
Endpoint
POST https://api.laozhang.ai/v1beta/models/gemini-3-pro-image-preview:generateContent
Authorization: Bearer $API_KEYПараметры изображения
| Параметр | Значения | Описание |
aspectRatio | "1:1", "3:4", "4:3", "9:16", "16:9" | Соотношение сторон |
imageSize | "1K", "2K", "4K" | Разрешение (4K = лучшее) |
responseModalities | ["IMAGE"] | Тип ответа |
Разрешения по формату
| Формат | 4K разрешение | Когда использовать |
| 16:9 | 5504×3072 | Баннеры, YouTube обложки |
| 3:4 | 2880×3840 | Портреты, карусели |
| 9:16 | 3072×5504 | Stories, Reels обложки |
| 1:1 | 4096×4096 | Instagram посты, аватары |
| 4:3 | 3840×2880 | Горизонтальные фото |
Минимальный запрос
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": "ПРОМПТ"}]}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "4K"
}
}
}'С референсным изображением
{
"contents": [{
"parts": [
{
"inline_data": {
"mime_type": "image/png",
"data": "BASE64_ENCODED_IMAGE"
}
},
{"text": "ПРОМПТ с [image1] референсом"}
]
}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"aspectRatio": "3:4",
"imageSize": "4K"
}
}
}Таймауты и лимиты
| Размер | Время генерации | Рекомендуемый таймаут |
| 2K | 25-45 сек | 120 сек |
| 4K | 40-70 сек | 180 сек |
⚠️ НЕ убивать процесс раньше 180 секунд!
Примеры использования
Фотореалистичный портрет
Создай портрет 32-летней женщины, натуральная текстура кожи с видимыми порами,
снято на 85mm f/1.8 с освещением РембрандтаFace Swap
Замени мужчину с [Image1] на человека с [Image2], сохранив черты лица и стиль оригиналаUGC-контент
Создай девушку 23 лет для UGC, снимает видео на телефон в кафе, естественное освещениеОбложка YouTube
Создай яркую обложку в стиле МрБиста с удивлённым лицом и жёлтыми стрелкамиWorkflow
1. Базовая генерация
- Промпт — описательный абзац (не список слов)
- Указание камеры и объектива для реализма
- Детали освещения и композиции
- Формат и разрешение через API параметры
2. Face Swap / Identity Kit
- Референсное фото через inline_data (base64)
- Точное указание что заменить
- Identity Lock блок для сохранения лица
- Сохранение оригинальной атмосферы
3. Создание персонажа (Identity Kit)
- Фиксация внешности в референсах
- Создание набора поз и ракурсов
- Использование для всех последующих генераций
- Подробнее →
references/nano-banana-identity-kit.md
4. Пост-продакшн
- Upscaling — запрос с imageSize "4K"
- Редактирование — отправить изображение + промпт с изменениями
- Мульти-image композиция — несколько inline_data в одном запросе
Частые ошибки
❌ Список ключевых слов — "woman, portrait, realistic"
❌ Слишком общие описания — "красивая девушка"
❌ Игнорирование освещения — свет решает всё
❌ Без указания камеры — для реализма нужны технические детали
❌ Размытое лицо при face swap — нужен качественный референс
❌ Plastic skin эффект — добавить поры и несовершенства
❌ Inconsistent персонаж — не используется Identity Kit
❌ Таймаут < 120 сек — генерация 4K занимает до 70 секунд
❌ Без imageConfig — изображение будет низкого качества
Техника трёхслойного реализма
Layer 1: Камера и объектив
"Shot on Sony A7R IV with 85mm f/1.4 lens, 1/250 shutter, ISO 400"Layer 2: Освещение и композиция
"Rembrandt lighting, shallow depth of field, soft natural light from window"Layer 3: Детали и несовершенства
"Natural skin texture with visible pores, fine lines, no airbrushing, unretouched look"Face Swap формула
Replace [КОГО] from [Image1] with [КОГО] from [Image2].
Preserve facial features, body type, and clothing so they look like themselves.
They should organically fit into the atmosphere of [Image1].Identity Kit процесс
- Концепция — возраст, этничность, стиль
- Референсы — 3-5 фото разных ракурсов (4K, f/8, всё в фокусе)
- Тестирование — проверка консистентности
- Использование — промпты с референсом через inline_data
Identity Lock блок (вставлять в промпт)
IDENTITY LOCK for person from [Image1]:
- Preserve EXACT facial features: bone structure, nose shape, eye spacing, jawline
- Preserve EXACT skin tone, texture, pores, and blemishes
- Preserve EXACT hairstyle, hair color, and hairline
- NO beautification, NO smoothing, NO idealization
- NO age change, NO ethnicity drift, NO face morphing
- The person MUST be 100% recognizable as the same individualUGC-модели (E-модели)
Критерии качественной UGC-модели:
- Возраст 20-28 лет
- Естественная внешность (не модельная)
- Дружелюбное выражение лица
- Релевантная одежда для ниши
- Естественное освещение
- Believable ситуация
Применение: реклама, тестимониалы, демонстрация товаров, создание доверия.
Технические хаки
| Проблема | Решение |
| Размытое лицо | sharp focus, high detail, 85mm lens |
| Plastic skin | visible pores, natural skin texture, unretouched |
| Плохое освещение | Указать тип: Rembrandt, golden hour, soft window light |
| Неестественная поза | candid moment, natural expression, relaxed pose |
| Низкое качество | imageSize: "4K", камера в промпте |
| Руки размыты | Использовать f/5.6-f/8 в промпте |
| Лицо "плывёт" | Усилить Identity Lock + больше референсов |
| Rate limit (429) | Подождать 30 сек |
| Таймаут | Увеличить до 180+ сек |
Identity Kit (аватары для консистентности)
Храни референсные фото персонажей в папке проекта:
{workspace}/projects/{project}/avatars/{name}/При генерации с лицом — указывай путь к аватару как reference image.
Python Template
import base64, json, requests
def generate_image(prompt, references=None, aspect_ratio="16:9", size="4K", api_key=None):
url = "https://api.laozhang.ai/v1beta/models/gemini-3-pro-image-preview:generateContent"
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
parts = []
if references:
for ref_path in references:
with open(ref_path, "rb") as f:
b64 = base64.b64encode(f.read()).decode()
parts.append({"inline_data": {"mime_type": "image/png", "data": b64}})
parts.append({"text": prompt})
payload = {
"contents": [{"parts": parts}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {"aspectRatio": aspect_ratio, "imageSize": size}
}
}
resp = requests.post(url, headers=headers, json=payload, timeout=180)
resp.raise_for_status()
data = resp.json()
# Extract base64 image from response
for part in data.get("candidates", [{}])[0].get("content", {}).get("parts", []):
if "inline_data" in part:
return base64.b64decode(part["inline_data"]["data"])
return NoneBash Quick Commands
# Простая генерация (нужен скрипт laozhang-image.sh)
./laozhang-image.sh "промпт" --pro --ratio 16:9 --4k --output result.png
# С референсом
./laozhang-image.sh "промпт с [image1]" --ref reference.png --pro --4kOther versions39 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 39
- OpenMinis/MinisSkills★ 567same name
- EvoScientist/EvoSkills★ 470same name
- glebis/claude-skills★ 400same name
- kkoppenhaver/cc-nano-banana★ 368same name
- mikeOnBreeze/cc-crossbeam★ 293same name
- ruizrica/agent-pi★ 274same name
- LichAmnesia/lich-skills★ 233same name
- refly-ai/refly-skills★ 203same name
- jh941213/my-claude-code-asset★ 126same name
- okou-ai/okou-skills★ 81same name
29 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use agency-docs-updater, brand-agency and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
KISHOR403Skillagency-docs-updater
End-to-end pipeline for publishing Claude Code lab meetings. Automatically finds/creates Fathom transcript, downloads video, uploads to YouTube, generates fact-checked Russian summary, creates MDX documentation, and pushes to agency-docs for Vercel deployment. Single invocation replaces 5+ manual steps.
Also in 3 projects that use this
KISHOR403Skillbrand-agency
Applies Agency brand colors and typography to artifacts including presentations, SVG graphics, documents, and web interfaces. This skill should be used when brand colors, visual formatting, neobrutalism style, or Agency design standards apply. Keywords - branding, corporate identity, visual identity, styling, brand colors, typography, visual formatting, visual design, neobrutalism.
Also in 3 projects that use this
emanueleieloSkillelevenlabs-tts
Text-to-speech with ElevenLabs: generate realistic voice audio from text. Requires ELEVENLABS_API_KEY.
Also in 5 projects that use this
- +9 more from KISHOR403
In this repository35 other files it gives its agents.
- agent-architectSkill
- agent-memorySkill
- audience-lensSkill
- carouselSkill
- constructor-opsSkill
- content-repurposerSkill
- copywritingSkill
- customer-researchSkill
- editingSkill
- headlinesSkill
- heygenSkill
- learning-processorSkill
- memory-systemSkill
- nano-banana-pro-promptsSkill
- openclaw-opsSkill
- personal-unpackingSkill
- prompt-engineerSkill
- reelsSkill
- selling-meaningsSkill
- seo-blog-writerSkill
- shared-learningsSkill
- skill-creatorSkill
- skill-securitySkill
- soul-masterySkill
- storytellingSkill
- swipefileSkill
- telegram-adminSkill
- telegramSkill
- text-postsSkill
- threadsSkill
- timelapse-creatorSkill
- tone-of-voiceSkill
- veo-videoSkill
- video-editorSkill
- youtubeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

