1   Как начать и первый запрос

Нужна ли регистрация для первой генерации?

Нет. Вы можете сгенерировать изображение без регистрации — просто откройте ссылку вида pixinlink.ru/800x600/ваш-промпт в браузере. Без регистрации действует лимит 30 изображений в месяц с одного домена (определяется по заголовку Referer). Для постоянного использования рекомендуем зарегистрироваться: Free-тариф даёт 12 генераций/мес, платные тарифы — от 50 до 2 000 генераций/мес без водяного знака.

Какой самый простой способ получить первое изображение?

Откройте в браузере URL вида https://pixinlink.ru/800x600/красивый-закат-над-горами. Это всё — никаких SDK, регистраций, установок. Через 10–30 секунд вы увидите готовое изображение.

Почему при первом открытии ссылки появляется надпись «Генерируется...»?

Это нормально — сервер не имеет готового изображения и запускает генерацию (10–30 секунд). Обновите страницу через 15–20 секунд — вы увидите результат. Все последующие запросы отдают изображение мгновенно из кеша.

Можно ли использовать русский язык в промпте?

Да. PixInLink автоматически транслитерирует кириллицу в латиницу перед отправкой в AI-модель. Промпт «рыжая кошка на подоконнике» будет преобразован в «ryzhaya koshka na podokonnike». Это не полноценный перевод, а транслитерация — для лучшего результата рекомендуем писать конкретные существительные и избегать сложных грамматических конструкций.

Где хранятся сгенерированные изображения?

Все изображения хранятся в кеше PixInLink (Yandex Cloud, серверы в РФ). Они не загружаются в вашу медиабиблиотеку WordPress и не занимают место на вашем хостинге. Вы просто вставляете URL в тег <img> — и изображение загружается напрямую с нашего CDN.

Как долго изображение будет доступно по ссылке?

CDN кеширует изображение на 1 год (max-age=31536000). После первого запроса изображение записывается в Redis, CDN и базу данных. В течение года оно гарантированно доступно. При сбросе кеша — перегенерируется по тому же URL.

Можно ли скачать изображение на компьютер?

Да. Откройте URL в браузере → ПКМ → «Сохранить изображение как». Или используйте GET-запрос к catch-all endpoint: ссылка уже даёт готовый файл.

2   Водяной знак и тарифы

Почему на моём изображении есть водяной знак?

Водяной знак «Сгенерировано на PixInLink.ru» накладывается на все изображения, созданные без авторизации (анонимный доступ) или на Free-тарифе. Он вшивается непосредственно в пиксели изображения на сервере с помощью Pillow до WebP-кодирования. CSS-трюки и DevTools не помогут его убрать — в браузер приходит монолитный файл с текстом внутри.

Как убрать водяной знак?

Зарегистрируйтесь и перейдите на платный тариф — Starter (300 ₽/мес) или выше. После оплаты водяной знак автоматически исчезает со всех новых генераций. Аутентификация платного пользователя происходит через привязку домена (заголовок Referer) — добавьте ваш домен в настройках профиля, и все изображения, запрошенные с этого домена, будут без водяного знака.

Какие тарифы есть и сколько они стоят?

ТарифЦенаИзображений/месВодяной знак
Free 0 ₽ 12 ✅ есть
Starter 300 ₽/мес 50 ❌ нет
Pro 2 500 ₽/мес 500 ❌ нет
Business 4 500 ₽/мес 1 000 ❌ нет (кастомный доступен)
Enterprise 9 990 ₽/мес 2 000 ❌ нет (полная кастомизация)

Подробнее на /pricing.

Что ещё даёт каждый тариф кроме квоты?

ВозможностьFreeStarterProBusiness
Без водяного знака
Коммерческое использование
API-ключи01310
Привязка доменов
Webhook
Кастомный водяной знак
Формат AVIF
REST API (POST /generate)

Как сменить тариф?

Личный кабинет → Billing → выбрать тариф → оплатить через T-Bank. Доступны карты Visa, Mastercard, МИР, СБП, SberPay. Тариф активируется мгновенно после оплаты.

Можно ли отменить подписку?

Да, в любой момент. При отмене тариф возвращается на Free: квота — 12 генераций/мес, водяной знак включается. Сгенерированные ранее изображения остаются на CDN.

Что будет со старыми изображениями при апгрейде тарифа?

Ранее сгенерированные изображения (с водяным знаком) остаются в CDN-кеше без изменений. Чтобы получить версию без водяного знака, измените URL — добавьте ?seed=новое_число. Это вызовет перегенерацию: сервер увидит новый seed, создаст изображение заново, и поскольку теперь вы на платном тарифе — водяной знак не будет наложен.

3   Промпты и стили

Как написать хороший промпт?

Формула: [Субъект] + [Детали] + [Сцена] + [Свет/Атмосфера].
Плохо: «еда». Хорошо: «тирамису крем ягоды вид сверху деревянный стол».
Оптимальная длина — 3–7 слов. Будьте конкретны: не «город», а «вечерний мегаполис неоновые огни дождь».

Сколько символов максимум в промпте?

