Video Generation API · MP4 · WebM · GIFBeta

Personalized videos,
one API call each

Design a video template once in the timeline editor. Send a name, a photo or a price per request — SnapShark renders the video and hands back its URL.

2 credits per second of video·Refunded if a render fails

request.json
POST/api/v1/videos
{
"template": "<speaker-spotlight-id>",
"data": [
{ "name": "Speaker Name", "text": "Maya Chen" },
{ "name": "Speaker Role", "text": "Product Lead, SnapConf" },
{ "name": "Speaker Photo", "src": "https://…/speaker-maya-photo.jpg" }
],
"format": "mp4"
}
→202queued · video_url returned immediately
→completedrendered in 2.6s · 10s · 1080×1080
Real render · sample data

Sample data. Each video above is the engine's actual output for the request beside it — the Speaker Spotlight gallery template, rendered three times.

How it works

Design once, render for everyone

01Design the template

Build it in the timeline editor or clone one from the gallery — text, shapes, images, video clips and music, with motion presets or your own keyframes.

02Mark what changes

Flip a layer to “API variable”. Its name becomes the key you send: a name, a photo, a product shot, a soundtrack.

03Render per request

POST the values to /api/v1/videos. The video URL comes back immediately and serves the finished file in seconds.

The API

The image API's format,
now for video

POST /api/v1/videos takes the same template + data body as image generation and answers in the same shape. If your code already renders images with SnapShark, video is a different path and a poll loop away.

  • video_url is final in the very first response
  • Poll GET /api/v1/videos/:id — queued → processing → completed
  • "format": "mp4" | "webm" | "gif"
  • Same values twice? The finished video comes back free
  • Bearer API tokens from Settings → Security
curl -X POST https://api.snapshark.io/api/v1/videos \
  -H "Authorization: Bearer <YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "<TEMPLATE_ID>",
    "data": [
      { "name": "Speaker Name", "text": "Maya Chen" },
      { "name": "Speaker Photo", "src": "https://example.com/maya.jpg" }
    ],
    "format": "mp4"
  }'
Capabilities

A real video engine behind a simple call

Timeline editor

Layers on a timeline with start times and durations. 16 motion presets — fade, pop, slide, zoom, blur, wipe — plus keyframe tracks for anything custom.

Every kind of layer

Text with typewriter reveals, shapes and gradients, images, embedded video clips and a music track — each one can be dynamic.

MP4, WebM or GIF

One parameter switches the output. MP4 and WebM carry the audio; GIF loops silently for email and chat.

Square and story

1080×1080 for feeds, 1080×1920 for stories and reels, or any size up to 1920 px at 24, 30 or 60 fps.

Gallery templates

Start from ready-made video templates — speaker announcements, product drops, hiring posts — and clone them into your account.

Idempotent by design

Identical requests return the existing video instead of rendering twice, and the URL is known before the render finishes.

In practice

Videos you'd never edit by hand

Event speaker announcements

One announcement template, a video per speaker — name, title and photo pulled from your agenda.

Product drops and promos

Render a promo for every SKU in the catalog with its photo, price and link, in feed and story sizes.

Personal welcome videos

Greet each new customer, member or hire by name with a short branded clip, triggered from your backend.

Social recaps with music

Weekly stats, match results or milestones as animated posts with a soundtrack — generated, not edited.

Pricing

2 credits per second

Video renders draw from the same credit balance as images. Partial seconds round up, every video costs at least 10 credits, and a failed render is refunded automatically. Repeat requests for an identical video cost nothing.

See plans and credit packs
Video lengthCredits
5 s10minimum
10 s20
15 s30
30 s60
FAQ

Video API questions, answered

Your first personalized video is one request away

Create a free account, clone a template from the video gallery, and render it through the API in the next five minutes.