Skip to main content

dailies

Triage for AI-generated video takes. Batch-generate overnight, wake up to a ranked shortlist: the mechanical funnel kills the dead takes (decode errors, black, frozen) with timestamped reasons and ranks the survivors for review. It never claims a take is good; it claims most of them are definitely dead.

Built so far: stage 1 of the funnel (mechanical, CPU only), stage 2 (VLM screening), and the morning report. Results live in per-clip sidecar files; the format is specified in SPEC.md and is the contract for companion tooling (take lineage and recipe capture are a separate, upcoming tool).

Requirements

Python 3.9+, ffmpeg and ffprobe on PATH. No Python dependencies; blake3 is picked up if installed, otherwise hashes are sha256:-prefixed.

Install

pip install git+https://github.com/zhang-liz/dailies

Or run straight from a checkout with python3 -m dailies; there is nothing to build.

Use

dailies review ./takes                       # or globs, or single files
dailies review shot-07/ --shot shot-07 --json
dailies report ./takes -o report.html

Stage 2 screens the survivors with a vision model. Point --vlm at any OpenAI-compatible endpoint (llama.cpp, vLLM, or hosted; key read from DAILIES_VLM_KEY):

dailies review ./takes --vlm http://localhost:8000/v1 --vlm-model qwen3-vl

Frames are sampled at the mechanical stage's difference peaks, not uniformly: artifact frames are frame-difference outliers. Rules come from a rubric (--rubric film.json, or .yaml with PyYAML installed); each rule is a prompt plus an optional fail_at severity, so project-specific checks (a prop's continuity, a wardrobe color, no watermarks) need zero code. Defects land in the sidecar with rule, timestamp, severity, and note; a rule kills a take only past its fail_at.

The report is one static HTML file: survivors ranked first per shot, hover a clip to scrub, defect spans marked on a timeline, kill reasons one click away.

Each clip gets a <clip>.take.json sidecar: content-hash take id, probe info, black/freeze spans, scene cuts, flicker score, candidate frames for the VLM stage, verdict (kill or review), rank within the shot. Reviews are cached by content hash; --force re-runs. Sidecar blocks owned by other tools (slate's recipe) are preserved.

Tests

python3 -m unittest discover tests

Tests generate synthetic clips with ffmpeg and assert the funnel's verdicts.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

video_dailies-0.1.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

video_dailies-0.1.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file video_dailies-0.1.0.tar.gz.

File metadata

  • Download URL: video_dailies-0.1.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for video_dailies-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fba2c18d1585ebd6c74e3cb65319e4d0b83e6f9c3a40ba880cd5d73a6abef1ac
MD5 f5a4399ab7d030c6741cce81a033b9f5
BLAKE2b-256 594bed8c3175032de7ba2ceccbc7e5a88fa7a504c02097988ebc4050ed253a28

See more details on using hashes here.

Provenance

The following attestation bundles were made for video_dailies-0.1.0.tar.gz:

Publisher: publish.yml on zhang-liz/dailies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file video_dailies-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: video_dailies-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for video_dailies-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3c509b53e01b9d1dc7e8a58b4d2965e68cb4856e98c588ba3abd90d60d5a266
MD5 2cff037eb01339258281cde64bbf384b
BLAKE2b-256 880be95525a7428f87be7be7e7125ede7f387f524125d1d593d6b9a9dc01ca26

See more details on using hashes here.

Provenance

The following attestation bundles were made for video_dailies-0.1.0-py3-none-any.whl:

Publisher: publish.yml on zhang-liz/dailies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page