# Salalah Eye — правила обложек, превью и каруселей

Версия: **2026-10-02.1**, проверка источников: **2 октября 2026 года**. Разделы до профиля Salalah Eye — общая производственная основа; брендовый раздел применяется только к этому проекту. Названия, палитра, контакты, языки и факты конкретного бренда задаются отдельным профилем.

## Сначала поверхность и нативная проверка

Перед выпуском определить точную поверхность, аккаунт и путь публикации: приложение/Studio или конкретный API endpoint. Проверить доступные в нативном редакторе выбор обложки, положение crop, порядок карточек и предварительный просмотр. Обновить capability profile с датой, ссылкой на первичный источник, API-версией и результатом проверки. Документация API не доказывает доступ аккаунта; техническая возможность не даёт разрешения публиковать.

Размеры ниже — **предлагаемые редакционные пресеты**, а не ограничения платформ. Аналогично, количество слов, безопасные поля, число слайдов и тестовые crop не являются универсальными техническими стандартами. Реальные лимиты приложения и API проверяются отдельно перед выпуском; неизвестное значение остаётся неизвестным.

## Обложка и первый кадр

Использовать один понятный главный объект, один смысл и короткий заголовок. Обложка обещает только то, что действительно есть в материале. Реальные утверждённые логотипы, фотографии и видео сохраняют узнаваемую форму; не перерисовывать логотип генератором и не выдавать сгенерированную сцену за документальную съёмку.

Для заголовка можно начать с 3–7 слов и не более двух строк на язык; это редакционная рекомендация. Если короткая формулировка работает лучше, не дополнять её ради счётчика. Разделять заголовок и пояснения; подробности переносить в подпись, видео или следующий слайд. Не добавлять неподтверждённые цены, охват, сроки, гарантии, наличие услуг и «новое/открыто» без основания.

Готовить отдельно: полный cover; выбранный кадр/первую карточку; варианты кадрирования под конкретное размещение. Первый кадр видео не становится выбранной обложкой автоматически. Не рассчитывать на специальную загрузку thumbnail там, где такая функция не подтверждена.

Уменьшить макет до мобильного превью и проверить без увеличения: виден ли главный объект, читаются ли заголовок и логотип, не сливаются ли детали, сохраняется ли смысл. Если не читается — сократить текст, увеличить контраст или изменить композицию. Не решать перегрузку микрошрифтом. Проверять наложение времени, кнопок, подписи и прочих элементов реального UI.

## Обложки профиля и канала

Обложка профиля или канала — отдельный макет: не растягивайте миниатюру видео в баннер. Сохраняйте оригинальный логотип и точное название; проверяйте расположение ключевых элементов в доступных desktop/mobile/TV-превью нужного аккаунта. Размеры и кадрирование берите из актуального нативного редактора и официальной справки этой поверхности.

## Четыре мастер-пресета

| Назначение | Предлагаемый мастер | Предлагаемые внутренние поля | Контрольное превью |
|---|---:|---|---:|
| Обложка обычного видео | 3840×2160, 16:9 | 192 px слева/справа; 108 px сверху/снизу, то есть 5% | ширина 320 px |
| Вертикальная обложка / первый кадр | 1080×1920, 9:16 | left 90, top 250, right 90, bottom 420; рабочая область x90–990, y250–1500 | ширина 360 px |
| Карусель, основной вариант | 1080×1350, 4:5 | 80 px с каждой стороны | ширина 360 px |
| Карусель, квадратный fallback | 1080×1080, 1:1 | 80 px с каждой стороны | ширина 360 px |

Для вертикальной обложки допустим мастер 2160×3840 с пропорционально увеличенными полями. Экспорт фото/карточек — JPEG или PNG по нуждам принимающей поверхности; цвет и прозрачность проверяются в реальном предпросмотре.

**Сетка профиля — отдельная проверка.** Не закреплять единственный crop как вечную норму Instagram или другой платформы. В макете допустимы стресс-превью 3:4, 4:5 и 1:1; это собственные сценарии проверки, а не утверждение о текущем UI. Заголовок, лицо/объект и смысловой центр должны переживать выбранный реальный crop. Если не переживают — сделать отдельную версию, а не растягивать изображение.

## Карусель постов

Предлагаемая длина — **6–8 слайдов**. Это удобная редакционная рамка, не максимум платформы и не обязательный минимум. Число слайдов выбирается по содержанию. Предел конкретного канала, приложения и API заново проверяется перед выпуском; лимит приложения не переносится на API.

