--- description: "Генерация QR-кодов с пользовательскими цветами и уровнями коррекции ошибок." i18n_source_hash: 096ef4d90da5 i18n_provenance: human i18n_output_hash: 7bc1811d0874 --- # Генератор QR-кодов {#qr-code-generator} Генерация изображений QR-кодов из текста или URL с настраиваемым размером, уровнем коррекции ошибок и пользовательскими цветами переднего плана/фона. ## Эндпоинт API {#api-endpoint} `POST /api/v1/tools/image/qr-generate` Принимает **JSON-тело** (не multipart). Загрузка файла не требуется. ## Параметры {#parameters} | Параметр | Тип | Обязательный | По умолчанию | Описание | |-----------|------|----------|---------|-------------| | text | string | Да | - | Содержимое для кодирования в QR-код (от 1 до 2000 символов) | | size | number | Нет | `400` | Ширина/высота выходного изображения в пикселях (от 100 до 10000) | | errorCorrection | string | Нет | `"M"` | Уровень коррекции ошибок: `L` (7%), `M` (15%), `Q` (25%), `H` (30%) | | foreground | string | Нет | `"#000000"` | Цвет переднего плана/модулей QR-кода в hex (`#RRGGBB`) | | background | string | Нет | `"#FFFFFF"` | Цвет фона QR-кода в hex (`#RRGGBB`) | | logoDataUri | string | Нет | - | Изображение логотипа как data URI (`data:image/png;base64,...` или `data:image/jpeg;base64,...`, максимум 700 КБ). Центрируется на QR-коде при 22% от размера QR. Принудительно устанавливает коррекцию ошибок в `H` | ### Уровни коррекции ошибок {#error-correction-levels} | Уровень | Восстановление | Сценарий использования | |-------|----------|----------| | `L` | ~7% | Максимальная плотность данных | | `M` | ~15% | Сбалансированный (по умолчанию) | | `Q` | ~25% | Хорошо подходит для печатных кодов | | `H` | ~30% | Лучше всего для кодов с наложением логотипа | ## Пример запроса {#example-request} ```bash curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \ -H "Authorization: Bearer si_your-api-key" \ -H "Content-Type: application/json" \ -d '{"text": "https://snapotter.com", "size": 500, "errorCorrection": "H"}' ``` Брендированный QR-код с пользовательскими цветами: ```bash curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \ -H "Authorization: Bearer si_your-api-key" \ -H "Content-Type: application/json" \ -d '{"text": "Hello World", "size": 300, "foreground": "#1a365d", "background": "#f7fafc"}' ``` ## Пример ответа {#example-response} ```json { "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/qrcode.png", "originalSize": 0, "processedSize": 4520 } ``` ## Примечания {#notes} - Этот эндпоинт принимает JSON, а не multipart form data, поскольку загрузка изображения не нужна. - Вывод всегда представляет собой изображение PNG. - Имя выходного файла всегда `qrcode.png`. - `originalSize` всегда равен 0, поскольку этот инструмент генерирует изображения с нуля. - Вокруг QR-кода включается тихая зона (отступ) в 2 модуля. - Максимальная длина текста — 2000 символов. Фактическая ёмкость зависит от уровня коррекции ошибок и кодировки символов. - Более высокие уровни коррекции ошибок позволяют QR-коду оставаться считываемым, даже если он частично скрыт, но уменьшают ёмкость данных. - Когда указан `logoDataUri`, коррекция ошибок автоматически принудительно устанавливается в `H` (30%), чтобы QR-код оставался считываемым, несмотря на закрытие центра логотипом.