# Поиск материалов и лицензии

## Pixabay

Публичный API предназначен для изображений и видео.

Переменная:

```text
PIXABAY_API_KEY
```

Правила:

- кэшировать запросы минимум 24 часа;
- не делать массовую автоматическую выгрузку;
- не оставлять постоянные горячие ссылки на изображения;
- скачивать выбранные файлы локально;
- сохранять `pageURL`, автора, ID и дату загрузки;
- выбирать вертикальные материалы или безопасно кадрируемые горизонтальные.

Музыкального метода в публичной API-документации нет. Это не означает, что на
сайте нет музыкального каталога: музыкальные треки выбираются на странице
Pixabay, сохраняются локально и регистрируются по
`references/PIXABAY_MUSIC.md`.

Рабочий цикл:

```bash
python scripts/pixabay_fetch.py "mountain road" --type video --search-only --count 8
python scripts/pixabay_fetch.py "mountain road" --type video --ids 123456
```

Не скачивать все результаты автоматически. Сначала изучить страницы кандидатов, затем передать выбранные ID.

## Pexels

Переменная:

```text
PEXELS_API_KEY
```

Использовать для фото/видео. Сохранять автора и ссылку на Pexels, следовать требованиям атрибуции.

```bash
python scripts/pexels_fetch.py "motorcycle highway" --search-only --count 8
python scripts/pexels_fetch.py "motorcycle highway" --ids 123456
```

Pexels требует заголовок `Authorization`, использует видео-путь `/v1/videos/` и по возможности ссылку/указание автора.

## Freesound

Переменная:

```text
FREESOUND_API_KEY
```

Использовать для переходных звуков только после проверки:

- лицензии конкретного звука;
- возможности коммерческого использования;
- требований указания автора;
- условий API. Бесплатное использование API может быть ограничено некоммерческими проектами.

Фильтровать CC0/CC BY и записывать лицензию в манифест.

## Jamendo

Переменная:

```text
JAMENDO_CLIENT_ID
```

API подходит для поиска/открытия каталога, но наличие трека в API само по себе не означает право синхронизации в коммерческом ролике. Для публикации получить подходящую лицензию/сертификат.

## Генерация изображений

Промпт описывает только визуал:

```text
vertical 9:16 cinematic macro shot of two 2012-era gaming GPUs in a dark research workstation, realistic materials, restrained cyan highlights, no text, no logos, no labels, clean central negative space for typography
```

Всегда добавлять:

- `no text`;
- `no letters`;
- `no logos`;
- свободное место под графику;
- нужную ориентацию.

## Оценка стока

Оценивать:

- смысловое соответствие;
- отсутствие логотипов;
- качество и разрешение;
- движение камеры;
- возможность кадрировать 9:16;
- отсутствие визуального клише;
- совпадение света/цвета с основным видео.

## Манифест

Каждый файл:

```json
{
  "local_path": "assets/stock/gpu_001.mp4",
  "provider": "pixabay",
  "source_page": "...",
  "creator": "...",
  "license": "Pixabay Content License",
  "downloaded_at": "...",
  "used_at": [4.2, 5.6]
}
```

Для музыки дополнительно обязательны длительность, SHA-256, codec/sample rate и
`content_id_registered`.

## Секреты

Настоящие значения хранятся только в `.env` в корне навыка. `.env` обязан быть в `.gitignore`.

Проверка без раскрытия значений:

```bash
python scripts/skill_config.py --status
```

Нельзя печатать ключи, включать их в URL отчёта, манифест, архив или командный лог.