500 символов. Всё, что длиннее, обрезается без ошибки. Сервер нормализует промпт: убирает лишние пробелы, приводит к Unicode NFKC, удаляет спецсимволы.

Какие стили доступны?

СтильОписаниеДля чего
defaultФотореализм (по умолчанию)Универсальный: люди, еда, интерьеры
3dUHD 3D-рендерПродукты, техника, изометрия
illustrationЦифровая живописьПерсонажи, арты, концепты
animeАниме / мангаИллюстрации в японском стиле
photographicФотографическийМаксимальный реализм, как фото
minimalМинимализмЧистые линии, лаконичный дизайн
darkТёмная эстетикаМрачные, атмосферные сцены

Чем стили отличаются друг от друга на практике?

default/photographic — фотореализм без стилизации. illustration — ручная цифровая живопись (подходит для обложек книг, артов). 3d — Blender-подобный рендер (идеален для товаров и архитектуры). anime — манга-стиль с характерной штриховкой. minimal — чистый фон, минимум деталей. dark — тёмная палитра, высокая контрастность.

Можно ли генерировать в стиле pixel-art или cyberpunk?

Пока нет. Стили pixel-art и cyberpunk отсутствуют в текущей версии. Если передать неизвестный стиль, сервер использует default. Добавление новых стилей — в roadmap. Актуальный список всегда в документации URL API.

Поддерживается ли negative prompt (что НЕ рисовать)?

Напрямую — нет. Сервер автоматически добавляет исключения через встроенный prompt processor: «blurry, low quality, watermark, text, distorted». Вы не можете передать свой список запрещённых элементов через URL. Для продвинутого контроля используйте REST API.

Как зафиксировать результат, чтобы он не менялся?

Добавьте ?seed=любое_число к URL. Одинаковая комбинация prompt + style + seed всегда возвращает одно и то же изображение. Пример: pixinlink.ru/800x400/кофе-стол?seed=42. Без seed каждый новый cache-miss создаёт уникальную картинку.

4   Технические параметры URL

Какие размеры изображений поддерживаются?

От 16×16 до 4096×4096 пикселей. Значения вне диапазона обрезаются (clamped) без ошибки: 5000 → 4096, 10 → 16. Формат в URL: /WIDTHxHEIGHT/. Примеры: /1200x630/, /1080x1920/, /800x400/.

Можно ли задать цветовую тему?

Цветовая палитра управляется через промпт. Укажите цвета в описании: .../800x400/тёмно-синий-фон-неоново-зелёный-текст. AI-модель учтёт цветовую гамму из контекста промпта. Для точного указания цветов через bg/fg в пути — см. документацию REST API.

Какие форматы файлов доступны?

URL API (catch-all GET /{path}) всегда возвращает WebP с качеством 85% и методом сжатия 6. Формат задать нельзя — он оптимален для веба. AVIF и PNG доступны только через REST API (POST /api/v1/images/generate, параметр format в теле запроса). Для 99% случаев WebP — лучший выбор: на 25–34% легче JPEG при том же качестве.

Что означает ?seed= и когда его использовать?

Seed — это число, фиксирующее генерацию. Одинаковый prompt + одинаковый seed = всегда одинаковое изображение. Используйте когда:
— Настраиваете og:image для страницы (привязка к ID страницы)
— Хотите зафиксировать понравившийся результат после экспериментов
— Меняете тариф и хотите перегенерировать старые изображения (новый seed)

Как работает кэширование изображений?

Три уровня кеша:
1. Redis gen-кеш — само изображение в бинарном виде (TTL 24ч). Попадание → HTTP 200.
2. Redis CDN-кеш — URL редиректа на CDN (TTL 30 дней). Попадание → HTTP 302.
3. PostgreSQL — перманентная запись в БД.

Первый запрос (cache miss): 10–30 сек генерации. Повторный запрос (cache hit): менее 100 мс. Квота расходуется только при cache miss — повторные запросы бесплатны.

Есть ли ограничение на количество запросов?

Да. Rate limit: 50 запросов в минуту для всех пользователей на URL API. Месячная квота (генераций при cache miss) зависит от тарифа: 12/50/500/1 000/2 000. Cache hit (повторные запросы) не расходуют квоту и не учитываются в rate limit.

Как передать API-ключ в URL?

Никак. URL API (catch-all GET /{path}) не принимает API-ключ в параметрах URL. Аутентификация работает через заголовок Referer: привяжите ваш домен в настройках профиля, и все запросы с этого домена автоматически считаются авторизованными (без водяного знака, с вашей квотой).

Для REST API используйте заголовок X-API-Key: ваш_ключ или Authorization: Bearer ваш_ключ. Формат ключа: imgeshub_....

5   WordPress и CMS

Как вставить изображение в WordPress без плагина?

В редакторе Gutenberg: добавьте блок «Пользовательский HTML» и вставьте:

<img src="https://pixinlink.ru/800x400/офис-разработчиков" alt="Офис" loading="lazy" width="800" height="400">

Изображение загрузится напрямую с CDN PixInLink, не занимая место в медиабиблиотеке WordPress.

Как автоматизировать featured image для всех постов?

Добавьте фильтр в functions.php вашей child theme. 5 строк PHP:

