This page describes where VideoAnnotator stores outputs and how to retrieve them using the CLI or HTTP API.
For analysis, export everything as one table (CSV or Parquet), as ELAN files, or as a methods paragraph: see Results out.
The default docker-compose.yml mounts these host folders into the container:
./data→/app/data(input videos)./output→/app/output(job artifacts and exported results)./logs→/app/logs(server and job logs)./database→/app/database(SQLite database)
In practice:
- Look for generated files under
./output/on your host machine. - If you need to inspect container paths directly:
docker compose exec videoannotator ls -la /app/output.
When running locally, the output directory is controlled by your configuration and/or storage settings. If you are using the default local setup, results typically land under ./output/ or ./storage/ depending on configuration.
All examples assume the API server is running on http://localhost:18011.
uv run videoannotator job status <job_id>If the job is still pending, the status response may include a queue_position field.
queue_position is 1-based and indicates the job's current position among pending jobs (FIFO).
uv run videoannotator job results <job_id>uv run videoannotator job download-annotations <job_id> --output ./results/docker compose exec videoannotator va job results <job_id>
docker compose exec videoannotator va job download-annotations <job_id> --output /app/outputexport API_KEY="va_api_your_key_here"
# Get job status
curl -H "Authorization: Bearer $API_KEY" \
"http://localhost:18011/api/v1/jobs/{job_id}"
# Get job results
curl -H "Authorization: Bearer $API_KEY" \
"http://localhost:18011/api/v1/jobs/{job_id}/results"
# Download all artifacts (ZIP)
curl -H "Authorization: Bearer $API_KEY" \
"http://localhost:18011/api/v1/jobs/{job_id}/artifacts" \
--output "job_{job_id}_artifacts.zip"