Как мы делали Scevia: уроки запуска iOS-приложения для фото и видео на генеративном ИИ

Восстановить старое фото и превратить один снимок в короткое видео на слайде выглядит просто. Рассказываем, что на самом деле нужно, чтобы выпустить это как нативное iOS-приложение.

Mustafa GüderОснователь GuderTechОбновлено 3 мин чтения
building-a-generative-ai-ios-app.md

Scevia — наша творческая ИИ-студия для iPhone. Она восстанавливает и раскрашивает старые фотографии, превращает один снимок в вертикальное видео длиной 5–15 секунд, помещает людей в новые сцены и меняет освещение фотографий. Приложение доступно на шести языках. Вот чему нас научила его разработка.

Держите ИИ за своим сервером

Хочется вызывать ИИ-провайдера прямо из приложения. Не делайте этого. Ваш API-ключ окажется внутри файла приложения, откуда его может достать кто угодно, и вы никак не сможете ограничить злоупотребления.

Вместо этого приложение общается с нашим бэкендом, а бэкенд — с моделями. Это даёт:

  • Ключи, которые никогда не покидают сервер
  • Лимиты и кредиты для каждого пользователя в одном месте
  • Свободу менять или комбинировать модели без обновления приложения
  • Логи для разбора неудачных генераций

Для аутентификации, хранилища и серверных функций мы используем Supabase: бэкенд остаётся небольшим, а счета — предсказуемыми.

Проектируйте ожидание

Восстановление фото занимает секунды, генерация видео может длиться гораздо дольше. Индикатора загрузки недостаточно. Что работает:

  1. Запустить задачу на сервере и сразу вернуть ответ
  2. Показывать прогресс и позволять уйти с экрана
  3. Отправить push-уведомление, когда результат готов
  4. Хранить готовые результаты в библиотеке, чтобы ничего не потерялось, если приложение закрыли

Сначала сделайте затраты видимыми для себя

Каждая генерация стоит денег. Перед запуском мы смоделировали стоимость каждого действия, а затем настроили кредиты и цены так, чтобы даже самый активный пользователь оставался прибыльным. Бесплатные пробные периоды достаточно щедры, чтобы показать магию, и достаточно ограничены, чтобы выдержать злоупотребления. Если вы планируете ИИ-продукт, включите эти текущие расходы в бюджет; остальное объясняет наше руководство по стоимости iOS-приложений.

Показывайте результат до пейвола

Онбординг показывает примеры «до и после» и даёт сначала попробовать главную функцию. ИИ-приложение понимают по одной картинке, а не по абзацу текста.

Модерация — часть продукта

Любому приложению, которое создаёт изображения из пользовательских фото, нужны правила: что можно генерировать, какие провайдеры видят данные и как долго хранятся файлы. В Scevia загрузки и результаты привязаны к аккаунту и удаляются вместе с ним, а политика конфиденциальности простым языком называет каждого задействованного провайдера. Чёткие ответы здесь также упрощают App Review.

Гостевой режим заслуживает той же заботы. Scevia можно попробовать без аккаунта, а случайный идентификатор в связке ключей iOS гарантирует, что бесплатные приветственные кредиты можно получить только один раз на устройство, не связывая их с чьей-либо личностью.

Шесть языков с первого дня

Локализация интерфейса, страницы в App Store и примеров в онбординге открыла рынки, до которых мы никогда бы не дошли только с английским. Со String Catalogs в Xcode добавить язык — это в основном перевод, а не разработка. О странице в магазине читайте в нашем чек-листе ASO.

Натив там, где это важно

Scevia написана на Swift и SwiftUI. Плавные слайдеры «до и после», воспроизведение видео, доступ к медиатеке и подписки StoreKit 2 в нативном исполнении ощущаются лучше, и именно к этим частям люди прикасаются чаще всего. Как мы работаем с подписками, показывает наше руководство по StoreKit 2.

Что мы сказали бы основателю ИИ-приложения

  • Начните с одной функции, за которую люди заплатят, а не с десяти демо
  • Поставьте сервер между приложением и каждой моделью
  • Посчитайте затраты на пользователя до того, как назначать цены
  • Проектируйте ожидание так же тщательно, как результат
  • Напишите правила конфиденциальности и модерации до того, как о них спросит App Review

Если хотите добавить ИИ в существующее приложение или сделать новое, поговорите с нами. Scevia — эталон, на который мы опираемся.

Частые вопросы

Можно ли вызывать OpenAI или другие ИИ-API прямо из iOS-приложения?

Можно, но не стоит: ключ можно извлечь из приложения. Направляйте запросы через свой бэкенд, чтобы контролировать ключи, лимиты и расходы.

Сколько стоит содержать ИИ-приложение?

Зависит от модели и нагрузки. Генерация изображений стоит центы за запрос, видео может стоить гораздо дороже. Посчитайте стоимость каждого действия, прежде чем назначать цены.

Принимает ли Apple приложения с контентом, созданным ИИ?

Да, если у приложения есть чёткие правила контента, оно фильтрует вредные запросы и объясняет, как обрабатываются данные пользователей.

Могут ли функции ИИ работать на устройстве?

Некоторые могут. Модели Apple на устройстве и Core ML справляются с классификацией и текстом. Большие модели для изображений и видео по-прежнему работают на серверах.

ПоделитьсяXLinkedInWhatsApp
Mustafa Güder

Об авторе

Mustafa Güder

Mustafa Güder — основатель GuderTech и iOS-разработчик. После двух лет учёбы в Австралии он вернулся в Адану и создал Scevia, Paw & Home и Street Legends.

Учёба в Австралии, 2 года Адана, Турция

Все статьи