Skip to content

Progressive quality: play-frequency prioritized generation #74

Description

@rancur

Problem

Not all 5,000 tracks deserve the same quality investment. Some tracks get played weekly, others haven't been played in years.

Proposal

Implement a play-frequency-based quality tier system:

Tier Criteria Quality Cost/Track Track Count
Hero Played 10+/month Kling v1.5 Pro 1080p $15 ~200
Standard Played 1-9/month Wan 720p + hybrid $2.50 ~1,300
Background Played <1/month FFmpeg motion only $0.20 ~3,500

Total: 200x$15 + 1,300x$2.50 + 3,500x$0.20 = $3,000 + $3,250 + $700 = $6,950

Implementation

  1. Pull play history from Lexicon DJ API (already integrated)
  2. Classify tracks into tiers based on play frequency
  3. Queue generation in tier order (heroes first)
  4. Allow manual tier override for specific tracks
  5. Auto-upgrade: when a "background" track gets played frequently, queue re-generation at higher quality

Files to Modify

  • src/lexicon.py -- add play history query
  • src/bulk_processor.py -- tier-based queue ordering
  • src/generator/quality_profiles.py -- add "background" profile (FFmpeg-only)
  • src/pipeline.py -- respect tier in generation path

Labels: cost-optimization, feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions