Реализация AI-генерации изображений в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-генерации изображений в мобильном приложении
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-генерации изображений в мобильном приложении

Генерация изображений через Stable Diffusion, DALL·E 3 или Midjourney API — задача, в которой узкое место не алгоритм, а UX ожидания и управление ресурсами. Запрос к cloud-модели занимает 5–30 секунд, on-device генерация на мобильном — 10–60 секунд в зависимости от модели и устройства. Всё это время пользователь должен понимать, что происходит.

Cloud-генерация: DALL·E 3 и Stable Diffusion API

OpenAI Images API (POST /v1/images/generations) — самый простой путь. Запрос возвращает URL изображения или base64. Время ответа — 8–20 секунд для 1024×1024.

struct ImageGenerationRequest: Encodable {
    let model: String          // "dall-e-3"
    let prompt: String
    let n: Int                 // 1 (dall-e-3 не поддерживает > 1)
    let size: String           // "1024x1024"
    let quality: String        // "standard" или "hd"
    let responseFormat: String // "url" или "b64_json"

    enum CodingKeys: String, CodingKey {
        case model, prompt, n, size, quality
        case responseFormat = "response_format"
    }
}

Replicate API даёт доступ к Stable Diffusion XL, FLUX и другим open-source моделям. Особенность — асинхронная модель: первый запрос возвращает prediction ID, затем нужно polling или webhook. На мобильном клиенте polling каждые 2 секунды с exponential backoff при ошибках:

suspend fun pollPrediction(predictionId: String): String {
    var delay = 2000L
    repeat(15) {
        delay(delay)
        val result = api.getPrediction(predictionId)
        if (result.status == "succeeded") return result.output.first()
        if (result.status == "failed") throw GenerationException(result.error)
        delay = minOf(delay * 1.5, 8000L).toLong()
    }
    throw TimeoutException("Generation timed out")
}

On-device генерация через Core ML

Apple ML Research выпустила Stable Diffusion для Apple Silicon. На iPhone 15 Pro / M-серии iPad — ~20 секунд на 512×512, 20 шагов. На iPhone 12 — 60–90 секунд. Модель весит 2–6 ГБ в зависимости от квантизации.

import StableDiffusion

let pipeline = try StableDiffusionPipeline(
    resourcesAt: modelDirectory,
    controlNet: [],
    configuration: .init()
)
pipeline.loadResources()

var config = StableDiffusionPipeline.Configuration(prompt: userPrompt)
config.stepCount = 20
config.guidanceScale = 7.5
config.seed = UInt32.random(in: 0...UInt32.max)

let images = try pipeline.generateImages(configuration: config) { progress in
    DispatchQueue.main.async {
        self.generationProgress = Double(progress.step) / Double(progress.stepCount)
    }
    return true // продолжить генерацию
}

Thermal throttling — реальная проблема. После 3–4 последовательных генераций iPhone сбрасывает производительность. Решение: пауза между генерациями, мониторинг ProcessInfo.thermalState, предупреждение пользователя.

На Android on-device Stable Diffusion работает через MediaPipe с LlmInferenceSession или напрямую через ONNX Runtime с GPU-делегатом. Поддержка значительно хуже, чем на Apple Silicon — рекомендую cloud-first подход для Android.

UX во время генерации

Прогресс-бар с реальным значением (не spinner) — критично для длинных операций. Stable Diffusion возвращает progress.step — используйте его. Показывайте промежуточные превью (latent-preview) начиная с 5-го шага — это удерживает внимание.

Отмена генерации: cloud-запрос можно отменить через URLSessionTask.cancel() или Replicate API POST /predictions/{id}/cancel. On-device — через флаг shouldContinue в колбэке прогресса.

Сохранение в галерею: PHPhotoLibrary.requestAuthorization(for: .addOnly) на iOS. Разрешение WRITE_EXTERNAL_STORAGE (до Android 9) или MediaStore.Images API. Запрашивайте разрешение только в момент первого сохранения, не при открытии экрана генерации.

Типичные ошибки

Content policy violations — DALL·E 3 отклоняет промпты с violence, NSFW, celebrity-контентом. На это нужна валидация промпта до отправки (OpenAI Moderation API) и понятное сообщение об ошибке. Не показывайте системное сообщение «Your request was rejected» — объясните, что именно нельзя.

Память на устройстве: on-device Stable Diffusion требует 4–6 ГБ RAM в пике. os_proc_available_memory() на iOS даёт понимание доступной памяти — если меньше 1 ГБ свободно, лучше fallback на cloud.

Процесс работы

Выбор архитектуры (cloud / on-device / hybrid). Интеграция выбранного API с обработкой async-паттернов (polling / webhook). UX генерации: прогресс, превью, отмена. Хранение и экспорт результатов. Обработка ошибок content policy и сети. Тестирование на range устройств — от бюджетных до флагманов.

Ориентиры по срокам

Cloud-генерация с базовым UI — 4–6 дней. On-device Stable Diffusion с latent-preview и thermal management — 2–3 недели.