NBA Highlights Video Generator
Videos
Posted on NBA Full Play Highlights.
Author
Ronen Huang
Time Frame
August 2025 to Present
FFmpeg Build
Download from https://www.gyan.dev/ffmpeg/builds/.
Ollama Build
Download from https://ollama.com/download and pull one time.
ollama pull lfm2.5-thinking:1.2b
NBA Team Abbreviations
- atl - Atlanta Hawks
- bkn - Brooklyn Nets
- bos - Boston Celtics
- cha - Charlotte Hornets
- chi - Chicago Bulls
- cle - Cleveland Cavaliers
- dal - Dallas Mavericks
- den - Denver Nuggets
- det - Detroit Pistons
- gsw - Golden State Warriors
- hou - Houston Rockets
- ind - Indiana Pacers
- lac - Los Angeles Clippers
- lal - Los Angeles Lakers
- mem - Memphis Grizzlies
- mia - Miami Heat
- mil - Milwaukee Bucks
- min - Minnesota Timberwolves
- nop - New Orleans Pelicans
- nyk - New York Knicks
- okc - Oklahoma City Thunder
- orl - Orlando Magic
- phi - Philadelphia 76ers
- phx - Phoenix Suns
- por - Portland Trail Blazers
- sac - Sacramento Kings
- sas - San Antonio Spurs
- tor - Toronto Raptors
- uta - Utah Jazz
- was - Washington Wizards
Manually Make Videos
The full play videos can be made from the reliable play by play rather than the unreliable box score.
from nba_video_generator.src import pipeline
pipeline(
[
("DiVincenzo", "2026-04-20", "min"),
],
{
"ffmpeg_path": r"C:\Users\ronen\Documents\Projects\nba_video_generator\src\nba_video_generator\ffmpeg-9.0.2-essentials_build\bin\ffmpeg.exe"
}
)
A date range can be specified as well.
from nba_video_generator.src import pipeline
pipeline(
[
("Booker", "2026-04-19", "2026-04-27", "phx"),
],
{"ffmpeg_path": r"C:\Users\ronen\Documents\Projects\nba_video_generator\src\nba_video_generator\ffmpeg-9.0.2-essentials_build\bin\ffmpeg.exe"}
)
Process
- Specify the player last name (as per NBA.com website), team abbreviation, and date(s) (yyyy-mm-dd).
- Programs crawls through play by play by quarter, keeping a list of links and times.
- Events within 5 seconds of each other are merged to a single event.
- Plays are concatenated together to make the video.
A video of the process is provided below.
https://www.youtube.com/watch?v=84GDSAL5CeE
Automatically Make Videos With Agent
Makes videos of the LLM determined best player performances of specified date (default today).
from nba_video_generator.nba_agent import run_agent
date = "2026-06-10"
ffmpeg_path = r"C:\Users\ronen\Documents\Projects\nba_video_generator\src\nba_video_generator\ffmpeg-9.0.2-essentials_build\bin\ffmpeg.exe"
run_agent(date, ffmpeg_path)
Process
- Specify the date (yyyy-mm-dd).
- LLM chooses players from pool of candidates that meet thresholds in src/nba_video_generator/nba_agent/config.py.
- The videos are made with the
pipelinemethod. The thumbnails with relevant statistics are made afterward. - (Optional) Upload to YouTube with Python. Example program in src/nba_video_generator/example_youtube_upload_scripts. Link to data api - https://developers.google.com/youtube/v3/guides/uploading_a_video.
A video of the process is provided below.
https://www.youtube.com/watch?v=IC8SrrvS4xE&feature=youtu.be
Automatically Make Game Top Plays Shorts - NEW
Makes shorts of the top 4 plays from each of specified date (default today).
from nba_video_generator.nba_shorts import make_shorts_for_date
date = "2016-06-19"
ffmpeg_path = r"C:\Users\ronen\Documents\Projects\nba_video_generator\src\nba_video_generator\ffmpeg-9.0.2-essentials_build\bin\ffmpeg.exe"
make_shorts_for_date(date, ffmpeg_path)
Web Interface
Run all three workflows from a local browser dashboard:
python -m pip install --upgrade nba-video-generator
nba-video-generator-web
After the new release is published, install it from PyPI as shown above. The
dashboard opens at http://127.0.0.1:8765. It includes forms for the
player pipeline (including date ranges and multiple players), the daily agent,
and top-plays Shorts. Jobs run in the background and stream their output to the
activity panel. The YouTube upload workflow lets you select a video folder and
Google client_secrets.json using local file pickers. Uploads default to
private, preserve local files, and use a saved OAuth token under your home
directory. Only one workflow can run at a time. To choose another port or keep
the browser closed:
nba-video-generator-web --port 8766 --no-browser
Metadata
Release files for nba-video-generator 7.0.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nba_video_generator-7.0.16.tar.gz | 66.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nba_video_generator-7.0.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 143.4 kB
Release files / nba_video_generator-7.0.16.tar.gz
| Download URL | nba_video_generator-7.0.16.tar.gz |
|---|---|
| Size | 66.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f76885ccd14402294cd701c7219ff63237ba1bd60be1b7cc941ba79c654a3ff
|
|
BLAKE2b-256 checksum How to use checksums |
db6f7e3292418e86c1b44b66652b0297a3cd613399fe4a0b32adb81b1662f108
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / nba_video_generator-7.0.16-py3-none-any.whl
| Download URL | nba_video_generator-7.0.16-py3-none-any.whl |
|---|---|
| Size | 77.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
162c6b9cb6ab46d7a28f5731b3b0e67b3fb5f8e5203c99464fade78eccc32d30
|
|
BLAKE2b-256 checksum How to use checksums |
46a5251eddba8b11d91e7c69edcb358761b61aa782d3685700bf4f2a14357ff6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for nba-video-generator 7.0.16
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for nba_video_generator-7.0.16.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.