Every job in this cluster makes a file shorter, simpler or lighter, which is exactly why the whole group belongs at the front of the pipeline. Upscaling a clip and then cutting thirty seconds out of it means you paid to sharpen footage you deleted; captioning before a trim means burning in text you are about to remove.
Two of these pages are background removal — one for video and one for stills — and they are not the same job. Video removal has to survive motion blur, hair and a moving edge across every frame; a photo has one edge and one shadow to get right.
The order to run these in
These jobs are cheap in the right sequence and expensive in the wrong one. This is the order that avoids re-rendering work you have already paid for.
1. Cut the dead air first
Front-load the trimming. Everything downstream costs time or credits per second, so the cheapest second is the one you removed before you started.
How to do it →2. Remove the middle you don't need
Interior cuts are a different job from trimming the ends, and doing them now keeps the timing decisions in one place.
How to do it →3. Re-time what's left
Speed ramps change perceived pacing more than any transition will. Set them before captions, since timing moves the text.
How to do it →4. Strip backgrounds only if you're compositing
Background removal is for layering — picture-in-picture, overlays, product cutouts. If nothing is going behind the subject, skip it.
How to do it →
Every job in this cluster
Each one names the real Versely agent tool that performs it, so you can see which jobs share a mechanism and which are genuinely different work.
Trim a Video
Keep the part you want. Drop the rest.
cut_videoCut a Section Out of a Video
Skip the bad take. Keep everything else.
cut_videoRemove a Video's Background
Two tools, two very different backgrounds.
remove_video_backgroundRemove the Background From a Photo
Same job, different pipeline than video.
generate_image_from_imageChange a Video's Playback Speed
Speed ramps, slow-mo, and time-lapse — described, not keyframed.
edit_videoCheck a Video Before You Publish It
Watch it back with fresh eyes that never get bored.
analyze_videoFix a Slide in a Slideshow
Slide three is wrong. Fix slide three.
replace_slideshow_slideThe agent tools behind them
13 tools from Versely's real agent surface do all 7 of these jobs. Ask for the outcome in plain English and the agent picks the tool.
cut_video
Cut a single video down to one or more time ranges and concatenate the kept ranges into a single output video. Covers three intents in one tool: (1) TRIM — pass one segment to keep just [start, end). (2) CUT OUT a middle section — pass two segments [0, badStart] and [badEnd, end] to skip the unwanted middle. (3) SPLIT-AND-KEEP arbitrary ranges — pass N segments and they're stitched in the given order. Segments are kept ranges (NOT delete ranges), all in seconds from the start of the source video. The output is uploaded to cloud storage and the URL is returned. If you want to merge across MULTIPLE source videos (with optional per-clip trims), use compose_video_with_overlay instead — its base_media[] accepts start_sec/end_sec per video item.
remove_video_background
Remove a PURE-BLACK background from a video using FFmpeg colorkey. The video's background must be solid pure-black (or near-black) — typically AI-generated talking-head clips, after-effects renders with a black matte, or footage shot against a black backdrop. Does NOT work for: green-screen, blue-screen, white, or any non-black background — that needs a different filter we don't currently support. Does NOT work for photographic / room / outdoor backgrounds either — that needs a segmentation model we don't expose. ASK THE USER FIRST whether they want the background removed, and CONFIRM the background is black. If they say it's a different color or a real scene, tell them this tool only works for black and we don't support other backgrounds yet.
remove_background
Remove the background from an image or video. Use when the user wants a transparent background, green screen effect, or to isolate a subject. The listed models are VIDEO background-removal models — pass the clip as video_url. For IMAGE background removal, use the image-editing models via generate_image_from_image instead.
generate_image_from_image
Edit or transform an existing image. Use when the user has attached an image and wants to edit, modify, transform, or create variations of it. Requires an attached image URL from [Attached image: URL] in the message.
edit_video
Agent-driven EDL render via the Versely editor pipeline (POST /features/editor-render). Stitch, trim, speed-change, caption, overlay, and mix user media (workspace/generation HTTPS URLs) into ONE final video. Prefer this over chaining cut_video + attach_audio + add_*_captions when the user wants a multi-clip assembly in a single step. Billing: preview:true is free 480p (per-user cooldown); final export (preview:false, default) charges the normal single editor_export price. Prefer preview:true while the user is iterating; only final-render after confirmation. Clips must be HTTPS URLs (file:// and other schemes rejected). Returns { video_url, credits_charged, preview_notes } or a 402-style insufficient-credits error.
analyze_video
Deep, on-demand video understanding: extract sample frames (uploaded as reusable JPEG URLs), describe overall style/format, per-timestamp beats, on-screen text, and optionally a speech transcript. Works with ANY chat provider (provider-agnostic). Use for thorough analysis or when you need frames as reference images for generate_image_from_image / workflow assets / recreation — deeper than the automatic attachment preprocessing that only injects a short text note. Prefer this over guessing from a video URL alone.
review_generation
Self-QC a generated image or video against its original prompt via vision. Returns {matches_prompt, issues, severity: ok|minor|broken, suggested_fix}. OFFER after a workflow run / generation completes or when the user seems unhappy — never auto-run on every generation (costs credits/latency). Especially apt after long jobs (workflow runs, movies).
analyze_content
Analyze a previously generated image or video for quality, composition, and suggest improvements. Use when the user asks for feedback on a generation or wants to iterate. Pass the generation ID or 'latest'.
replace_slideshow_slide
Replace a single slide in a slideshow with a freshly generated image. Use when the user asks to regenerate, swap, or replace a specific slide (e.g. 'replace slide 2 with a sunset', 'regenerate the 4th image', 'redo slide 1'). Charges credits for the new image (refunded on failure). Drops any stale text-overlay version of that slide. If you don't have the image_id, call get_slideshow first.
remove_slideshow_slide
Remove a single slide from an existing slideshow. Use when the user asks to delete, drop, or get rid of a specific slide (e.g. 'remove slide 3', 'delete the last image'). Does NOT refund credits — the image was already generated. If you don't have the image_id, call get_slideshow first to look it up by order_index (slide N corresponds to the Nth image after sorting by order_index ascending).
reorder_slideshow_slides
Change the order of slides in a slideshow. Use when the user asks to move, swap positions, or rearrange slides (e.g. 'move slide 5 to the front', 'swap slides 2 and 3', 'reverse the order'). Pass the COMPLETE new ordering as { image_id, order_index } pairs — include every slide, not just the ones being moved. Call get_slideshow first to obtain image_ids and current order.
get_slideshow
MANDATORY TOOL for displaying a slideshow to the user. Calling this is the ONLY way the slideshow-card UI (with thumbnails) appears in the chat — describing the slideshow in text does NOT show the visual card. You MUST call this tool (not just describe in text) whenever the user asks to see, show, open, view, preview, display, pull up, or edit an existing slideshow — including phrases like 'show me my slideshow', 'show it to me', 'let me see it', 'pull up the last one', 'what's in my slideshow', 'the one I just made', 'add text to slide 2', 'edit the overlays'. Do NOT answer these requests from memory or conversation history. ALWAYS fetch fresh state with this tool. If slideshow_id is omitted, returns the user's most recently created slideshow. Also call this before add_text_overlay, convert_slideshow_to_video, remove_slideshow_slide, replace_slideshow_slide, or reorder_slideshow_slides when the user references an existing slideshow without giving you an id.
add_images_to_slideshow
Append more images to an existing slideshow using URLs the user has provided. Use when the user says things like 'add this photo to the slideshow', 'put these two more pics at the end', 'tack this image onto the slideshow you just made'. New slides are appended in array order at the next free order_index. If you don't have the slideshow_id, call get_slideshow first.
What these jobs cost
Every job here bills in credits. These are the scenarios whose formulas govern the arithmetic.
What does editing a video cost if I keep changing it?
charges per finished export, so iteration is free and the count is the whole bill
Flat per callWhat does a batch of 100 AI product images cost?
charges one fixed price per call, so the image's size and shape are free
Additive across four different metersWhat does a finished 30-second AI ad cost end to end?
sums four unrelated meters, so no single rate predicts the total
Questions about this cluster
Does trimming re-encode the whole video?+
Assume it does. That is not a problem when trimming is the first thing you do, and it is the reason this cluster belongs at the front — every later job renders against the trimmed file rather than the original.
When is background removal actually worth it?+
Only when something is going behind the subject: a picture-in-picture layer, an overlay on product footage, a cutout for a thumbnail. On its own it produces a subject floating on nothing, which is rarely what anyone wanted.
Does changing playback speed affect the audio?+
Speed changes stretch or compress the audio along with the picture, so voice at high speed reads as a chipmunk unless the track is handled separately. For narrated content, re-time the picture and lay the voice over it rather than speeding both.
Make the material first
AI Video Generator
Text-to-video, image-to-video, and story-to-video in one place.
AI UGC Video Generator
UGC ads at the speed and price of a prompt.
Text to Image Generator
One prompt. Every image model. One studio.
AI Video Editor
Upload the clip. Say what's wrong with it.
AI Slideshow Maker
Photos in. Scroll-stopping slideshow out.
AI Photo Editor
Say what to change. What you didn't mention stays put.
The rest of the pipeline
Captions & On-Screen Text
The last thing you add and the first thing anyone reads.
Audio, Voice & Dubbing
The biggest cluster on the surface, and the easiest to do in the wrong order.
Aspect Ratio & Resize
Six jobs, one decision: what leaves the frame.
Upscale & Extend
The only jobs that add something the file never had.
Merge & Assemble
Where the pieces stop being clips and start being a video.
Ask the agent for it in plain English
The all-in-one AI studio for creators. 60+ models for video, image, voice, music and lipsync in a single app.