Timelines

Validate timeline document

Validates a Kaitoi Timeline Document v1 against the same schema enforced by the backend.

post/api/v1/timelines/validate

Request

  • Base URL: https://api.studio.kaitoi.io (the document declares no server; this is the origin it was published from)
  • URL: https://api.studio.kaitoi.io/api/v1/timelines/validate
  • Auth: HTTP bearer

Headers

authorizationstring nullable

Request body

documentobject required

Kaitoi Timeline Document v1 JSON.

Example request

{
  "document": {
    "kaitoiType": "timeline",
    "name": "Timeline",
    "timeline": {
      "clips": [
        {
          "duration": 3,
          "filename": "hero.png",
          "id": "clip-1",
          "name": "Hero",
          "opacity": 100,
          "startTime": 0,
          "storageType": "data",
          "trackId": "track-1",
          "transform": {
            "rotation": 0,
            "scale": 100,
            "x": 0,
            "y": 0
          },
          "trimEnd": 0,
          "trimStart": 0,
          "type": "image",
          "volume": 100
        }
      ],
      "currentTime": 0,
      "frameRate": 30,
      "playheadPosition": 0,
      "projectDuration": 60,
      "projectResolution": {
        "height": 1080,
        "isAutoDetected": true,
        "width": 1920
      },
      "selectedClipIds": [],
      "selectedTrackId": "track-1",
      "tracks": [
        {
          "height": 60,
          "id": "track-1",
          "locked": false,
          "mutedAudio": false,
          "mutedVideo": false,
          "name": "Track 1",
          "volume": 1
        }
      ],
      "zoom": 100
    },
    "version": 1
  }
}

Response

Validated timeline document and derived summary.

validboolean required

Always true when the request succeeds.

documentobject required

Validated, normalized Kaitoi Timeline Document v1.

Example response

{
  "document": {
    "kaitoiType": "timeline",
    "name": "Timeline",
    "timeline": {
      "clips": [
        {
          "duration": 3,
          "filename": "hero.png",
          "id": "clip-1",
          "name": "Hero",
          "opacity": 100,
          "startTime": 0,
          "storageType": "data",
          "trackId": "track-1",
          "transform": {
            "rotation": 0,
            "scale": 100,
            "x": 0,
            "y": 0
          },
          "trimEnd": 0,
          "trimStart": 0,
          "type": "image",
          "volume": 100
        }
      ],
      "currentTime": 0,
      "frameRate": 30,
      "playheadPosition": 0,
      "projectDuration": 60,
      "projectResolution": {
        "height": 1080,
        "isAutoDetected": true,
        "width": 1920
      },
      "selectedClipIds": [],
      "selectedTrackId": "track-1",
      "tracks": [
        {
          "height": 60,
          "id": "track-1",
          "locked": false,
          "mutedAudio": false,
          "mutedVideo": false,
          "name": "Track 1",
          "volume": 1
        }
      ],
      "zoom": 100
    },
    "version": 1
  },
  "summary": {
    "clipCount": 1,
    "durationSeconds": 60,
    "trackCount": 1
  },
  "valid": true
}

Changes

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