Код игры может быть безупречным, а отказ придёт из-за иконки со скруглёнными углами. Промоматериалы — отдельный блок требований (раздел 5 и раздел 8), и модерация проверяет их не менее внимательно, чем сборку. Хорошая новость: здесь нет ничего творчески непосильного. Все требования — это конкретные числа и короткий список запретов, а сделать материалы можно самому, имея только браузер, бесплатный рекордер и ffmpeg.
Все размеры ниже сверены с официальной документацией Консоли разработчика в сентябре 2026 года. Яндекс иногда меняет требования к полям черновика — актуальные значения всегда продублированы прямо в форме, у знака вопроса рядом с полем.
Что вообще требуется
Промоматериалы живут на вкладке Черновик, в шагах 5 («Визуальные материалы») и 6 («Материалы для продвижения»).
| Материал | Размер | Формат | Обязательно |
|---|---|---|---|
| Иконка | 512 × 512 px | PNG | да |
| Maskable-иконка | круглая безопасная зона | PNG | нет |
| Обложка | 800 × 470 px | PNG | да |
| Обложка на витрину | 1560 × 520 px | PNG или JPG | нет |
| Скриншоты | 16:9 или 9:16, длинная сторона 1280–2560 px | JPEG или 24-разрядный PNG | да, минимум по 2 на платформу |
| Горизонтальное видео | 16:9, высота от 400 px, до 28 с, до 100 МБ | MP4 | да |
| Вертикальное видео | 9:16, высота от 400 px, до 28 с, до 100 МБ | MP4 | нет |
| GIF-изображение | 16:9, до 600 КБ | GIF | нет, поле устарело |
| Рекламные видео | 9:16 или 16:9, до 20 штук | MP4 | нет |
Пункт 5.2 перечисляет обязательные поля заявки целиком: Название, Об игре, Как играть, Версия, Категории, Иконка, Обложка, Архив, Поддерживаемые платформы, Ориентация плюс скриншоты. Без любого из них черновик не уйдёт на модерацию.
Отдельно про рекламные видео: они не обязательны, но для них документация даёт рекомендуемое разрешение 1920 × 1080 (горизонтальные) и 1080 × 1920 (вертикальные), минимальное — 1280 × 720 и 720 × 1280 соответственно. Загрузить можно до 20 роликов, автостратегии выберут лучшие.
Иконка 512 × 512
Иконка — единственное, что видит игрок в каталоге до клика. Требования жёсткие и почти все — про то, чего в ней быть не должно.
| Пункт | Что запрещено |
|---|---|
| 5.6 | Использовать скриншот из игры в качестве иконки или обложки |
| 8.3.3 | Рамки и скруглённые углы |
| 8.3.1 | Артефакты сжатия, избыточное затемнение, одноцветные кадры, обрезанный текст внутри иконки |
| 8.3.4 | Элементы системного интерфейса (статус-бар, индикатор батареи) и интерфейса Яндекс Игр (бейджи, игровой рейтинг) |
| 8.3.2 | Произвольная картинка, не отражающая суть игры |
| 5.1.1.1 | Одинаковые промоматериалы в разных играх и геймплей чужих игр |
| 5.1.3 | Название на иконке, отличающееся от названия игры в черновике и в самой игре |
Частая ошибка
Самая частая ошибка новичка — экспортировать иконку из движка вместе со скруглением и тенью «как в сторах». Яндекс Игры скругляют углы сами при отрисовке каталога. Ваш PNG должен быть прямоугольным 512 × 512 без рамки, без скругления и без внешней тени. То же самое с обложкой.
Рекомендации самой документации простые: яркие цвета и простые ассоциации — если игра про тетрис, на иконке должны быть узнаваемые цветные фигуры. Практически это значит: один крупный объект, максимум одно короткое слово, читаемость в размере 64 × 64.
Maskable-иконка
Поле необязательное, но заполняется за пять минут. Maskable-иконка — это версия для систем, которые накладывают на иконку маску (круг, скруглённый квадрат). Все значимые элементы должны быть вписаны в круглую безопасную зону в центре: всё, что выходит за неё, будет обрезано.
Совет
Документация прямо рекомендует проверить результат в редакторе maskable.app — если иконка сделана правильно, после применения любой маски она остаётся целой. Практический приём: возьмите обычную иконку, уменьшите её содержимое примерно до 80% и залейте поля фоновым цветом до полного квадрата.
Обложки
Обложка 800 × 470, PNG — карточка игры в каталоге. Пропорции примерно 1.7:1, то есть почти 16:9, но не ровно: не растягивайте под неё горизонтальный скриншот, во-первых из-за пункта 5.6, во-вторых из-за искажений.
Обложка на витрину 1560 × 520, PNG или JPG — широкий баннер для специальных подборок. Необязательна, но без неё игра просто не попадёт в те подборки, где этот формат используется. Пропорции 3:1 — композицию придётся строить заново, а не масштабировать обложку.
Пункт 5.9 разрешает чёрный фон по бокам или сверху/снизу на любых медиаматериалах — но только если он является частью игры, а не заливкой при масштабировании. Разница принципиальная: чёрные поля в вашей игре с фиксированным полем боя — нормально; чёрные поля, которыми вы дотянули картинку 4:3 до 16:9 — нарушение.
Осторожно
Если по игре запущен A/B-тест иконок, отправить на модерацию черновик с изменённой иконкой или обложкой не получится: это повлияет на контрольную группу. Сначала завершите тест.
Скриншоты
| Параметр | Значение |
|---|---|
| Пропорции | 16 × 9 (альбомная) или 9 × 16 (портретная) |
| Размер | от 1280 до 2560 px по длинной стороне |
| Формат | JPEG или 24-разрядный PNG |
| Количество | минимум 2 для каждой выбранной платформы |
| Геймплей на изображении | не менее 70% (пункт 5.1.1.2) |
Скриншоты загружаются двумя типами — Десктоп и Мобильные, тип выбирается в выпадающем списке. Десктопные могут быть только альбомными. Для мобильных ориентация выбирается отдельно и должна совпадать с ориентацией, заявленной в шаге 1 черновика. Чтобы поменять ориентацию скриншотов, сначала придётся удалить уже загруженные.
Правило 70% — про содержание, а не про размер файла. Реальный геймплей должен занимать не менее 70% изображения; оставшиеся 30% можно отдать под обрамление, логотип, подпись. Документация делает оговорку: требование не распространяется на материалы, качественно демонстрирующие основную механику и графику игры. Формулировка мягкая, поэтому надёжнее просто не рисовать поверх скриншота коллаж из персонажей и надписей «Играй прямо сейчас».
Как снять скриншот точного размера
Отдельная утилита не нужна — хватит DevTools:
- Откройте игру локально (через
npx @yandex-games/sdk-dev-proxy) или в режиме черновика. F12→Ctrl + Shift + M(режим устройства) → в списке устройств выберите Responsive.- Задайте размер вручную:
1920 × 1080для альбомных,1080 × 1920для портретных. - Установите DPR (device pixel ratio) равным
1— иначе картинка выйдет в два раза больше и вылетит за верхнюю границу 2560 px. Ctrl + Shift + P→ введитеCapture screenshot→ Enter.
На выходе — PNG ровно 1920 × 1080. Если хочется резче, поставьте 1280 × 720 при DPR = 2: получится 2560 × 1440, всё ещё внутри допустимого диапазона.
Снимайте моменты, где на экране что-то происходит: бой, комбо, решённая головоломка. Пустое меню — формально скриншот, но пункт 5.1.2 требует, чтобы материалы показывали суть игры и её особенности.
Горизонтальное видео геймплея
Обязательное поле, и именно оно чаще всего откладывает публикацию, потому что «сниму потом».
| Параметр | Значение |
|---|---|
| Соотношение сторон | 16 : 9 |
| Формат | MP4 |
| Высота | от 400 px |
| Длительность | до 28 секунд |
| Вес | до 100 МБ |
Пункт 5.1.1.3: реальный геймплей должен занимать не менее 70% продолжительности ролика. При лимите в 28 секунд это значит, что на заставку, логотип и финальный кадр у вас есть максимум 8 секунд суммарно. Практично уложиться в 2 секунды в начале и 2 в конце.
Порядок действий без монтажёра:
- Запишите экран в OBS Studio (бесплатный, кроссплатформенный). Источник — окно браузера с игрой, базовое и выходное разрешение
1920 × 1080, формат записиmkv(не портится при сбое). - Запишите с запасом — 40–60 секунд непрерывного играбельного отрезка, а не склейку.
- Вырежьте лучшие 24–27 секунд и перекодируйте в MP4.
# ffmpeg: обрезать с 4-й секунды, взять 26 секунд, привести к 1920x1080 H.264
ffmpeg -i raw.mkv -ss 4 -t 26 \
-vf "scale=1920:1080:flags=lanczos" \
-c:v libx264 -preset slow -crf 22 -pix_fmt yuv420p \
-c:a aac -b:a 128k -movflags +faststart \
gameplay-16x9.mp4
# проверить, что получилось
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height,duration \
-of default=noprint_wrappers=1 gameplay-16x9.mp4Флаг -pix_fmt yuv420p обязателен для совместимости с браузерными плеерами, -movflags +faststart переносит метаданные в начало файла. Не используйте фильтр pad для добивки до 16:9 — это ровно тот случай «заливка при масштабировании», который запрещает пункт 5.9. Записывайте изначально в 16:9.
Вертикальное видео 9:16 необязательно, требования те же. Если игра портретная, снять его стоит: у вертикальных точек входа своя выдача.
Иконка и обложка своими руками
Дизайнера можно заменить одним HTML-файлом с <canvas>. Идея: взять спрайт персонажа или ключевой объект прямо из ассетов игры, положить на фирменный градиент и экспортировать во все нужные размеры одной кнопкой. Это одновременно решает пункт 5.1.1 — материалы гарантированно сделаны из элементов вашей игры.
<!DOCTYPE html>
<html lang="ru">
<head><meta charset="utf-8"><title>Экспорт промоматериалов</title></head>
<body>
<button data-kind="icon">Иконка 512×512</button>
<button data-kind="cover">Обложка 800×470</button>
<button data-kind="hero">Витрина 1560×520</button>
<script>
const ART = 'assets/hero.png'; // спрайт из игры: без рамки и подложки
const PRESETS = {
icon: { w: 512, h: 512, name: 'icon-512x512.png' },
cover: { w: 800, h: 470, name: 'cover-800x470.png' },
hero: { w: 1560, h: 520, name: 'hero-1560x520.png' }
};
function loadImage(src) {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => resolve(img);
img.onerror = () => reject(new Error('Не загрузилось: ' + src));
img.src = src;
});
}
function draw(ctx, w, h, art) {
const g = ctx.createLinearGradient(0, 0, w, h);
g.addColorStop(0, '#1b2a6b'); // замените на цвета своей игры
g.addColorStop(1, '#0d1233');
ctx.fillStyle = g;
ctx.fillRect(0, 0, w, h);
// вписываем арт в 78% меньшей стороны, по центру, без искажений
const box = Math.min(w, h) * 0.78;
const k = Math.min(box / art.width, box / art.height);
const dw = art.width * k;
const dh = art.height * k;
ctx.drawImage(art, (w - dw) / 2, (h - dh) / 2, dw, dh);
}
async function build(kind) {
const { w, h, name } = PRESETS[kind];
const canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
draw(canvas.getContext('2d'), w, h, await loadImage(ART));
canvas.toBlob(blob => {
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = name;
a.click();
URL.revokeObjectURL(a.href);
}, 'image/png');
}
document.querySelectorAll('[data-kind]').forEach(btn =>
btn.addEventListener('click', () => build(btn.dataset.kind))
);
</script>
</body>
</html>Важно
Откройте этот файл через локальный сервер (npx serve . или python -m http.server), а не двойным кликом. При открытии по file:// изображение «пачкает» холст, и canvas.toBlob() бросает ошибку безопасности.
Что здесь стоит поменять под себя: цвета градиента (возьмите из палитры игры), коэффициент 0.78 для каждого пресета отдельно — на витрине 1560 × 520 персонаж по центру смотрится пусто, лучше сдвинуть его вправо и оставить слева место под название. Композицию удобно подбирать итеративно: попросите Claude Code переписать функцию draw под конкретный пресет и сразу пересоберите файл.
Про генерацию нейросетями: пункт 1.23 запрещает интерактивный ИИ внутри игры, но прямо разрешает использовать заранее сгенерированные материалы. При этом иконка всё равно обязана соответствовать пунктам 5.1.1 и 8.3.2 — быть связанной с игрой и отражать её суть. Сгенерированный арт в стиле, которого в игре нет, — это риск отказа, а не экономия времени.
Проверка перед отправкой
Уже загруженные креативы можно скачать из черновика в исходном качестве: наведите указатель на материал и нажмите Скачать изображение / Скачать видео в правом нижнем углу. Удобно, когда нужно обновить обложку, а исходник потерян.
Финальная сверка своими файлами — задача на один промпт Claude Code:
Проверь файлы в папке promo/ на соответствие требованиям Яндекс Игр.
Через ffprobe выясни размеры каждого изображения и параметры видео, затем сверь:
- icon*.png — ровно 512x512, PNG
- cover*.png — ровно 800x470, PNG
- hero*.png — ровно 1560x520, PNG или JPG
- screenshot*.* — соотношение ровно 16:9 или 9:16,
длинная сторона от 1280 до 2560, JPEG или PNG, не менее 2 штук
- gameplay*.mp4 — 16:9, высота от 400, длительность не больше 28 секунд,
размер файла не больше 100 МБ
Выведи таблицу: файл, фактические параметры, ОК или что именно не так.
Ничего не переименовывай и не перекодируй без моего подтверждения.Отдельно глазами проверьте то, что не проверяется автоматически: нет скруглённых углов и рамок, нет статус-бара и бейджей Яндекс Игр, название игры на всех материалах совпадает с названием в черновике, промоматериалы не переиспользованы из другой вашей игры.
Правки промоматериалов, не затрагивающие сборку, проходят контентную модерацию — она быстрее полной. Но кулдаун после отказа общий и удваивается с каждым разом, поэтому лишний прогон чек-листа всегда дешевле лишнего отказа.
Что дальше
Материалы готовы — остаётся заполнить текстовые поля черновика: название, «Об игре», «Как играть», категории, теги и возрастной рейтинг. У них свои требования к длине и содержанию, и именно там прячется запрет на слова вроде «бесплатно» и «лучшая» в названии. Об этом — в следующей главе.