// Автоматический featured image для постов без картинки
add_filter('post_thumbnail_html', function($html, $post_id) {
  if (empty($html)) {
    $title = sanitize_title(get_the_title($post_id));
    return '<img src="https://pixinlink.ru/1200x630/'.$title.'" loading="lazy">';
  }
  return $html;
}, 10, 2);

Этот код срабатывает только когда featured image не задан вручную — ваши собственные обложки не перезаписываются.

Как настроить og:image для Yoast SEO?

add_filter('wpseo_opengraph_image', function($img) {
  if (empty($img)) {
    $title = sanitize_title(get_the_title());
    return "https://pixinlink.ru/1200x630/{$title}";
  }
  return $img;
});

Yoast будет использовать сгенерированное AI-изображение как og:image для всех постов без заданной вручную обложки.

Поддерживаются ли RankMath и AIOSEO?

Да. Для RankMath используйте фильтр rank_math/opengraph/facebook/image. Для AIOSEOaioseo_opengraph_image. Логика та же: подставить URL PixInLink с заголовком поста, если изображение не задано вручную.

Работает ли PixInLink с Elementor и Divi?

Да. В Elementor: Image Widget → вкладка «Содержание» → поле «Image URL» (External Image URL) → вставить ссылку PixInLink. В Divi: Image Module → поле URL → вставить ссылку PixInLink. В обоих случаях изображение загружается с CDN без сохранения в медиабиблиотеку.

Есть ли готовый WordPress-плагин?

Полноценный плагин с визуальным интерфейсом и блоком Gutenberg — в разработке (Q3 2026). На данный момент доступен базовый shortcode [imgeshub prompt="..." width="800" height="400"] через установку imageshub из репозитория WordPress. Рекомендуемый способ — PHP-код в functions.php (5–10 строк), описанный выше.

Как вставить изображение в Hugo / Next.js / Django?

Hugo: <meta property="og:image" content="https://pixinlink.ru/1200x630/{{ .Title | urlize }}">
Next.js: `https://pixinlink.ru/1200x630/${encodeURIComponent(title)}?seed=${id}`
Django: f"https://pixinlink.ru/1200x630/{slugify(post.title)}?seed={post.id}"

Для всех CMS принцип один: заголовок/название → slug/sanitize → часть URL PixInLink.

6   Квоты, rate limits и ошибки

Почему я получил ошибку 429 Too Many Requests?

Причин две:
1. Rate limit: больше 50 запросов в минуту с одного IP. Решение: уменьшить частоту.
2. Месячная квота исчерпана: вы достигли лимита генераций по тарифу (12/50/500/1 000/2 000). Решение: дождаться сброса 1-го числа или перейти на тариф выше.

Для анонимных пользователей 429 также означает превышение лимита 30 изображений в месяц с домена.

Чем отличается rate limit от месячной квоты?

Rate limit — максимальное число запросов в минуту. Действует на все запросы (и cache hit, и cache miss). Сбрасывается каждую минуту.
Месячная квота — максимальное число генераций в месяц. Расходуется только при cache miss (новых генерациях). Сбрасывается 1-го числа (UTC).

Расходуется ли квота при повторных запросах к тому же URL?

Нет. Cache hit (HTTP 302 редирект на CDN) не расходует месячную квоту. Квота списывается только один раз — при первой генерации (cache miss). Если 1 000 посетителей вашего сайта увидят одну и ту же картинку, вы заплатите квотой только за один cache miss. Это делает PixInLink экономичным для сайтов с высокой посещаемостью.

Когда сбрасывается месячная квота?

1-го числа каждого месяца в 00:00 UTC (03:00 МСК). Счётчик monthly_generations обнуляется для всех пользователей одновременно, независимо от даты регистрации или оплаты.

Что делать при ошибке 502 Bad Gateway?

Ошибка 502 означает, что AI-провайдер временно недоступен. Повторите запрос через 10–20 секунд. Сервер автоматически делает до 3 retry с экспоненциальной задержкой. Если ошибка повторяется — проверьте status.pixinlink.ru.

Почему изображение показывает ошибку 400 Bad Request?

Неверный формат URL. Проверьте:
— Размеры: формат WIDTHxHEIGHT, числа 16–4096
— HEX-цвета: ровно 6 символов (0–9, a–f), без #
— Промпт: не пустой, URL-кодированный (пробелы как %20)
— Пример ошибки: /800x630/ — width=800, height=630 (не hex), должно быть /800x400/

Как узнать остаток квоты?

Через API: GET /api/v1/user/quota (требуется авторизация). Ответ: {"plan": "starter", "used": 23, "limit": 50, "reset_at": "2026-07-01T00:00:00Z"}.
В личном кабинете: Dashboard → секция Usage → текущий остаток и график.

Что будет при превышении анонимного лимита?

Анонимные пользователи (без регистрации) ограничены 30 изображениями в месяц с одного домена (определяется по заголовку Referer). При превышении — HTTP 429 с сообщением «Monthly limit of 30 images reached for ...». Зарегистрируйтесь на Free (12/мес) или платный тариф (50+), чтобы снять это ограничение.