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

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

Эндпоинты экспорта Slicer API — рендер ролика с параметрами файла и публикацией, список публикаций проекта и подключённые аккаунты соцсетей.

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

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

Отрендерить ролик (бесплатно)

POST/v1/projects/{id}/export
Области доступа
projects:write
Лимит
платные операции

С publish — публикует после рендера (нужна область publish). TikTok — только из приложения Slicer.

Параметры пути

Поле Тип Описание
idобязательноеinteger≥ 1

Тело запроса ExportRequest

Поле Тип Описание
profileExportProfile
publishPublishRequestItem[]0–8

Запрос

curl
JavaScript
Python
curl -X POST "https://api.slicer.media/v1/projects/42/export" \
  -H "Authorization: Bearer $SLICER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profile":{"container":"mp4","codec":"h264","resolution":"720p","fps":24,"quality":"balanced","colorDepth":8,"audioBitrate":128,"loudness":-14},"publish":[{"accountId":42,"title":"Монтаж за 3 минуты","caption":"string","options":{}}]}'

Ответ

Поля ответа: ProjectDetails (44)
Поле Тип Описание
idобязательноеinteger
titleобязательноеstring
statusобязательноеstringdraft — проект «Сам в редакторе» до первого экспорта: правьте операциями и экспортируйтеqueued · processing · succeeded · failed · cancelled · draft
modeобязательноеstringai — монтаж ИИ-режиссёром; manual — материалы на таймлайне как есть, бесплатно (платны только ИИ-операции)ai · manual
stageобязательноеstring | null
progressобязательноеintegerПрогресс текущего запуска, %
clientобязательноеstring | nullГде создан: web, mobile, api, mcp
settingsобязательноеobjectНастройки монтажа (см. MontageSettingsInput)
briefобязательноеstring | null
isFreeобязательноеboolean
watermarkобязательноеboolean
tokensCostобязательноеinteger
errorобязательноеobject | null
error.codeобязательноеstring
error.messageобязательноеstring
durationSecобязательноеnumber | null
versionChoiceобязательноеinteger[] | nullId версий, ждущих выбора; монтаж отдаёт одну версию, поэтому обычно null
resultобязательноеobject | null
result.urlобязательноеstring (uri)Скачать с токеном (поддерживается Range)
result.posterUrlобязательноеstring (uri) | null
result.containerобязательноеstring
result.infoобязательноеobject | null
appUrlобязательноеstring (uri)Проект в веб-приложении Slicer
sourcesAvailableобязательноеbooleanИсходники хранятся 7 дней после монтажа
createdAtобязательноеstringДата и время ISO 8601, UTC
finishedAtобязательноеstring | null
stagesобязательноеobject[]
stages[].stageобязательноеstring
stages[].statusобязательноеstringpending · running · succeeded · failed · skipped
stages[].inRunобязательноеbooleanЧасть текущего запуска (не взят готовым)
stages[].startedAtобязательноеstring | null
stages[].finishedAtобязательноеstring | null
stages[].durationSecобязательноеnumber | null
stages[].progressобязательноеinteger
stages[].tokensобязательноеintegerДоля цены запуска
runобязательноеobject
run.kindобязательноеstring
run.statusобязательноеstring
run.tokensобязательноеinteger
run.tokensStateобязательноеstringfree · reserved · charged · refunded
run.queuedAtобязательноеstringДата и время ISO 8601, UTC
run.startedAtобязательноеstring | null
run.finishedAtобязательноеstring | null
versionsобязательноеProjectVersion[]
Пример ответа
{
  "ok": true,
  "data": {
    "id": 42,
    "title": "Монтаж за 3 минуты",
    "status": "queued",
    "mode": "ai",
    "stage": "string",
    "progress": 0.5,
    "client": "string",
    "settings": {},
    "brief": "Динамично, с акцентом на главные мысли",
    "isFree": true,
    "watermark": true,
    "tokensCost": 24,
    "error": {
      "code": "string",
      "message": "string"
    },
    "durationSec": 42.5,
    "versionChoice": [
      1
    ],
    "result": {
      "url": "https://example.com/hook",
      "posterUrl": "https://api.slicer.media/v1/…",
      "container": "string",
      "info": {}
    },
    "appUrl": "https://api.slicer.media/v1/…",
    "sourcesAvailable": true,
    "createdAt": "2026-10-16T09:30:00Z",
    "finishedAt": "2026-10-16T09:30:00Z",
    "stages": [
      {
        "stage": "string",
        "status": "pending",
        "inRun": true,
        "startedAt": "2026-10-16T09:30:00Z",
        "finishedAt": "2026-10-16T09:30:00Z",
        "durationSec": 42.5,
        "progress": 0.5,
        "tokens": 24
      }
    ],
    "run": {
      "kind": "string",
      "status": "string",
      "tokens": 24,
      "tokensState": "free",
      "queuedAt": "2026-10-16T09:30:00Z",
      "startedAt": "2026-10-16T09:30:00Z",
      "finishedAt": "2026-10-16T09:30:00Z"
    },
    "versions": [
      {
        "id": 42,
        "version": null,
        "idea": "string",
        "durationSec": 42.5,
        "current": true,
        "awaitingChoice": true,
        "hasFile": true,
        "createdAt": "2026-10-16T09:30:00Z"
      }
    ]
  }
}

