DeepLinking - Advanced
ScreenPal's deeplinking (workflow) functionality can be extended for more complex use cases involving JSON-based project setup and customized upload workflows.
Ingesting via JSON Workflows
In addition to the standard editVideo-https://... pattern (where https://... points to an .mp4), advanced ingesting supports the format:
editVideo-JSON-https://...Where https://... points to a JSON endpoint returning a full project specification.
Example JSON:
{
"title": "Title of video Project",
"description": "Optional default description for this project"
"video": {
"url": "https://...",
"type": "mp4"
},
"captions": [
{
"id": "YOUR_CAPTION_ID",
"title": "YOUR_CAPTION_TITLE",
"type": "vtt",
"url": "https://..."
}
]
}Field Requirements:
- title – Required. Title to assign the video project.
- video.url – Required. Direct link to a video file. MIME type must be video/mp4.
- video.type – Optional. Defaults to h264 mp4. Also supports webm and h264 mov
- description - Optional. If provided will be used as the default value for the description in the upload data for the project.
- captions – Optional. Array of caption tracks.
- id - Unique id for each caption
- title - String shown to the user in caption list for them to edit the captions
- type - must be either vtt or srt.
- url - Url to download the caption file
Uploading with Advanced Metadata
ScreenPal's editor uploads by making a POST request to basicupload.request.url, passing:
- title
- description
Extended Parameters
Response Handling
If the server responds with a single line of text, it will be treated as the direct video upload URL (legacy behavior).
To support advanced uploading, respond with Content-Type: application/json and use the following format:
{
"video": {
"url": "https://..."
},
"captions": [
{
"id": "YOUR_CAPTION_ID",
"type": "vtt",
"url": "https://..."
},
{
"id": "en-US",
"type": "vtt",
"url": "https://..."
}
]
}Upload Response Requirements:
- video.url – Required. URL to PUT/POST the .mp4 file.
- captions – Optional. URLs to upload captions based on the captionLanguageIds in the first POST request.
- type – Optional. "vtt" or "srt". Defaults to "vtt" if omitted.