Как выглядит для покупателя

  1. На странице товара — кнопка «Примерить»
  2. Модалка: «Загрузи своё фото / сделай через камеру»
  3. Canvas-сжатие до 1200px, JPEG 0.85, ~300 KB
  4. Нажимает «Примерить» → loading 15-30 сек
  5. Видит результат → может сохранить, поделиться, купить

Типы примерки

  • Одежда (платья, топы, брюки) → Fashn.ai Direct → fal.ai fallback
  • Головной убор (платки, палантины, хиджабы, банданы) → Gemini (scarf_tryon)
  • Неизвестный тип → пробуем одежду

Роутинг — по имени товара и категории (детекция ключевых слов).

Защита от перегрузки

Механизм Значение
Rate limit на IP 5 запросов/мин
Семафор max 10 параллельных
Таймаут backend 60 сек
Таймаут frontend 65 сек
Max размер файла 10 MB

Ошибки (видят покупатели)

  • 429: «Слишком много запросов. Подожди минуту»
  • 503: «Сервер перегружен. Попробуй через 30 секунд»
  • 504/timeout: «AI не ответил вовремя. Попробуй ещё»

Лимиты тарифа

  • trial — 10/месяц
  • start — 50
  • business — 150
  • max — 500
  • enterprise — безлимит

Провайдеры — fallback-цепочка

Fashn Direct → fal.ai → Replicate → Gemini. Если один упал или возвратил 502/503/504 — мгновенно пробуем следующий (circuit breaker).