Api referenceEditor

Validate editor state

Validate editor JSON schema and semantic rules before persistence or export. Semantic checks include keyframe local-time bounds and no-overlap rules within the same track. Unlike persistence and export routes, this endpoint does not require paid runtime access.

POST
/v1/editor/validate

Validate editor JSON schema and semantic rules before persistence or export. Semantic checks include keyframe local-time bounds and no-overlap rules within the same track. Unlike persistence and export routes, this endpoint does not require paid runtime access.

Authorization

ApiKeyAuth
x-api-key<token>

Enter your API key manually in the interactive docs playground. The value is stored only in the current browser and is not injected from server environment variables.

In: header

Request Body

application/json

editorState*

Response Body

application/json

application/json

application/json

curl -X POST "https://api.indream.ai/v1/editor/validate" \  -H "Content-Type: application/json" \  -d '{    "editorState": {      "compositionWidth": 50,      "compositionHeight": 50,      "timebaseTicksPerSecond": 240000,      "tracks": [        {          "id": "string",          "items": [            "string"          ],          "hidden": true,          "muted": true        }      ],      "assets": {        "property1": {          "id": "string",          "type": "image",          "filename": "string",          "size": 0,          "mimeType": "string",          "width": 1,          "height": 1        },        "property2": {          "id": "string",          "type": "image",          "filename": "string",          "size": 0,          "mimeType": "string",          "width": 1,          "height": 1        }      },      "items": {        "property1": {          "id": "string",          "type": "image",          "durationTicks": 1,          "startTicks": 0,          "isDraggingInTimeline": true,          "top": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "left": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "width": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "height": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleX": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleY": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "opacity": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "assetId": "string",          "keepAspectRatio": true,          "borderRadius": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "rotation": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          }        },        "property2": {          "id": "string",          "type": "image",          "durationTicks": 1,          "startTicks": 0,          "isDraggingInTimeline": true,          "top": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "left": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "width": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "height": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleX": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleY": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "opacity": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "assetId": "string",          "keepAspectRatio": true,          "borderRadius": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "rotation": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          }        }      },      "transitions": {        "property1": {          "id": "string",          "trackId": "string",          "fromClipId": "string",          "toClipId": "string",          "type": "fade",          "durationTicks": 1        },        "property2": {          "id": "string",          "trackId": "string",          "fromClipId": "string",          "toClipId": "string",          "type": "fade",          "durationTicks": 1        }      }    }  }'
{
  "data": {
    "valid": true,
    "errors": [
      {
        "code": "string",
        "path": "string",
        "message": "string"
      }
    ]
  },
  "meta": {
    "capabilitiesVersion": "string"
  }
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}