Інтеграція AI-генерації зображень (Kandinsky) у мобільний додаток

Реалізація AI-генерації зображень (Kandinsky) у мобільному додатку Ми в команді мобільної розробки регулярно вирішуємо завдання інтеграції AI-генерації зображень. Для україномовного ринку оптимальним інструментом стала модель Kandinsky від Sber AI (версія 3.1). Її перевага — нативне розуміння укр

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція AI-генерації зображень (Kandinsky) у мобільний додаток
Простий
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    598

Реалізація AI-генерації зображень (Kandinsky) у мобільному додатку

Ми в команді мобільної розробки регулярно вирішуємо завдання інтеграції AI-генерації зображень. Для україномовного ринку оптимальним інструментом стала модель Kandinsky від Sber AI (версія 3.1). Її перевага — нативне розуміння українських промптів без перекладу. З нею «захід сонця над березовим лісом» працює так само, як на західних моделях англійський запит, без втрати якості. Правильна інтеграція такого сервісу займає від 3 до 12 днів, але результат — унікальна фіча для користувачів. Якщо ви замислюєтеся про додавання AI-генерації, Wikipedia: Kandinsky AI допоможе розібратися в основах, а ми покажемо, як реалізувати її технічно.

Чому варто обрати Kandinsky для мобільного додатку?

Основні причини: повна підтримка української мови, безкоштовний тариф на старті (100 запитів на добу), висока якість генерації для художніх та природних сюжетів. На відміну від багатьох західних аналогів, Kandinsky не потребує VPN і працює через офіційний Fusionbrain API. Для мобільного розробника це означає простоту інтеграції без додаткових проксі-серверів.

Доступні способи інтеграції

Порівняємо три основні підходи:

Метод API Безкоштовний рівень Стабільність Рекомендація
Fusionbrain API REST 100 запитів/добу Висока Продакшен
Replicate REST Немає (плата за модель) Середня Прототипи
HuggingFace Inference API REST Обмежено Низька Експерименти

Для продакшену обираємо Fusionbrain API з власним бекендом-проксі. Це гарантує керованість та безпеку.

Як ми інтегруємо Fusionbrain API: покроковий приклад

Розглянемо процес на Kotlin (Android), хоча на Swift він практично ідентичний. Основна складність — двоетапна модель: створення завдання та polling результату.

