Layers

Create a layer

Create a new layer in a specific scene. Supports video, videoPlaylist, and audioPlaylist layer types.

Quick Start

{
  "sceneId": "507f1f77bcf86cd799439011",
  "type": "videoPlaylist",
  "name": "My Playlist",
  "settings": {
    "volume": 10,
    "files": [{ "fileId": "507f1f77bcf86cd799439013" }]
  }
}

sceneId and type are required. Everything else has sensible defaults — position defaults to centered full-screen, and name defaults based on type.

Layer Types

TypeRequired settingsDescription
videofileIdSingle video file layer
videoPlaylist—Video playlist with optional ad points and name overlay
audioPlaylist—Audio playlist with optional cover image

For the full list of available settings per type, see the Settings by Layer Type table in the Update Layer endpoint.

Limits

  • Maximum 800 layers per project
  • Maximum 600 files per playlist

Copy/Paste Workflow

To duplicate a layer:

  1. GET /projects/{id}/layers/{layerId} — get full layer config
  2. Modify as needed
  3. POST /projects/{id}/layers — create with the copied config
post/projects/{id}/layers

Request

  • Base URL: https://api.livereacting.com/v1/external
  • URL: https://api.livereacting.com/v1/external/projects/{id}/layers
  • Auth: HTTP bearer

Path parameters

idstring required

Project ID

Request body

sceneIdstring required

Scene ID to add the layer to

type'video' | 'videoPlaylist' | 'audioPlaylist' required

Layer type.

  • video: Single video file layer (requires settings.fileId)
  • videoPlaylist: Video playlist with optional ad points and name position overlay
  • audioPlaylist: Audio playlist with optional cover image display
namestring

Layer name (1-19 characters)

hideboolean

Whether layer is hidden

pinnedboolean

Whether layer appears on all scenes

lockedboolean

Whether layer is locked from editing

positionPosition (unresolved $ref)
settingsSettings (unresolved $ref)

Response

Layer created successfully. The layer detail plus synced

OR
OR

Example response

{
  "id": "507f1f77bcf86cd799439011",
  "type": "videoPlaylist",
  "name": "My Video Playlist",
  "hide": false,
  "pinned": false,
  "locked": false,
  "position": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "settings": {
    "volume": 10,
    "loop": true,
    "nextScene": null,
    "showFileName": true,
    "showProgressBar": false,
    "shuffle": false,
    "namePosition": "bottom left",
    "adPlaceholder": {
      "enabled": true,
      "fileId": "507f1f77bcf86cd799439012",
      "fileName": "placeholder.mp4",
      "duration": 30
    },
    "files": [
      {
        "playlistItemId": "file_1706123456789_0",
        "fileId": "507f1f77bcf86cd799439012",
        "name": "video1.mp4",
        "duration": 60.5,
        "isPlaying": true
      },
      {
        "playlistItemId": "file_1706123456789_1",
        "fileId": "507f1f77bcf86cd799439013",
        "name": "video2.mp4",
        "duration": 45,
        "isPlaying": false
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.