Skip to content

Preview Videxo runs jobs, accepts uploads up to 100 MB, serves output downloads and sends signed webhooks. Sign in with email, GitHub or a passkey. Payments are not connected yet, so credit packs and paid plans cannot be bought. Read the quickstart

Posters, storyboards, GIFs. From any frame you choose.

Every video needs a picture before it plays. Pick one frame, a grid of them or a few seconds as a GIF.

Who uses it: Video libraries, players, feeds, chat apps and anyone showing video in a list.

01

Thumbnails

Picks the most representative frame from the start of a video and saves it as an image.

What it is for
Posters for players, cards in a feed, previews in a library.
Endpoint and fields
POST /v1/thumbnails resize
In ffmpeg
thumbnailscale-frames:v 1
curl "$VIDEXO_API_URL/v1/thumbnails" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "poster.jpg",
  "resize": {
    "width": 640
  }
}'

Output. poster.jpg: one JPEG, 640 pixels wide, the frame most like the rest of the first 300; "at": 10 takes the frame at 10 s instead.

02

Storyboards and contact sheets

Takes a frame at a fixed interval and lays the frames out in a grid on one image.

What it is for
Scrubbing previews, review sheets for editors, a whole video at a glance.
Endpoint and fields
POST /v1/storyboard intervalcolumnsrowstile_width
In ffmpeg
fpsscaletile
curl "$VIDEXO_API_URL/v1/storyboard" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "storyboard.jpg",
  "interval": 10,
  "columns": 5,
  "rows": 4,
  "tile_width": 320
}'

Output. storyboard.jpg: a key frame about every 10 seconds, up to 20 of them, in a grid 5 across and 4 down; exact_times takes the exact times.

03

GIF previews

Turns a few seconds of video into an animated GIF with a palette made for those frames.

What it is for
Previews that play anywhere an image can go: chats, emails, README files.
Endpoint and fields
POST /v1/gif trimfpsresize
In ffmpeg
fpsscalepalettegenpaletteuse
curl "$VIDEXO_API_URL/v1/gif" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "preview.gif",
  "trim": {
    "start": 5,
    "duration": 4
  },
  "fps": 12,
  "resize": {
    "width": 480
  }
}'

Output. preview.gif: 4 seconds from 0:05, 480 pixels wide at 12 frames a second, in colours picked from those frames.

Limits. Set by your plan.

  • An image output (.jpg, .jpeg, .png) holds one image. For several, name several outputs in one job.
  • A storyboard grid holds at most 256 cells.
  • Inputs are public http or https URLs, or completed private uploads up to 100 MB and your plan’s input limit. Outputs have signed download links. A job names up to 16 input and 16 output files.
Limits per plan
What one job may use on each plan
LimitPay as you goStarterProScale
Longest job10 min10 min30 min60 min
Inputs per job1 GB1 GB5 GB10 GB
Outputs per job1 GB1 GB5 GB8 GB
Outputs expire after7 days7 days30 days30 days
  • Pay as you go

    Longest job
    10 min
    Inputs per job
    1 GB
    Outputs per job
    1 GB
    Outputs expire after
    7 days
  • Starter

    Longest job
    10 min
    Inputs per job
    1 GB
    Outputs per job
    1 GB
    Outputs expire after
    7 days
  • Pro

    Longest job
    30 min
    Inputs per job
    5 GB
    Outputs per job
    5 GB
    Outputs expire after
    30 days
  • Scale

    Longest job
    60 min
    Inputs per job
    10 GB
    Outputs per job
    8 GB
    Outputs expire after
    30 days

Soon. Planned, not available yet.

  • Storyboards with WebVTT Soon

    A sprite of frames and the WebVTT file that tells a player which frame belongs to which time.

Run your first job. Free, no card.