Applications, Templates & Schemas

The ByteNite Computing Platform is a versatile computing SaaS and API, enabling custom applications to run on ByteNite's computing grid.

Application Components

App

An 'App' contains the script executed on each worker device, carrying out an intended task (such as encoding a video or generating an image with AI). The App's metadata further defines the data types the app works with (input and output), and the platform the app runs on, with its additional configurations.

An App is associated with a schema for input parameters and a configuration template, both detailed further below. For example, 'video-transcoding' as an application is a collection of related video-encoding templates. Below are the configurable metadata parameters for an App:

App configDescriptionExample values
idThe app IDvideo-transcoding
opencv-container
entrypointThe name of the main script.main.py
input_typeThe input data type of the appvideo
output_typeThe output data type of the appvideo
platformThe platform the app runs onpython
platform_configAdditional platform configurations such as container{ "container": "hdgigante/python-opencv:4.8.1-alpine" }
versionBoolean. The app's version0.1rev3
publicBoolean. Is the app public?true
ownerThe user ID of the app's ownerbytenite

Template

API Endpoints

Create a new job   •    Get available job templates

A 'Template' is an additional configuration that defines data management parameters such as the chunks partitioning and merging strategy plus other options. It is intended to complement an App with global processing settings. Another utility of the Template is to connect an App to a schema through the schema_id and schema_version parameters. The configurable parameters for a Template are:

Template configDescriptionExample values
idThe ID of a template[email protected]
schema_idThe ID of the schema associated with this templatevideo-transcoding
schema_versionThe version of the schema associated with this template9
partitioning_strategyThe ID of the strategy used to chunk down (partition) the input data.video
image
partitioning_strategy_configAdditional parameters for the partitioning strategy.{...}
merge_strategyThe ID of the strategy used to assemble (merge) the output data chunks.video
image
zip
merge_strategy_configAdditional parameters for the merge strategy.{...}
scheduling_strategy_configParameters for the task scheduling and assignment strategy.{...}
streamableBoolean. Can processing start before the end of the partitioning phase?true
publicBoolean. Is the template public?true
ownerThe user ID of the template's ownerbytenite

Schema

API Endpoints

Create a new job   •    Set job parameters   •    Get job schema

A 'Schema' is linked to a Template and outlines the JSON schema of the application-specific input parameters. For example, for video encoding, the Schema includes video and audio parameters such as resolution and codecs. Conversely, it doesn't include global settings like storage or file naming, which are submitted separately and are detailed in the General Settings guides.

Public schemas are available in their respective application guides.

Official Apps

ByteNite offers a range of pre-configured, validated, and documented apps. These are ready to use with either your data sources or our sample data. Set job parameters easily with our presets. Here are the available apps, their details, and documentation:

App IDTemplate IDsSchema IDsPlatformInput typeOutput typeVersion
video-transcoding[email protected]video-transcodingpythonvideovideo0.2.rev33

Submit Your App

Got a project in mind but can't find the resources to get started on ByteNite? Contact us, and we'll discuss a tailored App for you, complete with templates, schemas, and data processing logic, at no cost to you.