A fresh container for every execution

Execute any code that you send in a new, isolated container with the Conjoin SDK installed. Runtime returns the output and destroys the container as soon as the code exits.

Dedicated CPU, memory, and filesystem for each snippet that you send

Runtime creates an isolated container with dedicated CPU, memory, and filesystem for each execution, with the Conjoin SDK installed and your project credentials in its environment variables. Runtime destroys that container at the end of every execution, so each new execution starts from a clean filesystem.

Execute code in an isolated container with the SDK already installed

Cold starts under 500ms

Runtime starts a container and begins executing your code within 500ms of your API call. Because the container is ready that quickly, you can call the execute endpoint inside a request that a user is waiting on.

SDK pre-injected

Runtime installs the Conjoin SDK for your code's language in every execution container. Your code can then import the SDK and call Database, Storage, or any other Conjoin service with the credentials that Runtime sets in the environment.

Full container isolation

Runtime executes each request in a sandboxed container and blocks network traffic between that container and every other one. The code inside can still reach Conjoin services through the SDK.

Configurable timeouts

Set a timeout between 1 second and 5 minutes on each execution. When the code exceeds that timeout, Runtime terminates the container and returns a timeout error along with any output that the code writes before that point.

Multi-language support

The documentation lists the languages that have a built-in Runtime image in the current release. To execute code in any other language, or with a system library that those images do not contain, give Runtime a Dockerfile to build the container from.

Stdout and stderr streaming

Runtime streams the output of an execution over a WebSocket while the code executes, with stdout and stderr on separate channels. Your application can therefore log the two streams separately and show an error message as soon as the code writes it.

< 500ms
Cold start

From the API call to your code executing in its container

5 min
Longest timeout

Set per execution, from 1 second up to 5 minutes

0 bytes
State after execution

Data left in the container once your code exits

Build faster with solutions designed for real-world needs

Execute the code that your model writes and receive stdout, stderr, and the exit code

Send the code that your model writes to the execute endpoint, together with its language and a timeout. Runtime returns stdout, stderr, and the exit code, then destroys the container.

Impact

Runtime creates the sandbox, enforces the timeout, and removes the container for each snippet, so the only sandbox code in your AI feature is one API call.

Handle infrequent webhooks in a new container for each event

When your application receives a webhook, send the handler code and the payload to the execute endpoint. Runtime starts a container with the Conjoin SDK installed, executes the handler against the payload, and destroys the container once the handler returns.

Impact

Runtime starts a container only when your code calls the execute endpoint, so you have no server to patch or monitor between webhook events.

Execute code that your users submit in an isolated container

Runtime gives each submission a container of its own, so one user's code can read and write only its own files. Runtime also terminates any submission that exceeds the timeout that you set on the call.

Impact

Your application only has to pass each submission and a timeout to the execute endpoint, since Runtime provides the sandbox for the untrusted code.

Transform data on demand with a snippet and no deployment step

A transformation snippet can include its data inline or fetch the data from Database or Storage through the Conjoin SDK. Runtime executes the snippet and returns the result in the response to the same API call.

Impact

Your application sends the transformation code in the body of each API call, so there is no function to deploy or register beforehand.

Build your next app on Conjoin

Conjoin will open with a free Build tier, while the pricing page already lists the launch prices for Pro and Business. If you tell us what you're building, we'll talk you through early access.