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.

  1. Build the pipeline

    Connect a source, a model, and the steps you need in the visual editor.

  2. Track and measure

    Add object tracking, line counting, dwell time, and zone occupancy.

  3. Run it on anything

    An image, a video, or a whole dataset, from the app, the CLI, or Python.

  4. 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.

Object tracking ByteTrack or BoT-SORT gives every object a stable ID across frames.
Counting Count line crossings and entries over time.
Dwell and occupancy Measure how long objects stay and how full a zone gets.
Annotated video Render the tracks and counts onto the video as a downloadable file.

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.

Build a vision pipeline

$5 of free compute every month. No card required.