UCLA Daily: Deep Dive Batch
Render every event as a full deep-dive card, in one tensor
- ucla_data
- card_batch
- card_count
- save_dir
UCLADeepDiveBatch is what you reach for instead of wiring up forty copies of UCLADeepDiveCard. It takes the pipeline's UCLA_DATA, renders every event as a full deep-dive card, and returns them as a single batched IMAGE tensor - (N, H, W, 3) - plus a count and a save directory. One node in, a whole event lineup out. This is the node that actually feeds the slideshow.
It's part of the UCLA Daily pack by Jeffrey A. Brick, which turns UCLA's public feeds into lobby-display content. The pipeline is DataInit → fetchers → cards → MP4, and DeepDiveBatch is the workhorse between the fetchers and the video. Everything the single-card node can do - venue addresses, QR codes, dynamic font sizing, procedural art, description enrichment - it does in bulk.
How it works
It's a loop over the same renderer the single card uses, capped by max_cards (1–100, default 20) so a busy week can't blow up your VRAM or your render time. Each card is a full 1920x1080 deep-dive layout with the venue address from the built-in database, the enriched description, the QR code to the event page, and the category-aware procedural art. All cards stack into one tensor, which is exactly the shape ComfyUI's video and batch nodes expect.
Two details matter for how you use it. enrich_descriptions (default on) means a network request per event on top of the initial fetches - fine for a once-a-day render, slow if you're iterating. And save_to_disk (default off) can write the whole batch of PNGs to a directory and hand you the path, which is handy if you want to inspect individual cards before committing to video.
The inputs
- ucla_data - required; the pipeline dict from
UCLADailyDataInit+ fetchers. - card_width / card_height - default 1920×1080.
- max_cards - cap on how many cards to render; default 20.
- show_unofficial_badge, show_qr_code, enrich_descriptions, save_to_disk - booleans, default on except
save_to_disk.
Outputs
Three: card_batch (the IMAGE tensor, N×H×W×3), card_count (INT), and save_dir (STRING - the directory, if save_to_disk is on).
Install
ComfyUI Manager → search UCLA Daily, or:
cd ComfyUI/custom_nodes
git clone https://github.com/jbrick2070/ComfyUI-UCLADaily.git
pip install qrcode pillow requests
Restart ComfyUI. Rendering needs Pillow; QR needs qrcode.
Common issues
The honest advice: don't run this node repeatedly while you're still arranging fetchers - every run is N network hits for enrichment plus a full render, and it's easy to burn time and bandwidth on cards you're about to throw away. And on a small GPU, rendering 20+ full-HD cards into one tensor will be slow and memory-hungry; drop max_cards while you tune. When you're ready to actually ship the video, this is the node feeding UCLASlideshowExport.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| ucla_data | UCLA_DATA | UCLA data dict from pipeline. | |
| card_widthopt | INT | 1920800–3840 | — |
| card_heightopt | INT | 1080600–2160 | — |
| max_cardsopt | INT | 201–100 | Maximum number of deep dive cards to render. |
| show_unofficial_badgeopt | BOOLEAN | true | — |
| show_qr_codeopt | BOOLEAN | true | — |
| enrich_descriptionsopt | BOOLEAN | true | — |
| save_to_diskopt | BOOLEAN | false | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| card_batch | IMAGE | — |
| card_count | INT | — |
| save_dir | STRING | — |