Все карточки серии имеют одинаковые размеры и отношение сторон. Предлагаемый основной мастер — 4:5, квадратный fallback пересобирается целой серией. Смешанные размеры не должны оставлять результат на усмотрение автоматического crop.

Пример структуры шести карточек:

1. **Крючок:** один ясный повод открыть серию и сильный реальный кадр.
2. **Контекст:** что читатель узнает и какие исходные сведения нужны.
3. **Содержание:** первая мысль, наблюдаемый факт или действие.
4. **Деталь:** пример, крупный план или подтверждение.
5. **Вывод:** полезный следующий ракурс или практическое следствие.
6. **CTA:** один следующий шаг с проверенным адресом/ссылкой и понятным результатом.

Дополнительные полезные карточки вставляются до CTA. Не растягивать слабый материал до восьми слайдов. Каждый слайд должен быть понятен сам по себе и продолжать общую историю. Порядок, единый стиль, повторяемое положение заголовков и разумная плотность текста важнее декоративных различий. Нумерация опциональна; направление стрелки не должно противоречить реальному интерфейсу свайпа.

Facebook multi-image post, Instagram carousel, платная carousel ad и последовательность Stories — разные форматы. Переносить идею с адаптацией под поверхность, а не обещать одинаковое поведение.

## Языки, доступность и пакет

Порядок языков определяется профилем бренда. Для RTL-языков использовать полноценный Unicode shaping и bidi; не разворачивать строку вручную. Смысловые языковые блоки разделять, контакты и URL сохранять в корректном LTR-направлении. Перевод передаёт тот же смысл и CTA. Декоративный шрифт подходит короткому заголовку; плотные сведения требуют читаемой текстовой гарнитуры.

Для каждого изображения подготовить содержательный alt text: главный объект, действие/контекст и важный текст, без набивки ключевыми словами. Для карусели — отдельный alt text по слайдам. Использовать нативное поле только там, где оно поддерживается; при отсутствии поля включить текстовый эквивалент в пакет/подпись, не выдумывать endpoint.

Пакет содержит редактируемый источник, экспорт, cover или первый кадр, crop-preview, контактный лист слайдов, текст по языкам, alt text, источники/права на медиа, проверенные и неизвестные факты, QA и версию capability profile. Связать всё через content ID, content version, rulesVersion и SHA-256 файла правил. Не включать пароли, токены, signed URLs и приватные ссылки авторизации.

Перед выпуском отдельно проверить факты, происхождение ассетов, нативные ограничения, мобильную читаемость, crop, перевод/shaping, порядок, CTA и доступность. Автоматическая проверка размеров или наличия JSON не заменяет визуальную редактуру. Prepared, reviewed, approved_for_publish, manual_handoff и published_verified — разные состояния. Успех ручного handoff не является публикацией; live-статус требует фактического подтверждения.

## Подтверждённые различия платформ

