step
ittybit step <kind> -i '<json>' [flags]
Atomic operations. Unlike ittybit video (full pipeline), steps run one thing at a time. Compose them into custom workflows — probe a file first, then decide what to encode based on the result.
Kinds
probe
ittybit step probe -i '{"url":"https://example.com/video.mp4"}'
Returns format, dimensions, duration, codecs.
ingest
ittybit step ingest -i '{"url":"https://example.com/video.mp4"}'
Downloads to local storage.
video · audio · image · adaptive_video
Encode from a probed Source object:
ittybit step video \
-i '{"object":"source","url":"file://input.mp4","kind":"video","format":"mp4","width":1920,"height":1080,"duration":62.5,"codecs":{"video":"h264","audio":"aac"}}' \
--width 1280 --quality medium
upload
ittybit step upload \
-i '{"object":"source","url":"file://output.mp4","kind":"video","format":"mp4"}' \
-o s3://bucket/key.mp4 --connection my-s3
Composing
ittybit step probe -i '{"url":"https://example.com/video.mp4"}' --json | \
jq '.output' | \
xargs -I {} ittybit step image -i '{}' --start 5 -o poster.jpg
Cloud
Run on Ittybit infrastructure instead of locally:
ittybit step probe -i '{"url":"https://example.com/video.mp4"}' --cloud
Requires ITTYBIT_API_KEY. The step is executed remotely and the result is returned.
See also
- API
POST /steps— create standalone steps via HTTP video,audio,image,adaptive— full pipeline commandsconnections— set up S3 for theuploadstep