Skip to content
Euler Docs

Running the pipeline

A run takes one source through ingest, episodes, annotation and readiness, and leaves you a project ready to review. Nothing spends until you confirm it.

Starting a run

In Sources, press Start the run on a source. Before anything starts, a confirmation shows:

From the API:

curl -fsS -X POST -H "Authorization: Bearer $EULER_TOKEN" -H "Content-Type: application/json" \
  "$EULER_BASE_URL/v1/projects/$PROJECT/runs" \
  -d '{"id": "run-001", "source_id": "session-01"}'

Work whose estimate would breach the weekly cap is refused with 402 before it starts, never halfway through.

Following a run

Pipeline run shows the run stage by stage: inventory, health, ingest and episodes, readiness and the in-run annotation layers, with per-step evidence. High-impact steps can stop at an approval checkpoint; nothing proceeds past one without an explicit approval. GET /v1/projects/{id}/runs lists runs with their current stage; POST .../runs/{run_id}/cancel stops one.

Background layers

Heavy layers (pose, tracking, depth, segmentation, flow, sub-tasks, dense actions, metadata, 3D) run as background jobs rather than inside a request, so a slow layer reports progress instead of timing out. A job:

curl -fsS -X POST -H "Authorization: Bearer $EULER_TOKEN" -H "Content-Type: application/json" \
  "$EULER_BASE_URL/v1/projects/$PROJECT/annotation/jobs" \
  -d '{"layer_id": "depth", "episode_ids": []}'
curl -fsS -N -H "Authorization: Bearer $EULER_TOKEN" \
  "$EULER_BASE_URL/v1/projects/$PROJECT/annotation/jobs/stream"

See Annotation jobs for the full contract.

Work that needs no GPU

Some things are re-derived from stored data with no model call and no spend: re-measuring readiness, rebuilding 3D, keeping only the wearer’s hands, cleaning up tracks, re-routing review. Pipeline settings sends these a few episodes at a time with a progress bar and an estimate. Today they run while the tab is open; see Limits.

After a run