Add images or logos on top of videos
One POST request. Get the result back directly — as an image, video, or JSON depending on the tool.
curl -X POST https://apiai.me/api/workflow/image-on-video \
-H "X-API-Key: YOUR_API_KEY" \
-F "image=@input.jpg" \
-F "crf=23" \
-F "end_time=0" \
-F "entrance=none" \
-F "exit=none" \
-F "fade_in=0" \
-F "fade_out=0" \
-F "margin=20" \
-F "opacity=1.0" \
-F "overlay_image=VALUE" \
-F "position=bottom-right" \
-F "preset=medium" \
-F "rotation=0" \
-F "scale=0.15" \
-F "start_time=0"
--output result.png
Test this tool visually before writing any code. Upload an image, set parameters, and see the result live. When it looks right, copy the auto-generated curl command and paste it into your app.
Process hundreds of images at once without writing a loop. Upload a CSV with one row per item, set your parameters, and download the results as a ZIP when they're done.
| Name | Required | Description | Default / Options |
|---|---|---|---|
crf |
optional | Video quality 0-51: lower = better quality but larger file | 23
|
end_time |
optional | When the overlay disappears, in seconds or HH:MM:SS (0 = until end) | 0
|
entrance |
optional | Slide-in animation with ease-in-out: direction and speed in seconds | noneslide-left-0.5slide-left-1slide-left-1.5slide-right-0.5slide-right-1slide-right-1.5slide-top-0.5slide-top-1slide-top-1.5slide-bottom-0.5slide-bottom-1slide-bottom-1.5
|
exit |
optional | Slide-out animation with ease-in-out: direction and speed in seconds | noneslide-left-0.5slide-left-1slide-left-1.5slide-right-0.5slide-right-1slide-right-1.5slide-top-0.5slide-top-1slide-top-1.5slide-bottom-0.5slide-bottom-1slide-bottom-1.5
|
fade_in |
optional | Seconds to fade the overlay in (0 = instant appear) | 0
|
fade_out |
optional | Seconds to fade the overlay out (0 = instant disappear) | 0
|
margin |
optional | Distance from the edge in pixels | 20
|
opacity |
optional | Overlay transparency from 0.0 (invisible) to 1.0 (fully opaque) | 1.0
|
overlay_image |
required | Base64-encoded PNG or JPEG image to overlay onto the video (logo, watermark, sticker) | — |
position |
optional | Where to place the overlay on screen | bottom-centerbottom-leftbottom-righttop-centertop-lefttop-rightcenter-leftcentercenter-right
|
preset |
optional | Encoding speed: faster encodes quicker but larger file | ultrafastsuperfastveryfastfasterfastmediumslowslowerveryslow
|
rotation |
optional | Rotate the overlay image in degrees (0 = no rotation) | 0
|
scale |
optional | Overlay size: 0.01-1.0 = fraction of video width (e.g. 0.15 = 15%), values above 1 = pixel width (e.g. 200 = 200px wide) | 0.15
|
start_time |
optional | When the overlay appears, in seconds or HH:MM:SS (0 = from start) | 0
|
Get an API key, test Image on video in the dashboard, and copy the curl command.