Перейти к содержанию

Экспорт и публикация

Как отрендерить ролик через Slicer API с нужными параметрами файла, скачать его и опубликовать в YouTube, Instagram и VK Видео.

На этой странице

Экспорт перерисовывает ролик по текущему документу — со всеми правками и выбранным стилем — и сохраняет файл с параметрами, которые вы задали. Экспорт бесплатный. Сразу после рендера Slicer может опубликовать ролик в подключённые соцсети.

Запустить экспорт

Терминал
curl https://api.slicer.media/v1/projects/318/export \
  -H "Authorization: Bearer $SLICER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"profile":{"resolution":"1080p","fps":30,"quality":"high"}}'

Ответ — проект со статусом queued: экспорт — такой же запуск, как монтаж, с этапами и прогрессом от 0 до 100 %. Дождитесь статуса succeeded опросом GET /v1/projects/{id} или вебхуком export.succeeded.

Если экспорт не удался или его остановили, проект остаётся готовым с прежним роликом — ничего не теряется. Пока идёт рендер, правки и новый экспорт отвечают 409 busy.

У проекта без ИИ-режиссёра первый удачный экспорт превращает черновик (draft) в готовый проект (succeeded), неудачный — оставляет черновиком. Бесплатных экспортов таких проектов в сутки — ограниченное число: сверх лимита ответ 429 daily_export_limit.

Параметры файла

profile — необязательный: без него ролик получит профиль «Соцсети». Можно передать только часть полей — остальные возьмутся по умолчанию.

Поле Значения По умолчанию
containermp4, movmp4
codech264, hevch264
resolution720p, 1080p, 1440p, 2160p — по короткой стороне кадра1080p
fps24, 25, 3030
qualitybalanced, high, maxhigh
colorDepth8, 10 — 10 бит только с hevc8
audioBitrate128, 192, 256, 320 кбит/с192
loudness-14 (соцсети), -16 (подкасты), -23 (ТВ), LUFS-14

Готовые наборы — GET /v1/export-presets:

Пресет Профиль
socialMP4, H.264, 1080p, 30 к/с, высокое качество, 8 бит, AAC 192, −14 LUFS
masterMOV, HEVC, 1080p, 30 к/с, максимальное качество, 10 бит, AAC 320
youtube4kMP4, H.264, 2160p, 30 к/с, высокое качество, AAC 256
compactMP4, HEVC, 720p, 30 к/с, оптимальное качество, AAC 128

Подробнее о параметрах — в руководстве Экспорт: пресеты и параметры файла.

Скачать ролик и обложку

Терминал
curl -f -o reel.mp4 "https://api.slicer.media/v1/projects/318/result" \
  -H "Authorization: Bearer $SLICER_TOKEN"

curl -f -o cover.jpg "https://api.slicer.media/v1/projects/318/poster" \
  -H "Authorization: Bearer $SLICER_TOKEN"
  • Тип файла — по контейнеру: video/mp4 или video/quicktime; расширение — в result.container проекта.
  • Поддерживаются Range-запросы: файл можно докачивать и проигрывать с перемоткой.
  • ?version=902 — файл конкретной версии ролика из GET /v1/projects/{id}/versions.
  • Параметры готового файла (размер кадра, кодек, частота кадров, битрейт) — в result.info.

Ссылок на скачивание без токена нет: файл отдаётся только владельцу. Чтобы показать ролик человеку, дайте ему ссылку appUrl — проект откроется в веб-приложении после входа.

Публикация в соцсети

Для публикации токену нужна область publish. Соцсеть сначала подключается в приложении — Профиль → Соцсети для публикации: вход в аккаунт платформы требует браузера владельца, через API его не пройти.

  1. Найдите подключённые аккаунты

    Терминал
    curl https://api.slicer.media/v1/social/accounts -H "Authorization: Bearer $SLICER_TOKEN"
    Ответ
    {
      "ok": true,
      "data": [
        { "id": 41, "platform": "youtube", "name": "Studio Anna", "status": "active", "apiPublishing": true },
        { "id": 42, "platform": "instagram", "name": "anna.studio", "status": "active", "apiPublishing": true },
        { "id": 43, "platform": "tiktok", "name": "anna.studio", "status": "active", "apiPublishing": false }
      ]
    }

    apiPublishing: false — в этот аккаунт через API публиковать нельзя: доступ истёк или это TikTok.

  2. Экспортируйте с публикацией

    Тело POST /v1/projects/318/export
    {
      "profile": { "resolution": "1080p" },
      "publish": [
        {
          "accountId": 41,
          "title": "Монтаж за 3 минуты",
          "caption": "Как собрать ролик из одного видео #shorts",
          "options": { "youtube": { "privacy": "public", "madeForKids": false } }
        },
        {
          "accountId": 42,
          "caption": "Монтаж за 3 минуты ✂️ #reels",
          "options": { "instagram": { "shareToFeed": true } }
        }
      ]
    }

    Публикация начнётся сразу после рендера. До 8 аккаунтов за один экспорт.

  3. Следите за публикациями

    GET /v1/projects/{id}/publications — статус каждой публикации: waiting (ждёт рендера), queued, uploading, processing (обрабатывает платформа), published (в url — ссылка на ролик), failed (в errorCode — причина), cancelled. Те же события приходят вебхуками publication.published и publication.failed.

Настройки платформ в options:

Платформа Поля
YouTubeyoutube.privacy — public, unlisted, private; youtube.madeForKids
Instagraminstagram.shareToFeed — показать ролик и в ленте
VK Видеоvk.privacy — all, friends, only_me; vk.wallpost — опубликовать на стене; vk.groupId — сообщество или null (своя страница)
ВсеaiGenerated — пометить ролик как созданный с помощью ИИ

title — заголовок (YouTube, VK, до 150 знаков), caption — описание и хэштеги (до 5000 знаков). Требования платформ к файлу Slicer учитывает сам: для каждой соцсети при необходимости делается своя копия файла.

Что дальше