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.
Authorization
BearerAuth AuthorizationBearer <token>
Send an existing generated API key as Authorization: Bearer sk_indream_....
OAuth access tokens are not accepted by the Open API.
Enter the 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": { "stateSchemaVersion": "v1", "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"
}