class KandinskyService(private val apiKey: String, private val secretKey: String) { // Шаг 1: получить ID модели suspend fun getModelId(): String { val response = httpClient.get("https://api-key.fusionbrain.ai/key/api/v1/models") { header("X-Key", "Key $apiKey") header("X-Secret", "Secret $secretKey") } val models = response.body<List<FusionBrainModel>>() return models.first { it.name == "Kandinsky" }.id.toString() } // Шаг 2: создать задачу генерации suspend fun createTask(modelId: String, prompt: String, width: Int = 1024, height: Int = 1024): String { val params = JSONObject().apply { put("type", "GENERATE") put("numImages", 1) put("width", width) put("height", height) put("generateParams", JSONObject().apply { put("query", prompt) }) } // Multipart запрос val requestBody = MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("model_id", modelId) .addFormDataPart( "params", "params.json", params.toString().toRequestBody("application/json".toMediaType()) ) .build() val response = OkHttpClient().newCall( Request.Builder() .url("https://api-key.fusionbrain.ai/key/api/v1/text2image/run") .header("X-Key", "Key $apiKey") .header("X-Secret", "Secret $secretKey") .post(requestBody) .build() ).execute() return JSONObject(response.body!!.string()).getString("uuid") } // Шаг 3: polling suspend fun pollResult(taskUuid: String): Bitmap? { repeat(30) { delay(3000) val response = OkHttpClient().newCall( Request.Builder() .url("https://api-key.fusionbrain.ai/key/api/v1/text2image/status/$taskUuid") .header("X-Key", "Key $apiKey") .header("X-Secret", "Secret $secretKey") .get() .build() ).execute() val json = JSONObject(response.body!!.string()) if (json.getString("status") == "DONE") { val images = json.getJSONArray("images") val base64 = images.getString(0) val bytes = Base64.decode(base64, Base64.DEFAULT) return BitmapFactory.decodeByteArray(bytes, 0, bytes.size) } } return null } } 

Код вище демонструє типову реалізацію. Зверніть увагу: відповідь приходить як base64-рядок, а не URL. Декодувати потрібно у фоновому потоці, щоб не блокувати UI.

Параметри генерації: блоки, стилі та негативний промпт

Kandinsky підтримує гнучке налаштування. Ось оптимальні параметри для мобільного додатку:

Параметр Діапазон Рекомендація
width/height 256–1024, кратне 64 768×768 або 1024×1024
style DEFAULT, ANIME, PORTRAIT, NATURE, REALISTIC Залежить від контенту
negativePromptDecoder рядок Вказувати завжди
val params = JSONObject().apply { put("type", "GENERATE") put("numImages", 1) put("width", 768) put("height", 1024) put("style", "PORTRAIT") put("generateParams", JSONObject().apply { put("query", "портрет молодої жінки в українському традиційному костюмі, деталізований, реалізм") }) put("negativePromptDecoder", "розмитість, артефакти, деформація, текст, водяний знак") } 

Що таке negative prompt і як він покращує результат?

Негативний промпт — це опис того, чого модель повинна уникати. У прикладі вище ми вказали «розмитість, артефакти, деформація, текст, водяний знак». Це знижує ймовірність появи небажаних елементів. Для портретів та фотореалістичних сцен negative prompt обов'язковий: без нього модель може додати випадкові артефакти. Експериментуйте з формулюваннями: чим точніше опишете, що потрібно виключити, тим чистішою буде генерація.

Український промпт vs англійський: практичні рекомендації

Kandinsky розуміє українську без деградації якості. Однак для технічних описів (архітектура, механізми) англійський промпт дає точніший результат — модель навчена на змішаному корпусі, і технічні терміни краще представлені в англійській. Для художніх, пейзажних, портретних сценаріїв українська працює відмінно. Для максимальної якості пишіть промпт обома мовами (якщо UI дозволяє), Kandinsky обробить обидва.

Як уникнути типових помилок при інтеграції?

  • Статус FAIL від Fusionbrain без пояснень — зазвичай промпт порушує content policy або занадто короткий (менше 3 слів). Мінімальний промпт для стабільної роботи — 5–10 слів.
  • Декодування base64 на main thread — блокування UI. Завжди використовуйте фоновий потік: DispatchQueue.global().async (iOS) або Dispatchers.Default (Android).
  • Перевищення ліміту безкоштовного тарифу — моніторте кількість запитів за допомогою лічильника.

Повний чек-лист для інтеграції:

  • Отримано API-ключі Fusionbrain
  • Реалізовано polling з таймаутом (30 спроб по 3 секунди)
  • Обробка помилок 4xx та 5xx
  • Декодування base64 у фоні
  • Кешування результатів
  • UI з індикатором завантаження

Що входить у нашу роботу

При замовленні інтеграції Kandinsky у ваш мобільний додаток ми надаємо:

  1. Backend-проксі для безпечного зберігання API-ключів.
  2. Модуль генерації для iOS (Swift) або Android (Kotlin) з обробкою помилок.
  3. UI-компонент для введення промпту, вибору стилю та відображення результату.
  4. Інтеграцію з галереєю для збереження зображень.
  5. Документацію з використання API та приклади запитів.

У нас за плечима більше десяти проєктів з інтеграції Kandinsky та більше п'яти років досвіду в mobile AI. Ми гарантуємо стабільну роботу навіть при пікових навантаженнях. Якщо ви хочете впровадити AI-генерацію у свій додаток, зв'яжіться з нами для попереднього аналізу.

Скільки часу займає інтеграція та яка її вартість?

Базова інтеграція Fusionbrain API з UI займає від 3 до 4 днів. Додавання стилів, історії генерацій, збереження в галереї та обробки помилок content policy — від 8 до 12 днів. Вартість розраховується індивідуально. Зверніть увагу: Fusionbrain API безкоштовний до 100 генерацій на день, що суттєво економить бюджет на невеликому проєкті. Для більш серйозних обсягів можна придбати платний тариф.

Отримайте консультацію з інтеграції AI-генерації у ваш додаток. Напишіть нам, і ми підберемо оптимальне рішення.