**TL;DR.** Сделал [pinock.io](https://pinock.io) — бесконечную ленту AI-генерации в стиле винтажных советских плакатов. Бесплатно, без регистрации. Ниже — полный разбор: зачем, на чём держится, сколько стоит, как монетизируется, и какие ошибки я уже совер

---

## Идея

Сейчас «попробовать AI-генерацию» — это:

1. Зарегистрироваться на сервисе.

2. Подтвердить почту.

3. Дать карту / купить кредиты.

4. Выучить, что такое LoRA, sampler, CFG, seed.

5. Получить картинку с вотермаркой.

Я хотел противоположное:

- **Зашёл — увидел.** На главной уже сетка картинок, новая каждые 30 секунд.

- **Никаких аккаунтов.** Ни email, ни карты.

- **Один промпт = одно слово.** Ввёл «cat» — поставил в очередь, через минуту твоя картинка в ленте.

- **Качай и пользуйся.** Без вотермарок и условий «только для личного использования».

Эстетика — винтажные советские/восточно-европейские спичечные коробки 60-х: ограниченная палитра, литографические текстуры, плоская геометрия. Узкая, узнаваемая, не «как у всех».

---

ICP — кто пользуется

После двух недель аналитики:

1. **Дизайнеры и иллюстраторы** — берут как мудборд / референс. Скачивают пачками.

2. **Любители ретро-эстетики** — Pinterest-аудитория. Лайкают, шарят.

3. **AI-комьюнити** — приходят посмотреть, как сделано. Иногда дают жёсткую обратную связь (об этом ниже).

4. **Случайные посетители из соцсетей** — из reddit/Х/телеграма. Залипают, делают пару поисков, уходят.

Первая когорта — самая ценная. Они единственные, кто кликает на «paid edit» (об этом тоже ниже).

---

Стек и стоимость

Намеренно минимальный, чтобы один человек тащил.

Frontend: Vanilla JS, Caddy, статика на дешёвой Ubuntu-машине — $0 (своё железо у знакомого)

Backend API: FastAPI + SQLite (WAL-режим) — там же

FLUX worker: RTX 3090 на vast.ai, FLUX.2-klein + кастомная LoRA — ~$140 ($0.20/ч × 24/7)

Caption worker: Qwen2.5-VL-7B INT4, GTX 1070 Ti — $0 (своё)

Real-ESRGAN: Апскейл топовых картинок — на том же 3090

Stripe: Платежи за edit-токены — 2.9% + $0.30 с транзакции

GA4 + Search Console: Аналитика — $0

Домен pinock.io — $40/год

Итого: ~$140/мес фикс + $40/год домен. Cost per image: $0.005-0.01 при текущем масштабе ~1500 картинок/сутки.

---

Архитектура одной картинки

Пользователь → Поиск/просмотр (только чтение БД)

→ Лайк → если likes ≥ 2 и не было апскейла → задача в enhance_tasks

→ Кастомный промпт → задача в queue_tasks (priority=200)

→ Поиск → n+3 авто-генерации той же категории → queue_tasks (FIFO + priority)

→ FLUX worker (vast.ai 3090) ← poll-цикл

→ FLUX.2-klein + matchbox LoRA → 512×512 JPEG

→ Caption worker (Qwen-VL) → SEO alt-text

→ Backend → SQLite → видна в ленте

Никакой Kubernetes, никаких очередей вне SQLite. На двух машинах с tmux-сессиями. Всё.

---

## Монетизация

Бесплатно: всё, что описано выше. Просмотр, лайк, скачивание, поиск, кастомный промпт.

Платно: «Edit с Nano Banana» — берёшь любую картинку из ленты и переделываешь её через Gemini 3.1 Flash Image. «Сделай розовой», «добавь очки», «в стиле аниме». 1 токен = 1 редактирование. Себестоимость: $0.067 за картинку (это в основном Gemini API). Цена: $5 за 100 токенов = $0.05/токен. Маржа отрицательная по чистой себестоимости, но включает поддержку проекта.

Альтернатива: «Поделись для бесплатного редактирования» — кнопка в edit-диалоге. Запостил в Twitter — получил 1 бесплатный токен. Это конверсия в трафик.

Текущая монетизация — копейки. 5-15 покупок токенов в неделю, ~$50-100 валовая выручка. Это close to break-even на GPU + Stripe-комиссии. Но проект не про монетизацию здесь и сейчас — он про сборку SEO-массы и комьюнити.

---

Что выиграло

Технические выборы:

1. Один-промпт-одно-слово — реально снижает порог входа. Анализ показывает: ~80% поисков — одно слово (cat, owl, fox).

2. SQLite вместо Postgres. На текущем масштабе (~6700 картинок, ~50 RPS) SQLite в WAL-режиме держит всё на нолике CPU. Никакой инфраструктурной поддержки.

3. vast.ai вместо AWS/GCP. $0.20/час против $0.50-0.80 у больших провайдеров. Минус: спот-инстансы умирают, нужно tmux + supervisor для resilience.

4. Caddy вместо nginx. HTTPS из коробки, конфиг в 5 строк.

5. GA4 + Search Console day-one. Без аналитики не видно, что работает. Сейчас вижу: ~70% трафика органика, ~20% direct, ~10% соцсети.

Продуктовые выборы:

1. Hall of Fame на главной. Лучшие картинки (≥2 лайка) показываются первыми, в карусели сверху. Это критически меняет первое впечатление.

2. Auto-generation на основе demand-сигнала. Поиск и лайки → +N картинок в очередь автоматически. Сайт становится «живее» — каждый поиск даёт результат через минуту, даже если такого животного раньше не было.

3. Без аккаунтов — нет шага регистрации = нет drop-off. Лайки и история запоминаются по cookie.

---

Что я уже сломал публично

Чтобы не было ощущения «всё гладко».

1. Двухпроходный пайплайн оказался патчем поверх плохо обученной LoRA.

Я обучил LoRA на ~300 картинках matchbox-плакатов. При нормальном scale=1.0 стиль еле виден. Поднял scale до 2.0 — анатомия ломается. Сделал «sandwich»: pass-1 даёт стиль (с поломанной анатомией), pass-2 без LoRA перерисовывает картинку, оставляя только цвет. Решение работает, но каждый запрос — это 30 секунд GPU вместо ~10.

Запостил в r/StableDiffusion. Получил детальный комментарий от u/DelinquentTuna (https://www.reddit.com/r/StableDiffusion/comments/1t0pcac/comment/ojf7vn1/), который указал: «Ты выбрасываешь 90% работы LoRA в pass-2». Прогнал ablation: 5 вариантов пайплайна × 5 категорий × 3 сида = 75 картинок. Подтвердил его правоту в неожиданной форме — на single-pass с правильным style-промптом и scale=1.0 моя LoRA выдаёт кириллицу прямо в картинке (training-set leakage из обучающего набора советских плакатов).

Вывод: нужно собирать датасет на 1500+ примеров, без кириллицы, с чистой разметкой. Уход в single-pass даст ~3× ускорение генерации и возможность поднять разрешение с 512 до 1024.

2. Дефолтная сортировка была "Latest", а не "Liked".

Тот же u/DelinquentTuna заметил первым: первое впечатление = свежие картинки, в которых много мусора (пользовательских one-word промптов вроде «human face» или «motorcycle»). Поправил: главная теперь по умолчанию показывает Hall of Fame.

3. Поиск был ограничен 60 картинками.

Глупый баг. По «cat» в базе 581 картинка, но фронт показывал только 60. Добавил cursor-пагинацию по id, IntersectionObserver на скролл, и теперь весь корпус доступен. Авто-генерация при этом не триггерится на пагинационных запросах — иначе очередь забилась бы.

4. VAE encode/decode round-trip между проходами.

Pass-1 сохранялся в JPEG, pass-2 читал его и проксировал обратно через VAE. Это потери качества + лишние ~2 секунды. Знал, оставил, потому что хотел сохранять snapshot для отладки. Уберу при переходе на single-pass.

---

Финансовая модель — куда оно идёт

Простая арифметика:

- Постоянные расходы: ~$140 GPU + ~$40/12 домен ≈ $145/мес

- Платежи: ~$50-100/мес валовая, после Stripe ~$45-90 на счёт

- Текущий разрыв: ~$60-100/мес (плачу из своего кармана как маркетинг)

При условии что:

- За год домен наберёт DR 15-20 (реалистично с активной публикацией)

- Органика вырастет с 70% до 85% трафика

- 1% посетителей конвертируется в платящих (currently <0.5%)

- Средний чек — $5

При 50k посетителей/мес: 500 платящих × $5 = $2500/мес валовой. Минус Stripe и GPU = ~$2200 чистыми. Это уже не «маркетинговый эксперимент», а side-project с положительной экономикой.

Чтобы туда дойти, нужны бэклинки и контент-маркетинг. Эта статья — часть того плана.

---

Что бы делал иначе с самого начала

1. Day-one ablation. Не делать sandwich «потому что анатомия не ломается». Сделать 5 вариантов × 3 сида и выбрать тот, что проигрывает реже всего. 30 минут на vast.ai = $0.10. Я этого не сделал.

2. Обучать LoRA на 1500+, не на 300. Соблазн «быстро попробовать» приводит к тому, что неправильная база живёт месяцами.

3. Default sort = Liked с первого дня. Какой смысл в новизне, если первое впечатление страдает.

4. Открытый GitHub-репозиторий day-one. Сейчас я его открываю на 3-й неделе — это упущенный SEO + доверие.

---

Что планирую в ближайшие 2 недели

1. Переобучение LoRA на 1500-датасете. Запускаю завтра.

2. Публикация модели на HuggingFace + Civitai. Бесплатные dofollow-бэклинки от высоко-DA источников.

3. Show HN + Хабр (опубликован). Первые два технических канала.

4. GitHub awesome-lists PR-ы. 5-10 списков типа awesome-ai-art / awesome-flux. Каждый — вечный бэклинк.

5. Pinterest auto-pin скрипт. Каждая Hall of Fame картинка → пин с обратной ссылкой. Pinterest гонит трафик годами.

6. Telegram-каналы с AI-аудиторией. Через знакомых либо платное размещение в 3-5 каналах.

---

Ссылки и контакты

- pinock.io — https://pinock.io

- Reddit-нить с детальной критикой и моим ответом — https://www.reddit.com/r/StableDiffusion/comments/1t0pcac/comment/ojf7vn1/

- Хабр-статья с техническим разбором ablation — ссылка после публикации Хабра

Если у вас есть идеи, что ещё нужно изменить, или вы хотите попробовать что-то сделать вместе — пишите. Этот проект — про быстрые итерации по обратной связи.

Тест кириллицы

11