Публикации проекта

GET/v1/projects/{id}/publications
Области доступа
projects:read
Лимит
обычный

Параметры пути

Поле Тип Описание
idобязательноеinteger≥ 1

Запрос

curl
JavaScript
Python
curl "https://api.slicer.media/v1/projects/42/publications" \
  -H "Authorization: Bearer $SLICER_TOKEN"

Ответ

Пример ответа
{
  "ok": true,
  "data": [
    {
      "id": 42,
      "platform": "string",
      "accountName": "Anna",
      "status": "string",
      "url": "https://example.com/hook",
      "errorCode": "string",
      "createdAt": "2026-10-16T09:30:00Z"
    }
  ]
}

Подключённые соцсети

GET/v1/social/accounts
Области доступа
publish
Лимит
обычный

Запрос

curl
JavaScript
Python
curl "https://api.slicer.media/v1/social/accounts" \
  -H "Authorization: Bearer $SLICER_TOKEN"

Ответ

Пример ответа
{
  "ok": true,
  "data": [
    {
      "id": 42,
      "platform": "youtube",
      "name": "Anna",
      "status": "string",
      "apiPublishing": true
    }
  ]
}

Схемы

ExportRequest

Поле Тип Описание
profileExportProfile
publishPublishRequestItem[]0–8

ExportProfile

Поле Тип Описание
containerstringmp4 · mov
codecstringh264 · hevc
resolutionstring720p · 1080p · 1440p · 2160p
fps24 | 25 | 30
qualitystringbalanced · high · max
colorDepth8 | 1010 бит — только с HEVC
audioBitrate128 | 192 | 256 | 320
loudness-14 | -16 | -23Громкость, LUFS

PublishRequestItem

Поле Тип Описание
accountIdобязательноеintegerПодключённый аккаунт из GET /v1/social/accounts
titlestring≤ 150
captionstring≤ 5000
optionsobjectНастройки платформы: { youtube: { privacy, madeForKids } }, { instagram: { shareToFeed } }, { vk: { privacy, wallpost, groupId } }, aiGenerated

Publication

Поле Тип Описание
idобязательноеinteger
platformобязательноеstring
accountNameобязательноеstring | null
statusобязательноеstring
urlобязательноеstring | null
errorCodeобязательноеstring | null
createdAtобязательноеstringДата и время ISO 8601, UTC

SocialAccount

Поле Тип Описание
idобязательноеinteger
platformобязательноеstringyoutube · instagram · tiktok · vk
nameобязательноеstring | null
statusобязательноеstring
apiPublishingобязательноеbooleanМожно публиковать через API (TikTok — только из приложения)