Run vision pipelines over images and video
Chain a model with tracking, counting, and dwell steps in a visual editor, then run it over an image, a video, or a whole dataset. Call it from code like any other tool.
# Run a saved workflow over a local video
pictograph workflows invoke door-counter --file ./entrance.mp4
# Or over a folder of a dataset, without waiting
pictograph workflows invoke door-counter \
--dataset "Lobby cams" --directory /north --no-wait from pictograph import Client
client = Client()
# Run a saved workflow over a local video, then read the counts
run = client.workflows.invoke(
workflow="door-counter",
source="./entrance.mp4",
wait=True,
)
print(run.step_results) # counts, dwell, occupancy Build it once, run it on anything
Draw the pipeline in the editor, then run it on demand or from your own code. No infrastructure to manage, and no deployment needed.
-
Build the pipeline
Connect a source, a model, and the steps you need in the visual editor.
-
Track and measure
Add object tracking, line counting, dwell time, and zone occupancy.
-
Run it on anything
An image, a video, or a whole dataset, from the app, the CLI, or Python.
-
Deliver the results
Read them back, push them to a signed webhook, or write the labels into a dataset.
Tracking, counting, and analytics
The building blocks for turning detections into answers.
Workflows FAQ
What is a Pictograph workflow?
A workflow is a saved graph that runs a model over an image, a video, or a whole dataset: a source, a model, then filter, track, measure, visualize, and output steps. It loads the model for each run, so it needs no standing deployment and bills only for the compute it uses.
How is workflow inference priced?
Workflows bill your compute credits for the GPU time a run actually uses, charged once when it finishes. You see an estimate before you start, and a failed or cancelled run is free.
Can workflows track objects across video frames?
Yes. Workflows include ByteTrack and BoT-SORT trackers, so a track ID follows each detection across frames. Add line-crossing counts, dwell time, and zone-occupancy steps on top of the tracks.
What can a workflow output?
Per-frame and per-track results, an annotated video, labels written back into a dataset, and a signed webhook when the run finishes. Large results are saved as downloadable files, so nothing is silently cut off.
Can my agent run a workflow?
Yes. Invoke a saved workflow from the CLI or the Python SDK with the video, image, or dataset to run it over, and read the results when it finishes. It is a tool your agent can call like any other command.