Skip to content
Scalpels home

Scalpels is officially launching on October 31, 2026. Special early adopter pricing is available now.

Slate

Any stack MIT licensed Experimental

Images, audio, fonts and video you already own, turned into a finished MP4 on servers you control. You send a recipe — a short JSON description of the video you want — and Slate renders it with a pinned ffmpeg on your own queue, in your own bucket, and hands back one signed download URL. Nobody meters the minutes.

Work in progress. Available to teams with Unlimited.

Replaces
A metered video rendering API
Runs on
Your Laravel Cloud account
Needs
Compute · Database · Queue · Object storage · Scheduler
Slate, rendering a video from a recipe Placeholder — the launch recording replaces this

What it renders

Named operations with typed parameters, compiled into ffmpeg for you

  • Pages into a film

    The delivery recipe takes an ordered list of pages — an image and an audio track each — with optional per-word captions and cross-fades between them.

  • Clips into a cut

    The highlights recipe takes one video source and a list of ranges, cuts them and joins them into a single video.

  • No ffmpeg arguments

    You never send a command line. Slate accepts named operations with typed, validated parameters and compiles the invocation itself.

  • Your own sources

    Upload directly to your bucket with a signed URL, or hand Slate a remote address to ingest, and it probes and validates what arrived before anything renders.

  • A signed result

    A finished run hands back one signed download URL with a fifteen-minute life, pointing at an object in the bucket you own.

  • A pinned binary

    The deploy bakes one checksummed ffmpeg build into the artifact, so every instance runs the same encoder and an upstream release never changes your output.

  • The API is a security boundary, not a convenience

    ffmpeg can read and write files and URLs, so an API that passed your arguments through would let a caller read the disk it runs on. Slate compiles the command line from typed operations instead, validating durations, dimensions, codecs and stream counts against documented ceilings first.

  • Nobody counts your minutes

    MP4

    Hosted video APIs bill per rendered minute and per resolution tier, which makes the cost of a feature a function of how successful it is. Slate renders on a queue you already pay Laravel Cloud for; a busier month is a bigger compute bill, not a different price per video.

Slate vs. the incumbents

We rebuilt one row of their feature matrix

Shotstack, Creatomate and Remotion are good products, and Slate is not trying to replace them. It does one slice of what they do — turn assets you already own into a finished MP4 — on infrastructure you own, and deliberately does not do the rest. The question is not which product is better. It is which slice you are actually using.

Slate feature comparison
Feature Slate Self-hosted, MIT Shotstack Hosted Creatomate Hosted Remotion Self-host, or their Lambda
Rendering on infrastructure you own the row we rebuilt Does this well:Your Cloud account Not built:Hosted only Not built:Hosted only Does this well:Your own AWS
A JSON recipe, no command line the row we rebuilt Does this well:Typed, validated Does this well:JSON timeline Does this well:JSON templates Not built:You write React
Finished files stay in your bucket Does this well:Your private bucket Partly, or with a caveat:Their CDN, or yours Partly, or with a caveat:Their CDN, or yours Does this well:Your own bucket
A visual template or timeline editor we did not build this Not built:API only Does this well:Included Does this well:Their core strength Partly, or with a caveat:A React preview
Text to speech and AI voiceover we did not build this Not built:Bring your audio Does this well:Included Works, but on their terms:Extra credits Not built:Bring your audio
Stock media and font libraries we did not build this Not built:Assets you own Does this well:Included Does this well:Included Not built:Assets you own
Arbitrary animation and effects we did not build this Not built:Two recipes Does this well:Broad effects Does this well:Broad effects Does this well:Anything React draws
Where your source footage lives Does this well:Your private bucket Works, but on their terms:Their cluster Works, but on their terms:Their cluster Does this well:Your own bucket
Cost of the next rendered minute Does this well:Queue compute Works, but on their terms:Per minute, by tier Works, but on their terms:Per minute, by tier Partly, or with a caveat:Lambda, plus licence
Who is on call for the tool itself Partly, or with a caveat:You are Does this well:They are Does this well:They are Partly, or with a caveat:You are
  • Does this well
  • Partly, or with a caveat
  • Not built
  • Works, but on their terms

The honest test

Ask what the video API is actually for on your team. If these are all true, you are paying per minute for a platform to use one row of it.

  • The videos you generate are the same two or three shapes every time.
  • Every asset that goes in is one you already own.
  • You would rather own the finished files than rent the pipeline.

Then you lose very little by moving. Slate is experimental today, so start with the one video your product generates most; the sources and results stay in your own bucket either way.

Keep paying them if

These are the parts we chose not to build, and we are not going to pretend otherwise.

  • You want a visual editor your marketing team can drive.
  • You want text to speech, stock footage or a font library in the same tool.
  • Your videos need arbitrary animation rather than two fixed recipes.
  • You need vendor support, an SLA, or somebody else on call for the encoder.

Small, sharp tools are a deliberate scope, not an unfinished roadmap. Slate will not grow into a creative suite.

Be honest about it

You don't need us to run Slate

The repository is public and MIT licensed. These are the steps, and you are welcome to spend the afternoon doing them by hand.

  1. 1

    Fork the Slate repository into your own GitHub organisation.

  2. 2

    Deploy the fork to Laravel Cloud with its own compute, Postgres, a managed queue, a private bucket and the scheduler enabled — the build bakes the pinned ffmpeg into the artifact.

  3. 3

    Mint a credential in the Slate UI, upload your sources through a signed URL, and POST a recipe to start a run.

Or buy Unlimited once. Scalpels forks it, provisions exactly what it needs on your Laravel Cloud account, and deploys it. The app and the infrastructure are yours either way — the only question is who spends the afternoon.

Deploy Slate with Unlimited

Slate pairs with the rest of the suite

Matte produces the transparent cut-outs Slate lays over a page, Bobbin catches the run-finished webhook Slate sends you, and Hone tells you what all that rendering is doing to the application underneath it.