Skip to content

DeepLinking - Advanced

Info:

ScreenPal’s deeplinking (workflow) functionality can be extended for more complex use cases involving JSON-based project setup and customized upload 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

————————————————————

ScreenPal’s editor uploads by making a POST request to basicupload.request.url, passing:

title
description

  • captionLanguageIds – Comma-separated list of caption Ids used in the editor either provided from the initial workflow launch OR created by the user in the app. Any captions created within the app will have ID based on language selected e.g.:
YOUR_CAPTION_ID,en-US,jp-JP

————————————————————

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.