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

Cut, join, speed up. Exact to the frame.

Make highlights from long recordings, add intros and outros, and smooth the edges of every cut.

Who uses it: Editors in the browser, highlight and clipping tools, course platforms, meeting recorders.

01

Trim and clip

Cuts a part of a video from a start time for a length you choose.

What it is for
Highlights, previews and the one answer a viewer needs from a long recording.
Endpoint and fields
POST /v1/transcode trim
In ffmpeg
-ss-t
curl "$VIDEXO_API_URL/v1/transcode" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "talk-clip.mp4",
  "trim": {
    "start": "00:01:30",
    "duration": 30
  }
}'

Output. talk-clip.mp4: the 30 seconds that start at 1:30, re-encoded so the cut lands on the exact frame.

02

Join files

Puts videos one after another, picture and sound, into one file.

What it is for
Add an intro or an outro, or stitch the parts of a recording back together.
Endpoint and fields
POST /v1/concat resize
In ffmpeg
concat
curl "$VIDEXO_API_URL/v1/concat" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": [
    "https://example.com/intro.mp4",
    "https://example.com/talk.mp4"
  ],
  "filename": "talk-with-intro.mp4",
  "resize": {
    "width": 1920,
    "height": 1080,
    "fit": "pad"
  }
}'

Output. talk-with-intro.mp4: the intro, then the talk, as one 1920 by 1080 video at 30 frames a second with one audio track; a part of another shape gets bars.

03

Slideshows and image to video

Holds still images on screen for a time you set, with a slow zoom or pan if you like, and joins them into one video.

What it is for
Property tours and product videos from photos, a cover image with a podcast episode, a video from a single picture.
Endpoint and fields
POST /v1/slideshow imagesdurationmotionresizeextra_inputsaudio
In ffmpeg
zoompantpadconcat
curl "$VIDEXO_API_URL/v1/slideshow" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "images": [
    "https://example.com/photo-1.jpg",
    "https://example.com/photo-2.jpg"
  ],
  "duration": 4,
  "motion": "zoom-in",
  "resize": {
    "width": 1280,
    "height": 720
  },
  "extra_inputs": {
    "music": "https://example.com/music.mp3"
  },
  "audio": {
    "input": "music"
  },
  "filename": "slideshow.mp4"
}'

Output. slideshow.mp4: 8 seconds at 1280 by 720, each photo filling the frame and zooming in slowly, over the music, which ends with the picture.

04

Transitions between parts

Crosses one part of a joined video into the next with a fade, wipe, slide, circle or zoom, picture and sound together.

What it is for
A slideshow that flows, a clip that dissolves into the next, without an editor.
Endpoint and fields
POST /v1/concat resize
In ffmpeg
xfadeacrossfade
curl "$VIDEXO_API_URL/v1/concat" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": [
    {
      "source": "https://example.com/talk.mp4",
      "start": 10,
      "end": 20
    },
    {
      "source": "https://example.com/talk.mp4",
      "start": 40,
      "end": 50,
      "transition": {
        "type": "fade",
        "duration": 1
      }
    }
  ],
  "resize": {
    "width": 1280,
    "height": 720
  },
  "filename": "highlights.mp4"
}'

Output. highlights.mp4: 19 seconds at 1280 by 720, the second part fading in over the last second of the first, picture and sound together.

05

Title cards

Adds a solid colour card with text as a part of a joined video, generated with no file to upload.

What it is for
An opening title, a chapter card or an end card, in the font and colours of your brand.
Endpoint and fields
POST /v1/jobs outputs
In ffmpeg
drawtextconcat
curl "$VIDEXO_API_URL/v1/jobs" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "talk": "https://example.com/talk.mp4"
  },
  "outputs": [
    {
      "type": "video",
      "filename": "with-title.mp4",
      "resize": {
        "width": 1280,
        "height": 720
      },
      "concat": [
        {
          "color": "#101828",
          "duration": 3,
          "text": [
            {
              "text": "Launch day",
              "font": "inter-bold",
              "size": 72
            }
          ]
        },
        {
          "input": "talk",
          "start": 10,
          "end": 70
        }
      ]
    }
  ]
}'

Output. with-title.mp4: 3 seconds of title, silent, then a minute of the talk with its sound, at 1280 by 720.

06

Speed up or slow down

Changes how fast a video or its sound plays, from a quarter of the speed to four times; the sound keeps its pitch.

What it is for
Time-lapses of long recordings, slow motion for a key moment, lectures and podcasts at 1.5 times.
Endpoint and fields
POST /v1/transcode speed
In ffmpeg
setptsatempo
curl "$VIDEXO_API_URL/v1/transcode" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "talk-2x.mp4",
  "speed": 2
}'

Output. talk-2x.mp4: picture and sound at twice the speed, the sound at its own pitch.

07

Scene detection

Finds where the shots of a video change and lists each scene as JSON: its start, its end and how sharp the change was.

What it is for
Cut a long recording into shots, pick a frame per shot, jump between the parts of a video.
Endpoint and fields
POST /v1/scenes threshold
In ffmpeg
scdet
curl "$VIDEXO_API_URL/v1/scenes" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "scenes.json",
  "threshold": 12
}'

Output. scenes.json: every scene with its start and end in seconds, and the score from 0 to 100 of the change that starts it.

08

Fade in and out

Fades the picture from and to black and the sound from and to silence.

What it is for
Clips that start and end softly instead of cutting in mid-word.
Endpoint and fields
POST /v1/transcode trimfade
In ffmpeg
fadeafade
curl "$VIDEXO_API_URL/v1/transcode" \
  -H "Authorization: Bearer $VIDEXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": "https://example.com/talk.mp4",
  "filename": "talk-faded.mp4",
  "trim": {
    "start": 90,
    "duration": 30
  },
  "fade": {
    "in": 1,
    "out": 1
  }
}'

Output. talk-faded.mp4: a 30 second clip that fades in over its first second and out over its last.

Limits. Set by your plan.

  • Joining with concat needs inputs of the same size and frame rate; scale and fps them in the same graph first.
  • Re-encoding cuts on the exact frame. With -c copy a cut can only start on a keyframe.
  • 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.

  • Scene thumbnails and chapters Soon

    A thumbnail for each scene of a video, and chapters to match.

Run your first job. Free, no card.