- **YouTube video / Shorts.** Текущая справка подтверждает custom image для Shorts через desktop Studio у верифицированного аккаунта. Для video рекомендуются 3840×2160, для Shorts — 2160×3840; это рекомендации. У desktop thumbnail лимит 50 MB; mobile 2 MB относится к обложкам обычного видео. Отображение зависит от поверхности: вертикальное видео с 16:9 cover может получить автоматический 4:5 preview в некоторых разделах. [YouTube Help](https://support.google.com/youtube/answer/72431?hl=en).
- **YouTube API.** Официальный thumbnails.set указывает 50 MB, MIME JPEG/PNG/octet-stream и авторизацию на videoId. Shorts/account-specific возможность следует подтвердить отдельно, а не выводить из наличия общей функции. [YouTube Data API](https://developers.google.com/youtube/v3/docs/thumbnails/set).
- **Instagram.** Официальный SDK содержит cover_url, thumb_offset, children, is_carousel_item и alt_text. Это подтверждает наличие параметров, но не универсальный crop, максимальное число карточек и права конкретного аккаунта. [Meta IGUser SDK](https://github.com/facebook/facebook-python-business-sdk/blob/main/facebook_business/adobjects/iguser.py). Прямой Content Publishing Guide при проверке вернул 429; актуальный числовой лимит карусели в эту версию не зафиксирован. [Guide для повторной проверки](https://developers.facebook.com/docs/instagram-platform/content-publishing/).
- **Stories / Reels / grid.** Reels cover, первый кадр обычной Story, Highlight cover и профильная сетка рассматриваются отдельно. Для обычных Stories производить первую карточку; наличие отдельной custom-thumbnail операции не предполагать. Для Facebook Reels обложку/выбор кадра проверять в нативном UI или документации используемого метода.
- **Facebook.** Page SDK содержит attached_media для feed и методы video_reels, photo_stories, video_stories. Page API не является API личного профиля; multi-image feed не гарантирует вид Instagram-карусели. [Meta Page SDK](https://github.com/facebook/facebook-python-business-sdk/blob/main/facebook_business/adobjects/page.py).
- **Snapchat.** Public Story, Saved Story на профиле и Spotlight — отдельные поверхности. У сохранённой Story нативный интерфейс позволяет задать заголовок и cover. [Snapchat Help](https://help.snapchat.com/hc/en-us/articles/7012381865236-How-do-I-add-a-Story-to-my-Public-Profile). Возвращаемый thumbnail_url не доказывает наличие writable cover API; Public Profile API имеет условия доступа/allowlist. [Asset Management](https://developers.snap.com/marketing-api/Public-Profile-API/ProfileAssetManagement), [Get Started](https://developers.snap.com/marketing-api/Public-Profile-API/GetStarted).
- **WhatsApp Status.** Готовить первую карточку/последовательность Status для ручного выпуска в Updates → Add status. Это не feed carousel, рассылка и не канал. Справка подтверждает исчезновение Status через 24 часа и отсутствие HD Status; проверять читаемость после сжатия. Отдельный органический Status publishing API и custom-thumbnail endpoint здесь не подтверждены. [WhatsApp Help](https://faq.whatsapp.com/643144237275579/?cms_platform=iphone&locale=en_US).

Технические возможности аккаунтов, права API, текущие crop и расположение UI этой памяткой не проверены. Перед выпуском обновить профиль возможностей; при недоступном первичном источнике сохранить ограничение проверки и перейти к проверяемому ручному пути.


## Профиль Salalah Eye — только для этого проекта

Каноническое имя: **عين صلالة / Salalah Eye**. Порядок в двуязычном материале — арабский первым, английский вторым. AR располагается отдельным RTL-блоком, EN — отдельным LTR-блоком. Этот порядок не переносится автоматически на другие бренды.

Использовать утверждённый логотип из проекта, палитру текущего мудборда и реальные исходники колеса/побережья. Короткие арабские заголовки — Aref Ruqaa Bold; основной арабский текст — IBM Plex Sans Arabic; английский — IBM Plex Sans из локального брендового набора. Контакты брать только из действующего утверждённого brief; глобального контакта по умолчанию нет.

Не выводить из кадров цены, часы работы, открытие, вместимость, правила посещения, доступность или количество посетителей. Архивный кадр не означает «сегодня». Сценарий серии привязывается к реально доступным кадрам.

Пример шести карточек, **редакционный эскиз, не готовая публикация**:

| № | Роль | AR | EN |
|---|---|---|---|
| 1 | Крючок | صلالة من الأعلى | Salalah from above |
| 2 | Контекст | الساحل من منظور مختلف | A different view of the coast |
| 3 | Содержание | تفاصيل العجلة | Wheel details |
| 4 | Деталь | بين البحر والمدينة | Between sea and city |
| 5 | Следующий ракурс | من النهار إلى المساء | From day to evening |
| 6 | CTA | احفظ المنشور | Save this post |

Эти формулировки допустимы только с соответствующими реальными изображениями. CTA можно заменить после определения цели, поверхности и проверенного адресата действия. Не превращать ознакомительную серию в обещание доступной покупки/бронирования.

## Машиночитаемый контракт и границы версии

Файл `rules.json` (в скачиваемом веб-пакете — `content-production-rules.json`) — машиночитаемый источник правил: schemaVersion 1.0.0, rulesVersion 2026-10-02.1. Стабильные ruleId/surfaceId/presetId связывают контент и QA. Все presets помечены editorialRecommendation; числовые platform constraints — отдельные записи с sourceIds. Неизвестные лимиты представлены null и требуют preflight.

Семантические требования имеют check: manual_review. Будущий валидатор может проверить структуру, размеры, полноту и ссылки, но не должен объявлять правдивость, права, перевод или визуальное качество успешными по наличию файла. Для MVP: approvalGate.mode=no_autopost, requiresHumanApproval=true, autoPublish=false. Возможность API не является согласием на отправку; ранее данное явное разрешение учитывается в своей области.

Общие правила отдельно сохранены в `global-rules.md` для переноса в глобальную инструкцию. Этот этап не устанавливает их глобально, не создаёт публикаций и не подтверждает интеграцию с платформами.
