Огляд робіт
Давайте спочатку подивимося на кілька QR-кодів:
Як вам? Ці QR-коди — це арт QR-коди, які реалізують ідеальне поєднання зображення та QR-коду, вони більш художні, ніж звичайні QR-коди. І що важливо, кожен QR-код можна відсканувати!
Як зробити?
Хочете створити такий QR-код? Як зробити такий арт QR-код? Насправді, з технічної точки зору, це відносно складно. У наш час ери ШІ, рішення для арт QR-кодів базується на Stable Diffusion, за допомогою введення prompt ми можемо генерувати відповідні зображення, поєднуючи їх з деяким змістом QR-коду, щоб в кінцевому підсумку досягти такого ефекту. Отже, основний виклик полягає в тому, як зробити QR-код красивим і художнім, при цьому QR-код повинен бути правильно відсканований. Чесно кажучи, ця технологія насправді досить складна, і для досягнення хоча б трохи кращого результату потрібно багато налаштувань параметрів. Напевно, 99% людей відмовляються на першому етапі. Припустимо, що після постійних налаштувань ми дійсно досягли такого ефекту, реальна робота також вимагатиме значних витрат, якщо потрібно швидше, можливо, знадобиться потужна GPU, і це може коштувати тисячі гривень. Дехто може сказати: я не хочу витрачати стільки зусиль, я також не хочу витрачати стільки грошей, я просто хочу зробити арт QR-код, або я хочу інтегрувати цю можливість у свій продукт, було б добре, якби був готовий API. Чи є? Дійсно є. Ця платформа пропонує API для генерації арт QR-кодів, ми можемо викликати API, вводячи різні параметри, такі як зміст зображення, посилання QR-коду, стиль тощо, і дуже зручно генерувати бажаний арт QR-код, а також перший запит безкоштовно надає 20 разів малювання.Запит API
Щоб використовувати арт QR-код API, спочатку можна перейти на сторінку арт QR-код API і натиснути кнопку «Отримати»:
Якщо ви ще не увійшли, вас автоматично перенаправлять на сторінку входу, відскануйте QR-код, щоб підписатися на публікацію, і ви автоматично увійдете, без додаткових кроків реєстрації.
Після входу ви повернетеся на початкову сторінку, де з’явиться повідомлення «Ви ще не подали заявку на цю послугу, потрібно подати заявку». Під час подання заявки буде перевірено статус реєстрації, будь ласка, дотримуйтесь вказівок на сайті для завершення реєстрації. Реєстрація перевіряє ім’я, номер телефону, номер паспорта, після завершення ви можете повернутися на сторінку, оновити її, щоб переконатися, що інформація оновлена, а потім повторно подати заявку.
Основне використання
Щоб використовувати найосновніші функції арт QR-коду, потрібно заповнити кілька обов’язкових параметрів:type: тип QR-коду, наприклад, чистий текст, посилання тощо.content: зміст QR-коду, наприклад, якщо це посилання, ми можемо ввести відповідне посилання.prompt: інструкція для стилю малювання QR-коду, настійно рекомендується використовувати англійською. Наприклад,pizzaстворить QR-код у вигляді піци.callback_url: необов’язково, адреса асинхронного зворотного виклику, якщо надана, відразу поверне ID завдання.content_image_url: необов’язково, посилання на зображення, що містить справжній зміст QR-коду.aspect_ratio: необов’язково, співвідношення сторін полотна, за замовчуванням 1:1.ecl: рівень корекції помилок, за замовчуванням H.qrw: вага QR-коду, 1.5-3, чим більше, тим ближче до справжнього QR-коду.seed: фіксоване випадкове насіння, для генерації відтворюваного QR-коду.steps: кількість ітерацій малювання, 10-20, за замовчуванням 16.preset: попередньо заданий стиль фону.pattern: основний стиль, за замовчуванням custom.position: позиція QR-коду, за замовчуванням центр.marker_shape: форма маркерів, за замовчуванням квадрат.sub_marker: форма допоміжних маркерів, за замовчуванням квадрат.pixel_style: піксельний стиль, наприклад, square, rounded, dot.padding_level/padding_noise: інтенсивність відступу та шуму.rotate: кут обертання, за замовчуванням 0.rawurl: чи зберігати оригінальне посилання, за замовчуванням false, при активації не створює коротке посилання.
Потім натисніть тест:
Через деякий час ви побачите, що арт QR-код згенеровано, результат буде схожий на наступний:
Таким чином, ми створили QR-код, основою якого є корабель, що піднімає кілька прапорів, а ці прапори якраз і складають точки позиціонування QR-коду.
Скануючи його телефоном, ви можете перейти на офіційний сайт Zhishuyun.
Водночас, вищезазначений вміст можна дуже зручно перетворити на виклик API.
Посібник по запитам
Завдяки вищезазначеним діям можна побачити, що ключовим моментом у мистецькому QR-коді є написання запиту, тож які особливості має написання запиту? Насправді це загальні команди запиту Stable Diffusion, мистецький QR-код базується на технології Stable Diffusion з деякими спеціальними налаштуваннями, тому його вхідний запит повністю ідентичний Stable Diffusion. Якщо ви ще не знаєте, що таке Stable Diffusion, ви можете ознайомитися з його офіційним сайтом: https://stablediffusionweb.com/, а також з навчальними матеріалами та посібниками по запитам: https://stable-diffusion-art.com/prompt-guide/. Крім того, Stable Diffusion також створив генератор запитів, який може допомогти нам генерувати запити: https://stablediffusionweb.com/prompt-generator. Окрім цього, є кілька сайтів з прикладами запитів: https://publicprompts.art/. Вищезазначений вміст є лише для довідки, для отримання додаткової інформації ви можете самостійно шукати матеріали, пов’язані зі Stable Diffusion.Розширені параметри
Цей API також пропонує більше розширених параметрів для зручності налаштування додаткових функцій, описаних нижче:- preset: попередньо заданий стиль фону. Стиль фону QR-коду, наприклад, сюрреалістичний стиль, неоновий ефект, малюнок тощо.
- steps: кількість ітерацій малювання. Чим більше ітерацій, тим сильніше мистецький стиль QR-коду, діапазон від 10 до 20, за замовчуванням 16.
- qrw: вага QR-коду. Чим більша вага, тим ближче зображення до справжнього QR-коду, але мистецький стиль буде слабшим, діапазон значень від 1.5 до 3, за замовчуванням 1.5.
- seed: випадкове насіння. Використовується для генерації випадкового QR-коду, при однаковому насінні згенеровані QR-коди матимуть однаковий стиль, діапазон від 1 до 9007199254740991.
- rawurl: чи зберігати оригінальне посилання. За замовчуванням вхідне посилання скорочується до короткого посилання, що може підвищити частоту сканування, значення за замовчуванням - false.
- padding_level: внутрішній відступ QR-коду. Розмір внутрішнього відступу QR-коду,
- aspect_ratio: співвідношення сторін QR-коду.
- position: позиція QR-коду.
- pixel_style: піксельний стиль QR-коду.
- marker_shape: форма рамки позиціонування QR-коду.
- sub_marker: стиль підмітки QR-коду.
- rotate: кут обертання QR-коду.
- ecl: рівень корекції помилок QR-коду.
- padding_noise: шум внутрішнього відступу QR-коду.
- pattern: попередньо задана комбінація QR-коду. Попередньо задані комбінації стилю QR-коду, такі як стиль рамки позиціонування (квадратна, кругла тощо), стиль точок (квадратна, кругла тощо).
Попередньо заданий preset
API мистецького QR-коду налаштувало багато попередньо заданих шаблонів, цей параметр називається preset, можливі значення такі:- sunset(日落): Поєднує теплі відтінки та м’яке світло заходу сонця.
- floral(花卉): Арт-стиль з елементами квітів та рослин, що підкреслює красу природи.
- snowflakes(雪花): Льодовий світ з холодною атмосферою кристалів та сніжинок.
- feathers(羽毛): Відображає риси пір’я та птахів, створюючи легке та м’яке відчуття.
- raindrops(雨滴): Натхненний краплями дощу та водяними краплями, створює свіжий вологий ефект.
- ultra-realism(超现实): Надзвичайно реалістичні деталі та текстури, створюючи ефект, що перевершує реальність.
- epic-realms(史诗领域): Величні сцени та епічність, що забезпечують грандіозний візуальний досвід.
- intricate-studio(错综复杂): Стиль з багатими деталями та складністю, що вимагає уважного спостереження для повного розуміння.
- symmetric-masterpiece(对称杰作): Створює витончену рівновагу та гармонію через симетричні елементи.
- luminous-highway(发光高速公路): Підкреслює ефект світіння вночі, як фари автомобілів та неонові вогні.
- celestial-journey(星际之旅): Дослідження космосу та міжзоряних чудес.
- neon-mech(霓虹机械): Поєднує неонові вогні та механічні елементи, створюючи відчуття майбутнього.
- ethereal-low-poly(飘渺低多边形): Стиль низькополігональної графіки, що створює ілюзорний та абстрактний ефект.
- golden-vista(金色景观): Переважають золоті відтінки, що представляють собою вражаючу візуальну картину.
- cinematic-expanse(电影式广袤): Широкі сцени з кінематографічним відчуттям, що захоплюють увагу.
- cinematic-warm(电影式温暖): Теплі відтінки та світлові ефекти з кінематографічною текстурою.
- desolate-wilderness(荒凉荒野): Описує пустельність та дику природу, створюючи відчуття самотності.
- vibrant-palette(鲜明调色板): Багатий та різноманітний колір, яскравий контраст кольорів.
- enigmatic-journey(神秘之旅): Дослідження подорожі, наповненої загадками та таємницями.
- timeless-cinematic(永恒电影): Стиль з кінематографічною текстурою, що не підлягає часовим обмеженням.
- regal-galaxy(皇家星系): Зірки та космічні елементи з королівським відчуттям.
- illustrious-canvas(杰出画布): Створення видатного та привабливого ефекту на полотні.
- expressive-mural(富有表现力的壁画): Великий стиль настінного живопису, наповнений виразністю та емоціями.
- serene-haze(宁静薄雾): З ефектом спокою та туману, створюючи атмосферу спокою.
Якщо ми змінимо стиль, наприклад, змінивши параметр preset на raindrops(雨滴效果), ефект буде таким:
Щодо інших налаштувань, ви можете експериментувати самостійно.
Співвідношення сторін QR-коду aspect_ratio
За допомогою параметра aspect_ratio ми можемо налаштувати співвідношення сторін QR-коду, наприклад, квадрат 1:1, прямокутник 16:9 тощо, цей параметр:- 768x768: Співвідношення сторін 1:1, що означає, що ширина та висота полотна рівні. Відповідний розмір пікселів 768x768, згенероване полотно QR-коду буде квадратним.
- 1008x576: Співвідношення сторін 16:9, що означає, що ширина полотна в 16/9 разів більша за висоту. Відповідний розмір пікселів 1008x576, згенероване полотно QR-коду має більшу ширину, підходить для широкоформатного відображення.
- 576x1008: Співвідношення сторін 9:16, що означає, що ширина полотна в 9/16 разів менша за висоту. Відповідний розмір пікселів 576x1008, згенероване полотно QR-коду має більшу висоту, підходить для вертикального відображення.
- 864x672: Співвідношення сторін 4:3, що означає, що ширина полотна в 4/3 рази більша за висоту. Відповідний розмір пікселів 864x672, згенероване полотно QR-коду має легке квадратне відчуття, підходить для загального відображення.
- 672x864: Співвідношення сторін 3:4, що означає, що ширина полотна в 3/4 рази менша за висоту. Відповідний розмір пікселів 672x864, згенероване полотно QR-коду має легке вертикальне прямокутне відчуття, підходить для загального відображення.
Позиція QR-коду position
Ми також можемо контролювати позицію QR-коду за допомогою параметра position, наприклад, якщо на зображенні є дівчина в сукні, і ми хочемо розмістити QR-код на місці сукні та з’єднати його з нею, ми можемо спробувати змінити позицію QR-коду, приклад виклику нижче:
QR-код піксельного стилю pixel_style
Ми також можемо налаштувати піксельний стиль QR-коду, передавши pixel_style, параметри можуть бути такими:- square (квадрат): використовується квадратна піксельна одиниця, кожна піксельна одиниця має форму квадрата.
- rounded (округлений): піксельні одиниці мають округлені кути, що робить згенерований QR-код більш м’яким і сучасним.
- dot (точковий): використовується маленька кругла точка як піксельна одиниця, згенерований QR-код має точковий ефект, схожий на друкований ефект.
- squircle (округлений квадрат): схоже на округлений прямокутник, але ближче до круглої форми, надає згенерованому QR-коду унікальний стиль.
- row (ряд): піксельні одиниці розташовані в ряд, створюючи горизонтальний малюнок.
- column (стовпець): піксельні одиниці розташовані в стовпці, створюючи вертикальний малюнок.
Стиль рамки QR-коду marker_shape
За допомогою marker_shape можна налаштувати стиль рамки позиціонування, параметри можуть бути такими:- square (квадрат): форма маркера квадратна, використовується для виділення певного місця або елемента.
- circle (круг): форма маркера кругла, може використовуватися для позначення ключових областей або елементів.
- plus (плюс): форма маркера у вигляді плюса, схожа на хрест, використовується для виділення уваги або певної інформації.
- box (коробка): форма маркера у вигляді коробки, схожа на обведений прямокутник, може використовуватися для обрамлення області або елемента.
- octagon (восьмикутник): форма маркера у вигляді восьмикутника, з унікальними кутами, використовується для візуального залучення.
- random (випадковий): форма маркера випадково розподілена, надає QR-коду художній вигляд і візуальний інтерес.
- tiny-plus (маленький плюс): маленький маркер у вигляді плюса, може використовуватися для позначення дрібних елементів або деталей.
Стиль підмаркера QR-коду sub_marker
За допомогою sub_marker можна використовувати форму підмаркерів (менших маркерів), параметри можуть бути такими:- square (квадрат): форма підмаркера квадратна, може використовуватися для виділення деталей певного місця.
- circle (круг): форма підмаркера кругла, може використовуватися для підкреслення ключових деталей або елементів.
- box (коробка): форма підмаркера у вигляді коробки, схожа на обведений прямокутник, підходить для позначення дрібних областей.
- random (випадковий): форма підмаркера випадково розподілена, надає QR-коду художній вигляд і візуальний інтерес.
- plus (плюс): форма підмаркера у вигляді плюса, схожа на хрест, може використовуватися для позначення дрібної інформації або елементів.
Кут повороту QR-коду rotate
За допомогою rotate можна контролювати кут повороту QR-коду, параметри можуть бути такими:- 0: без повороту, згенерований QR-код зберігає початковий напрямок, без ефекту повороту.
- 90: згенерований QR-код повертається за годинниковою стрілкою на 90 градусів, відображаючи його у вертикальному напрямку.
- 180: згенерований QR-код повертається на 180 градусів, відображаючи його догори дном.
- 270: згенерований QR-код повертається за годинниковою стрілкою на 270 градусів, відображаючи його у зворотному вертикальному напрямку.
Попередні налаштування QR-коду pattern
За допомогою pattern можна зручно активувати деякі стилі QR-коду, такі як квадратна рамка позиціонування, круглі піксельні точки тощо, тут попередньо визначено деякі pattern:| pattern | 含义 | |
|---|---|---|
| s1 | pixel_style: квадратний marker_shape: квадрат | ![]() |
| s2 | pixel_style: квадратний marker_shape: квадрат rotate: 180 | ![]() |
| s3 | pixel_style: квадратний marker_shape: квадрат rotate: 180custom_padding_noise: 0.25 | ![]() |
| rd1 | pixel_style: закруглений marker_shape: випадковий | ![]() |
| rd2 | pixel_style: закруглений marker_shape: випадковий rotate: 180 | ![]() |
| rd3 | pixel_style: закруглений marker_shape: випадковий rotate: 180custom_padding_noise: 0.25 | ![]() |
| d1 | pixel_style: крапка marker_shape: коло | ![]() |
| d2 | pixel_style: крапка marker_shape: коло rotate: 180 | ![]() |
| d3 | pixel_style: крапка marker_shape: коло rotate: 180custom_padding_noise: 0.25 | ![]() |
| r1 | pixel_style: ряд marker_shape: плюс | ![]() |
| r2 | pixel_style: ряд marker_shape: плюс rotate: 180 | ![]() |
| r3 | pixel_style: ряд marker_shape: плюс rotate: 180custom_padding_noise: 0.25 | ![]() |
| c1 | pixel_style: стовпець marker_shape: коробка | ![]() |
| c2 | pixel_style: стовпець marker_shape: коробка rotate: 180 | ![]() |
| c3 | pixel_style: стовпець marker_shape: коробка rotate: 180custom_padding_noise: 0.25 | ![]() |
| sq1 | pixel_style: сквіркл marker_shape: випадковий | ![]() |
| sq2 | pixel_style: сквіркл marker_shape: випадковий rotate: 180 | ![]() |
| sq3 | pixel_style: сквіркл marker_shape: випадковий rotate: 180custom_padding_noise: 0.25 | ![]() |



















