LeadGrow · Video Pipeline

tella-cli

Command-line control over your Tella library. 306 videos. Agent-native. Offline FTS5 search. No more clicking through thumbnails.

Python 3.11 SQLite + FTS5 Auto-JSON when piped Typed exit codes ~/.tella/db.sqlite CLI Printing Press
01 / 10
The Problem

306 videos. No way to query them.

Tella's web app is the only interface. Finding last week's recording, auditing view counts, or piping video IDs into a pipeline meant scrolling through pages of thumbnails — manually.

306
Videos in Tella
948
Total Views
3.1
Avg Views / Video

→ all queryable in <2 seconds, offline

02 / 10
Architecture

Two layers. One sync.

🎬
Tella API

api.tella.com/v1
Bearer token
100 req/min

tella sync

Full paginated pull
Auto-loads .env
~2 sec / 300 videos

🗄
SQLite + FTS5

~/.tella/db.sqlite
Offline instant
Raw SQL access

# one-time setup TELLA_API_KEY=tella_pk_... # in .env or shell tella sync # 306 videos → SQLite in ~2 sec # everything below is instant and offline tella search "product demo" tella videos top -n 10 tella sql "SELECT name, views FROM videos ORDER BY views DESC"
03 / 10
Commands

Full command reference

CommandSourceDescription
videos listLive APIPaginated list. --all exhausts pages, --playlist ID filters
videos recent -n NSQLiteLast N by created_at. Sync first.
videos top -n NSQLiteTop N by view count. Content audit.
playlists listLive APIPersonal or org playlists (--visibility org)
syncLive → SQLiteFull pull of all videos + playlists into local cache
search <query>SQLite FTS5Offline FTS. AND / OR / NOT / "phrases" / prefix*
statsSQLiteTotal videos, views, avg views, last sync time
healthLive APIAuth + rate limit headroom check
sql "<SELECT>"SQLiteRaw read-only SQL escape hatch. SELECT / WITH only.
04 / 10
CLI Printing Press Design

Built for agents. Loved by humans.

Every flag and exit code exists because AI agents invoke this thousands of times daily.

Universal Flags
--json Force JSON output
Auto when stdout piped. No flag needed.
--compact Key fields only
~60% fewer tokens. id, name, views, created_at, view_page.
--quiet Suppress stderr
Clean pipelines. Errors to stderr, data to stdout.
Typed Exit Codes
0
success
Operation completed
2
usage
Bad flag or invalid SQL
3
not_found
Empty results or empty cache
4
auth
Missing or invalid API key
5
api_error
4xx / 5xx from Tella
7
rate_limited
429 — back off and retry
05 / 10
Use Cases

9 workflows for LeadGrow video

01 — Morning Kickoff

Session start

Sync fresh state, see what's waiting to edit.

tella sync --quiet
tella videos recent -n 5
02 — Search

Find by topic

FTS5 across all 306 video names + descriptions.

tella search "product demo"
tella search "gtm OR outbound"
03 — Unedited Audit

This week's recordings

Find recordings from last 7 days.

tella sql "SELECT name FROM videos WHERE created_at >= date('now','-7 days')"
04 — Performance

View count audit

Which videos are getting traction?

tella videos top -n 10
tella stats
05 — Playlist Scoped

Filter by playlist

All videos in a Tella playlist.

tella playlists list
tella videos list --playlist <id> --all
06 — Agent Pipeline

Full JSON pipeline

Pipe into scripts or Claude Code sessions.

tella videos recent -n 20 --json --compact | python process.py
07 — Pre-Batch Check

Health before ops

Verify auth + rate limits before bulk work.

tella health --json
# exit 0 = proceed
08 — Re-Share

Zero-view videos

Published but never seen. Candidates to resurface.

tella sql "SELECT name FROM videos WHERE views = 0"
09 — Weekly Rhythm

Output by week

Recording cadence for the month.

tella sql "SELECT strftime('%W', created_at) w, COUNT(*) n FROM videos GROUP BY w"
06 / 10
Offline Power

FTS5 search + raw SQL

Search syntax

PatternMeaning
product demoBoth words, any order
"product demo"Exact phrase
gtm OR outboundEither word
recording NOT personalExclude term
outbound*Prefix match

→ ranked by relevance, instant offline

Power SQL examples

-- top performers this year SELECT name, views FROM videos WHERE created_at >= '2026-01-01' ORDER BY views DESC LIMIT 10; -- recording velocity by month SELECT strftime('%Y-%m', created_at) mo, COUNT(*) n FROM videos GROUP BY mo ORDER BY mo DESC; -- zero-engagement, newest first SELECT id, name, created_at FROM videos WHERE views = 0 ORDER BY created_at DESC;
07 / 10
Live Data — Synced 2026-05-11

What's in the vault

306
Total Videos
948
Total Views
3.1
Avg Views
54
Top Video Views
Top Videos by Views
Kinda Simple overview of how to map markets.54 views
Bison MCP overview24 views
How to Create and Upload Campaigns to Email Bison16 views
LeadGrow STOCK list enrichments14 views
08 / 10
Framework

CLI Printing Press principles

The framework that climbs the five-rung creativity ladder from endpoint-wrapper to behavioral insight tool.

Absorption + Transcendence

Catalogs competitors, absorbs their features, then adds novel capabilities (offline FTS5, behavioral analytics) that stateless wrappers can't match.

Creativity Ladder — Rung 5

Most CLIs stop at Rung 1 (wrap the endpoint). tella-cli reaches Rung 5: videos top, weekly cadence SQL, zero-view audit.

Agent-Native by Default

Auto-JSON when piped. --compact cuts token spend 60%. Six typed exit codes replace brittle stderr parsing. Every design decision serves the agent first.

Two-Tier Data Layer

Live API for fresh state. SQLite + FTS5 for instant offline queries. Sync once, query forever — no rate limit pressure on your analytical loops.

Framework: C:\Users\mitch\Everything_CC\cli-printing-press\  ·  Tella catalog: catalog/tella.yaml
09 / 10
Get Started

Up in 60 seconds

# 1. add to leadgrow-video/.env TELLA_API_KEY=tella_pk_your_key_here # 2. sync 306 videos to local SQLite npm run tella -- sync # 3. explore npm run tella -- videos recent -n 10 npm run tella -- search "product demo" npm run tella -- videos top -n 5 npm run tella -- stats npm run tella -- health # or direct (auto-loads .env from cwd) python C:/Users/mitch/Everything_CC/cli/tella-cli/tella.py sync
306 Videos FTS5 Offline CLI Printing Press Agent-Native

Pipeline is oxygen. Speed is the moat.

10 / 10