# BitterClip > BitterClip is a speaker-aware media workspace for turning long recordings into > source-linked clips an AI agent can find and a human can verify before export > or publishing. Canonical site: https://bitterclip.com/ Public repository: https://github.com/sheetgenius/bitterclip-marketing BitterClip is part of the Bitter constellation of agent-operable software systems. It applies Bitter's model of human-verifiable agent work to recorded media: transcripts, speaker identity, source-linked Moments, rendered clips, and publishing workflows. This file is a compact machine-readable bundle of the public BitterClip site. Canonical HTML pages remain the preferred browser/search destinations. Markdown page mirrors are provided for agents, crawlers, and public repository indexing. ## Canonical Public URLs - Home: https://bitterclip.com/ - Product explanation: https://bitterclip.com/docs - MCP and AI assistant workflow: https://bitterclip.com/mcp - Privacy policy: https://bitterclip.com/privacy - Terms of service: https://bitterclip.com/terms - Markdown home: https://bitterclip.com/index.md - Markdown product explanation: https://bitterclip.com/docs.md - Markdown MCP page: https://bitterclip.com/mcp.md - Markdown privacy policy: https://bitterclip.com/privacy.md - Markdown terms of service: https://bitterclip.com/terms.md - Agent index: https://bitterclip.com/llms.txt - Full Markdown bundle: https://bitterclip.com/llms-full.txt - Sitemap: https://bitterclip.com/sitemap.xml ## Product Summary BitterClip turns podcasts, interviews, founder calls, demos, livestreams, and recurring shows into clips that keep source context attached. The product is designed for people who know their long recordings contain useful material but need a repeatable way to find, verify, render, and publish the right moments. The core product loop is: ```text Recording -> Transcript -> Speakers -> Moments -> Clips -> Exports -> Publishing ``` The shortest version: ```text Recording -> Moment -> Clip ``` A Recording is the source audio or video. BitterClip transcribes it to time-aligned words and speaker turns. A Moment is a candidate span selected from the transcript. Agents can propose moments by choosing words, not by inventing timestamps. A Clip is the approved, rendered output. BitterClip derives timing from the selected transcript words, lets the human verify the cut, and exports a captioned MP4 with source context preserved. ## Home Page Content Hero claim: ```text Cut clips where your context lives. ``` Supporting claim: ```text BitterClip turns podcasts, interviews, founder calls, demos, and recurring shows into speaker-aware clips your agent can find, you can verify, and export ready to post. ``` Product loop: 1. Recording: upload the source. 2. Speakers: know who said what. 3. Moments: ask your agent to find the best parts. 4. Verify: check source context. 5. Export: post a finished MP4. The live product surface is a transcript editor where a human can review the source media and transcript together. The user can drag across words, check the source, and let the cut follow the audio. The homepage phone preview renders that live surface with theme-aware chat chrome, loading state, and embedded recording surface so the same product component can be checked in dark and light assistant contexts. The preview runs in safe demo mode: expensive or account-scoped actions are stubbed, meaningful demo interactions are measured, signup links carry demo-stage attribution, and the sample export is a BitterClip-branded MP4 served from the app origin. BitterClip focuses on: - speaker-aware transcript context - source-linked moments - human verification before export - recurring memory for speakers, clips, topics, and prior show context - finished MP4 exports - YouTube publishing - operation from AI chat environments through an agent connector Pricing has three plans: Free at $0 (60 minutes of footage a month, 10 watermarked 1080p clip exports, file uploads up to 4 GB — resets monthly, not a trial), Clip — the recommended plan — at $9/month or $90/year (10 hours of footage a month, 150 clip exports at 1080p with no watermark, file uploads up to 4 GB, add 5 more hours for $5 anytime), and Pro at $99/month or $799/year (40 hours of footage a month, 1,000 clip exports at up to 4K, file uploads up to 20 GB, priority processing, add-on hours, and analysis workflows included as they ship). Every plan has a 30-day refund (annual included), cancel-anytime, and downloadable file custody. Signup: https://app.bitterclip.com/sign_up ## Speaker-Aware Clipping Good clips depend on more than interesting words. They depend on who said them, what came before, what came after, and whether the moment stands on its own. BitterClip works from the shape of a conversation, not a flat transcript blob. This lets an agent search for: - the sharpest exchange - the clearest explanation - the strongest validation - the best setup and payoff - the moment where one speaker pushes back on another - the clip that introduces a product without needing extra context Example selected moment: - Michael: "We kept thinking the product was the picker." - John: "But the actual value is trust, right? You know who said it, where it happened, and why the clip works." - Michael: "Exactly. The clip only works if the source is still attached." ## Product Explanation BitterClip turns a recording into clips you can trust through: ```text Recording -> Moment -> Clip ``` The user brings a video or audio file. BitterClip transcribes it to time-aligned words. That transcript becomes the canonical timing signal for downstream work. An AI agent reads transcript context and proposes moments worth clipping by selecting words. BitterClip derives the start and end from the first and last selected word, adds a little breathing room, and snaps the cut to the audio. This avoids guessed timestamps and clips that land mid-syllable. The user confirms or adjusts the edges. BitterClip renders a captioned MP4 with the transcript and an SRT. Every clip stays linked to its recording, speaker, exact words, and timestamp so the source chain remains traceable. Recordings and rendered clips live in the user's BitterClip workspace. Each clip carries source context: recording, speaker, selected words, timestamp, and the path from source to share. ## MCP And AI Assistant Workflow BitterClip exposes a remote MCP server and MCP Apps-compatible editor surface. An assistant can find a moment, BitterClip can open the transcript editor in the conversation, and a human can verify the final cut before export or publishing. The assistant picks words. BitterClip handles timing, captions, export, and final approval without guessed timestamps. Endpoint: ```text POST /mcp ``` BitterClip speaks JSON-RPC 2.0 over HTTP with CORS, origin checks, and bearer-token authentication. Tool calls route to the user's BitterClip workspace. Protocol: - MCP over JSON-RPC 2.0 - MCP Apps UI extension - stable spec date: 2026-01-26 Supported methods: - `initialize` - handshake and exchange capabilities - `ping` - connection heartbeat verification - `tools/list` - expose available editor capabilities - `tools/call` - run a tool, such as finding moments or exporting a clip - `resources/list` - list ingested audio/video resources - `resources/read` - read a recording transcript and clips ## ChatGPT App Directory Submission The public app should be named BitterClip and submitted from a verified BitterClip or Bitter Platform organization. The app's job is narrow: find source-linked clip candidates from a user's recordings, open the transcript editor for human review, create approved clips, export MP4s, and prepare publishing packages only when the user asks. Public submission fields: - app name: BitterClip - website: https://bitterclip.com - privacy policy: https://bitterclip.com/privacy - terms of service: https://bitterclip.com/terms - support contact: hello@bitterclip.com - MCP resource: https://app.bitterclip.com/mcp Review materials such as OAuth credentials, demo credentials, provider payloads, private review accounts, screenshots, test prompts, expected responses, and sample-workspace credentials belong in the OpenAI Platform Dashboard submission, not in this public repository. Billing checkout stays on BitterClip's own domain. The submitted ChatGPT toolset should not expose checkout or subscription purchase tools. Publishing tools should be labeled as write and open-world actions, and should run only after explicit user approval. Representative tools: | Tool | Purpose | | --- | --- | | `recordings_list` | Retrieve ingested recordings for selection. | | `transcript_read` | Read the full diarized, line-numbered transcript so the model can choose useful moments from context. | | `transcript_words_window` | Return word-level timing for selected transcript lines when sub-line trimming is needed. | | `open_recording` | Open a recording in the transcript editor with suggested line ranges for review and trimming. | | `moments_create` | Create a saved moment from an explicit time range or transcript unit selection. | | `clips_create` | Commit a chosen moment as a durable clip. | | `clips_export` | Trigger the render queue to export a captioned MP4. | | `clips_get_status` | Check whether an export is queued, rendering, ready, or failed. | | `clips_get_download_url` | Return a short-lived download URL for a completed export. | | `clips_compose` | Stitch spans from one or more recordings into a single clip. | | `publishing_publish_approval` | Publish a package only after the user has reviewed it and explicitly asks to publish. | | `account_get_credit_balance` | Check plan credits and subscription limits. | ## Host Bridge BitterClip renders rich custom elements inside sandboxed iframes. The widget communicates with its host through a standardized `hostActions` API contract. Every component speaks `hostActions`, not host-specific globals such as `window.openai`, raw `postMessage`, or direct `fetch`. This keeps the component portable across the web app, ChatGPT, Claude, and demo surfaces. Canonical event chain: 1. State change: the component updates its own view first. 2. Event: the component announces what happened. 3. Tell the model: `hostActions.updateModelContext` keeps the AI in the loop. 4. Call the tool: `hostActions.callTool` does backend work. 5. Or say it: `hostActions.sendMessage` starts a new model turn when that is simpler. ## Connecting BitterClip BitterClip connects as a remote MCP server: a hosted endpoint with sign-in. It does not require local setup, config files, or local processes. Claude users can add BitterClip as a Connector and sign in. During development, ChatGPT users can connect the remote MCP server in Developer Mode and sign in. After review and publication, users can enable the BitterClip app with the same tools and editor. Account creation, plan management, and checkout stay on BitterClip's own domain. The ChatGPT app should focus on source-linked clipping, exports, and explicit publishing approvals. ## Privacy Policy BitterClip's public privacy policy is available at: ```text https://bitterclip.com/privacy ``` Markdown version: ```text https://bitterclip.com/privacy.md ``` The policy covers the public site, hosted app, AI assistant connector surfaces, and publishing integrations. It describes account and contact data, workspace media and transcripts, clips, exports, connector tokens, publishing receipts, billing and plan information, logs, analytics, provider processing, sharing, retention, deletion, security, and user choices. ## Terms Of Service BitterClip's public terms of service are available at: ```text https://bitterclip.com/terms ``` Markdown version: ```text https://bitterclip.com/terms.md ``` The terms cover use of the public site, hosted app, AI assistant connector surfaces, and publishing integrations. They describe account responsibility, workspace media rights, publishing integrations, billing and plans, acceptable use, service changes, availability, disclaimers, liability, and contact. ## Repository Boundary The public repository at https://github.com/sheetgenius/bitterclip-marketing owns the public BitterClip website, product copy, public documentation pages, Markdown mirrors, sitemap, README, changelog, and deployment wrapper. It is not the private BitterClip product application, Rails workspace, media-processing backend, billing system, customer data store, provider payload store, or private operational runbook repository. Public repository context is intentionally factual and durable so humans, search engines, and AI systems can understand what BitterClip is and how it connects to the Bitter constellation.