Editing tools

Captions, trims, resizes and other edits on a file you already have.

Read as Markdown

Editing tools change a file you already have: an upload or an earlier result. You run them like a model: check the price first, then start the job.

Building with the API? List capabilities shows each tool's id next to its name.

All tools

ToolYou sendYou get backLongest input
Add Captionssource_videoCaptions burned in600 s
Text Overlaysource_media (photo or video), textYour text on the fileVideo 600 s
Trim Videosource_videoOne section600 s
Stitch Videosvideos: 2 to 10 clipsOne video, in list order120 s in total
Split Into Scenessource_videoUp to 10 clips, one per scene (min 0.5 s)600 s
Merge Layersbackground (video or photo), layers (1 to 6 photos, clips or audio)One composited videoBackground 120 s
Extract Framesource_videoOne PNG600 s
Extract Audiosource_videoOne 192 kbps MP3. A video with no sound is refused600 s
Change Speedsource_media (video or audio)Faster or slower, pitch kept600 s
Change Voicesource_video, plus voice_idSame words, new voice120 s
Resizesource_media (photo or video)A new shapeVideo 120 s
Upscalesource_media (photo or video)A sharper, larger copyVideo 30 s
Remove Backgroundsource_media (photo or video)The subject, no backgroundNo limit
Skin Enhancersource_image (a portrait)A retouched copyOne photo
Camera Anglesource_imageA new camera angleOne photo
  • A file slot takes plain asset ids: "source_video": ["ast_..."].
  • A longer file is refused before the tool runs. Trim it first. Upload sizes: Limits.
  • Change Voice takes a voice id (voc_) as the top-level voice_id, the same as Text to Speech. To revoice a recording with no picture, use Speech to Speech.

Settings

Defaults are in bold. The live schema wins: Read one schema.

ToolFieldValues
Add Captionscaption_stylepunch, impact, boxed, word_pop, clean, marker, handwritten, terminal
caption_positionauto, top, center, bottom
Text Overlaytext1 to 300 characters. Required
positiontop, center, bottom
text_alignleft, center, right
start, durationSeconds, video only: start 0 to 600 (0), duration 0.1 to 600 (3)
fontinsta, tiktok
backgroundnone, dark, white
text_sizedefault, or custom with text_size_px 8 to 400
Trim Videostart, lengthSeconds: start 0 to 600 (0), length 0.1 to 600 (5). Stops at the clip's end
Split Into Scenesmodeauto finds the cuts, manual makes equal parts
threshold1 to 90 (17). Lower finds more scenes. auto only
scene_count2 to 10 (6): the most in auto, the exact number in manual
Extract FrametimestampSeconds, 0 to 600 (0). Past the end gives the last frame
Change Speedspeed0.25 to 4 (1). Below 1 is slower
Resizeaspect_ratio9:16 (1080x1920), 4:5 (1080x1350), 1:1 (1080x1080), 16:9 (1920x1080)
modefit (black bars), crop (fills the frame), smart (a model extends the picture, photos only)
Camera Anglehorizontalfront, left_45, right_45, left_profile, right_profile, behind
verticaleye_level, low, high, overhead
zoomkeep, wide, medium, close_up

The other tools take only their files.

Chain tools

Put one job's output (its asset_id) in the next tool's file slot. Nothing is downloaded in between.

Each step is its own job, so wait for the result before you start the next. Split Into Scenes gives back several clips: chain each one on its own.

Example: trim a video to 15 seconds, make it vertical, then add captions.

Trim with Trim Video.

Job 1
{
  "capability_id": "trim_video",
  "config": {
    "source_video": ["ast_0193c8f0a1b24e7f9d3c5a6b7e8f0061"],
    "length": 15
  }
}

Make it vertical with Resize. The file is job 1's output.

Job 2
{
  "capability_id": "resize",
  "config": {
    "source_media": ["ast_0193c8f0a1b24e7f9d3c5a6b7e8f0062"],
    "aspect_ratio": "9:16",
    "mode": "crop"
  }
}

Add captions with Add Captions. The file is job 2's output.

Job 3
{
  "capability_id": "auto_caption",
  "config": {
    "source_video": ["ast_0193c8f0a1b24e7f9d3c5a6b7e8f0063"],
    "caption_style": "boxed"
  }
}

Exact words with Text Overlay

Image and video models still misspell words. For an exact headline, price or brand name, make the picture without the words. Then add them with Text Overlay.

  • One text block per job, typed text only (not a logo).
  • For a second line, run it again on the file the first job gave back.
A line at the bottom, on a dark background
{
  "capability_id": "text_overlay",
  "config": {
    "source_media": ["ast_0193c8f0a1b24e7f9d3c5a6b7e8f0064"],
    "text": "Free shipping this week",
    "position": "bottom",
    "background": "dark"
  }
}

On this page