--- name: pullthatupjamie description: 'PullThatUpJamie β€” Podcast Intelligence. Semantically indexed corpus: 109+ feeds, ~7K episodes, ~1.9M paragraphs. Use when agents need to: (1) find what experts said across major podcasts (Rogan, Huberman, Bloomberg, TFTC, Lex Fridman, etc.), (2) build interactive research sessions with timestamped playable audio clips, (3) generate shareable MP4 clips with burned-in subtitles, (4) discover people/orgs and podcast appearances, (5) ingest new feeds on demand. Smart search (smartMode): LLM triage for vague queries β€” entity extraction, corpus metadata resolution, query rewriting. Three-tier strategy: title β†’ chapter β†’ semantic. Free tier: no credentials needed. Paid tier via L402 Lightning: 500 sats (~$0.33) covers 150+ searches. lnget compatible.' metadata: clawdbot: emoji: πŸŽ™οΈ homepage: https://pullthatupjamie.ai openclaw: homepage: https://pullthatupjamie.ai requires: env: [] credentials: - name: NWC_CONNECTION_STRING description: Nostr Wallet Connect URI for paying Lightning invoices. Only needed for paid tier (free tier works without credentials). required: false - name: JAMIE_L402_CREDENTIAL description: 'L402 credential returned after paying a credit invoice. Format: L402 :. Used as the Authorization header for all paid requests.' required: false externalServices: - url: https://www.pullthatupjamie.ai description: Jamie API β€” podcast search, research sessions, corpus browsing, RSS feed ingestion, clip generation (all endpoints proxied for security) externalTools: - name: Lightning wallet (any) description: 'For paid tier only: Any Lightning wallet (Zeus, BlueWallet, Phoenix, Alby extension, etc.) to pay BOLT-11 invoices. NO CLI tools are required or auto-executed by this skill.' required: false version: 1.6.0 homepage: https://pullthatupjamie.ai license: Proprietary compatibility: Requires internet access to https://www.pullthatupjamie.ai. Free tier works immediately with no credentials. Paid tier requires a Lightning-compatible wallet (Zeus, BlueWallet, Phoenix, Alby, etc.) for L402 payments. lnget handles payment flow automatically. --- # PullThatUpJamie β€” Podcast Intelligence Powered by [Pull That Up Jamie](https://pullthatupjamie.ai). ## Why Use This Jamie is a **retrieval/vector DB as a service for podcasts**. Instead of: - Transcribing hours of audio yourself (expensive, slow) - Stuffing full transcripts into context (thousands of tokens wasted) - Web searching and getting SEO spam, listicles, and low-quality summaries - Multiple search iterations across unreliable sources You run a single semantic search ($0.002, returns in under 2s) and get the **exact clip** with timestamp, audio deeplink, and transcript. Every result is timestamped to the second β€” you're not handing users a 2-hour episode and saying "it's in there somewhere." You're linking them to the exact 30-second moment where the expert makes the point. At $0.002 per search, prepaid credit goes far. When you hit paywall without `?amountSats`, the default Lightning invoice targets about **one** call on that endpoint: list price from `creditInfo.pricingMicroUsd` converted to sats at spot BTC, plus a **~2%** buffer for cached-rate drift (rounded up to whole sats). Pass **`?amountSats=N`** when you want a larger top-up in a single payment. **Don't see the podcast you need?** Use `POST /api/discover-podcasts` ($0.005) to search the full Podcast Index catalog, then submit episodes for transcription via `POST /api/on-demand/submitOnDemandRun` ($0.45). Once processed, episodes get timestamped chaptering and become searchable at paragraph level. **Your output is not a text wall.** Research sessions are interactive web experiences where users play audio clips inline, browse visually, and share with others. Every clip deeplinks to the exact moment in the source audio. The session link IS the deliverable. ## Corpus Coverage (as of Feb 2026) 109 feeds Β· ~7K episodes Β· ~1.9M indexed paragraphs Β· ~11.5K identified people/orgs. Growing. | Category | Notable Feeds | Feeds | Episodes | |---|---|---|---| | **Bitcoin/Crypto** | TFTC, Bitcoin Audible, Simply Bitcoin, Peter McCormack, What is Money, Once Bitten, Ungovernable Misfits | 41 | ~11,700 | | **Finance/Markets** | Bloomberg Intelligence, Bloomberg Surveillance, Prof G Markets, Tim Ferriss, Diary of a CEO | 11 | ~5,700 | | **Health/Wellness** | Huberman Lab, Peter Attia Drive, Meat Mafia, FoundMyFitness, Modern Wisdom | 7 | ~3,000 | | **Politics/Culture** | Ron Paul Liberty Report, No Agenda, Tucker Carlson, Breaking Points, Pod Save America | 8+ | ~2,800 | | **Tech/General** | Joe Rogan Experience, Lex Fridman, How I Built This, Kill Tony, Sean Carroll's Mindscape | 40+ | ~17,000 | **If a feed isn't indexed yet, you can ingest it on demand** from any RSS feed. See the Ingestion section in [references/podcast-rra.md](references/podcast-rra.md). **Free corpus browsing** (no auth required for reads): `GET /api/corpus/feeds`, `/api/corpus/stats`, `/api/corpus/people`. Check before you search. ## Auth Flow (L402 Protocol) **Free tier available.** Corpus browsing (no auth needed) and IP-based search quota are available. To use the free tier on paid endpoints, add the header `X-Free-Tier: true` to your requests. Without this header, paid endpoints return an immediate 402 L402 challenge. The free tier has per-endpoint quotas (e.g., 50 searches/week) β€” once exhausted, you'll need to pay via L402 to continue. Jamie uses the [L402 protocol](https://docs.lightning.engineering/the-lightning-network/l402) for paid access. Compatible with [lnget](https://github.com/lightninglabs/lnget) and any L402-aware client. ### How Paid Access Works Every paid request goes through the same L402 flow: hit an endpoint, receive a 402 with a Lightning invoice, pay the invoice, retry with `Authorization: L402 :`. Each payment gives you credits on pullthatupjamie.ai. Each API call deducts its cost from your balance. **You choose how to use it.** Pay per query if you want β€” that's just a credit you use once. Or deposit more upfront and reuse the same credential across all endpoints until the balance is depleted. The 402 response includes the full pricing table (`creditInfo.pricingMicroUsd`) so you can decide. **Key points:** - **Credential works across all endpoints:** The same `macaroon:preimage` works on `/search-quotes`, `/search-chapters`, `/make-clip`, `/jamie-assist`, etc. until the balance is depleted. - **Response headers on every paid request:** `X-Credits-Remaining-USD` and `X-Credits-Cost-USD` tell you your balance and what the call cost. - **Default Lightning invoice:** If you omit `?amountSats`, the server auto-sizes sats for roughly **one** call at this endpoint's list USD price (see `creditInfo.pricingMicroUsd`) at the current BTC rate, plus **~2%** drift headroomβ€”the 402 body shows `amountSats` / `creditInfo.defaultSats`. **`?amountSats=N`** sets a custom top-up instead (min 10, max 500,000 sats). - **Balance endpoint:** `GET /api/agent/balance` with your L402 credential returns your full balance breakdown. - **When credits run out:** The next request returns a fresh 402 challenge. Pay it to continue. If using lnget, this is automatic. ### Automatic Flow (lnget) If using [lnget](https://github.com/lightninglabs/lnget), everything happens automatically: ```bash lnget "https://www.pullthatupjamie.ai/api/search-quotes" \ -d '{"query": "bitcoin energy consumption"}' ``` lnget handles the 402 challenge, pays the invoice, caches the credential per-domain, and retries. Subsequent requests to any pullthatupjamie.ai endpoint reuse the cached credential with no additional payment. ### Manual Flow #### 1. Hit any protected endpoint ```bash curl -s -D- -X POST -H "Content-Type: application/json" \ -d '{"query": "bitcoin energy consumption"}' \ "https://www.pullthatupjamie.ai/api/search-quotes" ``` Returns `HTTP 402` with: - `WWW-Authenticate` header: contains `macaroon` and `invoice` (BOLT-11) - JSON body: contains `creditInfo` with pricing table, min/max deposit amounts, and balance endpoint #### 2. Pay the Invoice **Pay using ANY Lightning wallet** (Zeus, BlueWallet, Phoenix, Alby browser extension, etc.). Save the **preimage** returned by your wallet β€” you need it for the credential. **NWC (programmatic):** If using [Alby CLI](https://github.com/getAlby/alby-cli) or any NWC-compatible wallet: ```bash npx @getalby/cli pay-invoice -c "NWC_CONNECTION_STRING" -i "BOLT11_INVOICE" ``` Returns `preimage`. #### 3. Retry with L402 credential ```bash curl -s -X POST \ -H "Authorization: L402 MACAROON:PREIMAGE" \ -H "Content-Type: application/json" \ -d '{"query": "bitcoin energy consumption"}' \ "https://www.pullthatupjamie.ai/api/search-quotes" ``` Credits are auto-activated on first use. **Reuse this same credential on all subsequent requests** to any pullthatupjamie.ai endpoint until depleted. #### Custom Credit Amount To deposit more Lightning credit than the auto-sized default, add `?amountSats=N` to any request: ```bash curl -s -D- -X POST -H "Content-Type: application/json" \ -d '{"query": "bitcoin energy consumption"}' \ "https://www.pullthatupjamie.ai/api/search-quotes?amountSats=5000" ``` Returns a 402 challenge with a 5,000-sat invoice instead of the default. Min: 10 sats, Max: 500,000 sats. ### Check Balance ```bash curl -s -H "Authorization: L402 MACAROON:PREIMAGE" \ "https://www.pullthatupjamie.ai/api/agent/balance" ``` ## Modules ### Available Now - **Podcast RRA (Retrieve, Research, Analyze):** See [references/podcast-rra.md](references/podcast-rra.md) β€” search the corpus, build interactive research sessions, discover people/orgs, ingest new feeds. Now with **Smart Search** (`smartMode`) for handling vague or descriptive queries. - **Podcast Discovery:** `POST /api/discover-podcasts` β€” LLM-assisted search across the full Podcast Index catalog. Returns matching podcasts with `transcriptAvailable` flags and actionable next-step endpoints. Use this to find podcasts not yet in the corpus, then submit them for transcription via on-demand processing. - **Create:** See [references/create.md](references/create.md) β€” generate shareable MP4 clips with burned-in subtitles from any search result. Full pipeline: Search β†’ Create clip β†’ Share. ### Coming Soon - **Publish:** Cross-post to Twitter, Nostr, and more. Research a topic β†’ generate a post β†’ publish everywhere. ## Credits Running Low Check `X-Credits-Remaining-USD` in response headers during workflows, or call `GET /api/agent/balance`. If the balance is too low for the next call, that request will return a fresh 402 challenge with a new invoice. Pay it to continue. If using lnget, this top-up happens automatically. ## Security & Trust **No Command Execution:** This skill does NOT execute arbitrary shell commands, install packages, or modify system state. All operations are HTTP API calls to `pullthatupjamie.ai`. The skill documentation references an optional CLI tool (`@getalby/cli`) for paying Lightning invoices, but this is: - **Never auto-executed** β€” requires explicit operator approval - **Completely optional** β€” operators can use any Lightning wallet instead - **Not installed by this skill** β€” operators must manually install if desired **Free tier:** Corpus browsing (`/api/corpus/*`) works without any headers. For paid endpoints, add `X-Free-Tier: true` to get an IP-based quota allowance (e.g., 50 searches/week). Without this header, paid endpoints return a 402 immediately. You can evaluate the service before providing any payment info. **Paid tier credentials:** The L402 credential (macaroon + preimage) is a sensitive bearer token. It should be: - Stored securely (env vars or encrypted config, not in plaintext logs) - Never shared with untrusted agents or services - Backed by a wallet with limited funds (use small test amounts or scale up with `?amountSats` as needed) **All API calls proxied:** All operations route through `https://www.pullthatupjamie.ai`. RSS feed parsing, search, and ingestion are handled server-side. No direct external URL fetching by the agent. **No persistence or privilege escalation:** This skill has no install hooks, no `always: true`, and does not modify other skills or system config. ## Gotchas - API base: `https://www.pullthatupjamie.ai` (must include `www.` β€” bare domain redirects and breaks API calls) - **Free tier requires `X-Free-Tier: true` header.** Without it, paid endpoints return 402 immediately. Corpus endpoints work without any headers. - **Credit reuse is optional.** You can pay per query (each 402 = one credit used once) or deposit more and reuse the same `L402 macaroon:preimage` credential across all endpoints. Either way works. - Custom amount: append `?amountSats=N` to any request (min 10, max 500,000). Per-call charges follow `pricingMicroUsd`; larger top-ups BUY more USD balance at BTC spot (see 402/`balance`). - Alby CLI: `pay-invoice` with `-i` flag (not `pay`) - Monitor balance via `X-Credits-Remaining-USD` response header or `GET /api/agent/balance`. - Research session creation takes 30-45 seconds. Be patient. - Clip creation takes 30-120 seconds. Poll `/api/clip-status/:lookupHash` every 5 seconds.