### Install Development Dependencies Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Installs the necessary dependencies for development using `uv`. ```bash uv sync --dev ``` -------------------------------- ### Install Otter.ai CLI Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Use this command to install the Otter.ai CLI tool. Ensure you have uv installed. ```bash uv tool install otterai-cli ``` -------------------------------- ### AI Agent Workflow Example Source: https://context7.com/erickhchan/otterai-cli/llms.txt Automate finding, downloading, and processing meeting transcripts using CLI commands and jq. ```bash # Step 1: Find last week's standup meeting OTID=$(otter speeches list --days 7 --json | jq -r '.speeches[] | select(.title | test("standup"; "i")) | .otid' | head -1) # Step 2: Download as markdown for processing otter speeches download "$OTID" --format md --output standup.md # Step 3: Or get full transcript data for analysis otter speeches get "$OTID" --json | jq '.speech.transcripts[] | "\(.speaker_name): \(.transcript)"' # Step 4: Search for specific topics otter speeches search "action items" "$OTID" --json # Bulk export all transcripts as markdown otter speeches list --json | jq -r '.speeches[].otid' | while read otid; do otter speeches download "$otid" --format md done ``` -------------------------------- ### AI Agent Workflow Example Source: https://context7.com/erickhchan/otterai-cli/llms.txt Demonstrates a complete workflow for AI agents to find and process meeting transcripts using the CLI. ```APIDOC ## AI Agent Workflow Example ### Description Complete workflow for AI agents to find and process meeting transcripts. ### Steps #### Step 1: Find last week's standup meeting Uses `otter speeches list` with a date filter and `jq` to extract the `otid` of the most recent meeting titled 'standup'. ```bash OTID=$(otter speeches list --days 7 --json | jq -r '.speeches[] | select(.title | test("standup"; "i")) | .otid' | head -1) ``` #### Step 2: Download as markdown for processing Downloads the identified meeting transcript as a markdown file. ```bash otter speeches download "$OTID" --format md --output standup.md ``` #### Step 3: Get full transcript data for analysis Retrieves the full transcript data in JSON format and processes it to show speaker and transcript text. ```bash otter speeches get "$OTID" --json | jq '.speech.transcripts[] | "\(.speaker_name): \(.transcript)"' ``` #### Step 4: Search for specific topics Searches within the specified meeting transcript for "action items" and outputs results in JSON format. ```bash otter speeches search "action items" "$OTID" --json ``` #### Bulk export all transcripts as markdown Iterates through all speeches, downloads each as markdown. ```bash otter speeches list --json | jq -r '.speeches[].otid' | while read otid; do otter speeches download "$otid" --format md done ``` ``` -------------------------------- ### Agent Workflow Example: Find and Download Transcript Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md A multi-step bash script demonstrating an AI agent workflow: finding a specific meeting transcript using `jq` and then downloading it as markdown. ```bash # Step 1: List recent meetings as JSON, filter by title OTID=$(otter speeches list --days 7 --json | jq -r '.speeches[] | select(.title | test("standup"; "i")) | .otid' | head -1) # Step 2: Download the transcript otter speeches download "$OTID" --format md --output standup.md # Step 3: Or get full transcript data for further processing otter speeches get "$OTID" --json | jq '.transcripts[] | .speaker + ": " + .text' ``` -------------------------------- ### Error Message Example Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md An example of an error message displayed by the CLI when authentication is required. It suggests running 'otter login' or setting environment variables. ```text Error: Authentication required. Run 'otter login' or set OTTERAI_USERNAME and OTTERAI_PASSWORD. ``` -------------------------------- ### Run Otter CLI without Installation Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Executes the otter command directly using uvx without installing the package globally. ```bash uvx --from otterai-cli otter --help ``` -------------------------------- ### Get a transcript Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Identify a speech ID via listing and retrieve the full transcript content. ```bash otter speeches list --days 1 # find the speech ID otter speeches get SPEECH_ID # get full transcript ``` -------------------------------- ### Get Speech Details Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Retrieves details and the full transcript for a specific speech using its OTID. ```bash otter speeches get SPEECH_ID # get speech details + transcript ``` ```bash otter speeches get OTID --json ``` -------------------------------- ### GET /user Source: https://context7.com/erickhchan/otterai-cli/llms.txt Displays information about the currently authenticated user. ```APIDOC ## GET /user ### Description Displays information about the currently authenticated user. ### Method GET ### Endpoint otter user ### Response #### Success Response (200) - **userid** (integer) - User ID - **email** (string) - User email address - **first_name** (string) - User first name - **last_name** (string) - User last name - **profile_photo_url** (string) - URL to profile photo #### Response Example { "userid": 12345678, "email": "you@example.com", "first_name": "John", "last_name": "Doe", "profile_photo_url": "https://..." } ``` -------------------------------- ### Upgrade Otter.ai CLI Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Use this command to upgrade the Otter.ai CLI to the latest version. Ensure you have uv installed. ```bash uv tool upgrade otterai-cli ``` -------------------------------- ### Get JSON Output for Speeches Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists speeches and provides the output in JSON format for machine-readable processing. ```bash otter speeches list --json ``` -------------------------------- ### GET /speeches/{otid} Source: https://context7.com/erickhchan/otterai-cli/llms.txt Retrieve full speech details including the complete transcript with speaker labels. ```APIDOC ## GET /speeches/{otid} ### Description Retrieve full speech details including the complete transcript with speaker labels. The SPEECH_ID argument must be the otid. ### Method GET ### Endpoint otter speeches get {otid} ### Parameters #### Path Parameters - **otid** (string) - Required - The unique ID of the speech #### Query Parameters - **json** (boolean) - Optional - Return output in JSON format ### Response #### Success Response (200) - **speech** (object) - Detailed speech information including transcripts #### Response Example { "speech": { "otid": "jqb7OHo6mrHtCuMkyLN0nUS8mxY", "speech_id": "22WB27HAEBEJYFCA", "title": "Weekly Standup", "summary": "Discussed sprint progress and blockers...", "created_at": 1708423200, "duration": 1800, "speakers": [{"speaker_id": 1, "speaker_name": "Alice"}], "transcripts": [ { "uuid": "abc123", "speaker_name": "Alice", "transcript": "Let's go over the sprint updates.", "start_offset": 0, "end_offset": 4500 } ] } } ``` -------------------------------- ### JSON Output Schema for Speech Get Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Shows the JSON structure for a full speech object, including transcript segments with speaker information, text, and timestamps, as returned by `otter speeches get SPEECH_ID --json`. ```json { "speech": { "otid": "jqb7OHo6mrHtCuMkyLN0nUS8mxY", "title": "Weekly Standup", "summary": "Discussed sprint progress and blockers...", "transcripts": [ { "speaker": "Alice", "text": "Let's go over the sprint updates.", "start_offset": 0, "end_offset": 4500 } ] } } ``` -------------------------------- ### Get speech details and transcript Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Retrieves detailed information and the full transcript for a given speech ID. JSON output is available. ```bash otter speeches get SPEECH_ID ``` ```bash otter speeches get SPEECH_ID --json ``` -------------------------------- ### GET /speeches Source: https://context7.com/erickhchan/otterai-cli/llms.txt Lists meeting transcripts with filtering options for days, folder, source, and pagination. ```APIDOC ## GET /speeches ### Description List meeting transcripts with filtering options for days, folder, source, and pagination. Returns speech metadata including otid, title, creation time, duration, and speakers. ### Method GET ### Endpoint otter speeches list ### Parameters #### Query Parameters - **days** (integer) - Optional - Filter speeches from the last N days - **folder** (string/integer) - Optional - Filter by folder name or ID - **source** (string) - Optional - Filter by source (owned, shared, or all) - **page-size** (integer) - Optional - Limit the number of results - **json** (boolean) - Optional - Return output in JSON format ### Response #### Success Response (200) - **speeches** (array) - List of speech objects #### Response Example { "speeches": [ { "otid": "jqb7OHo6mrHtCuMkyLN0nUS8mxY", "speech_id": "22WB27HAEBEJYFCA", "title": "Weekly Standup", "created_at": 1708423200, "duration": 1800, "summary": "Discussed sprint progress and blockers...", "folder": {"id": 12345, "folder_name": "Work"}, "speakers": [{"speaker_name": "Alice"}, {"speaker_name": "Bob"}] } ] } ``` -------------------------------- ### Get Speech Details Source: https://context7.com/erickhchan/otterai-cli/llms.txt Retrieve full speech details including the transcript with speaker labels. The SPEECH_ID must be the otid. Use --json for machine-readable output. ```bash otter speeches get jqb7OHo6mrHtCuMkyLN0nUS8mxY ``` ```bash # Output: # Title: Weekly Standup # ID (otid): jqb7OHo6mrHtCuMkyLN0nUS8mxY # Created: Mon Feb 20, 2025 @ 10:00AM (1708423200) # Duration: 30m (1800s) # Folder: Work (ID: 12345) # Speakers: Alice, Bob # # Transcript: # ---------------------------------------- # [Alice]: Let's go over the sprint updates. # [Bob]: I finished the authentication module yesterday. ``` ```bash otter speeches get jqb7OHo6mrHtCuMkyLN0nUS8mxY --json ``` ```bash # JSON output structure: # { # "speech": { # "otid": "jqb7OHo6mrHtCuMkyLN0nUS8mxY", # "speech_id": "22WB27HAEBEJYFCA", # "title": "Weekly Standup", # "summary": "Discussed sprint progress and blockers...", # "created_at": 1708423200, # "duration": 1800, # "speakers": [{"speaker_id": 1, "speaker_name": "Alice"}], # "transcripts": [ # { # "uuid": "abc123", # "speaker_name": "Alice", # "transcript": "Let's go over the sprint updates.", # "start_offset": 0, # "end_offset": 4500 # } # ] # } # } ``` ```bash otter speeches get OTID --json | jq -r '.speech.transcripts[] | "\(.speaker_name): \(.transcript)"' ``` -------------------------------- ### Get Full Transcript (JSON) Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Retrieves the full details of a specific speech, including transcript segments, in JSON format. Replace OTID with the actual speech ID. ```bash otter speeches get OTID --json ``` -------------------------------- ### Get speech OTIDs using jq Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md A command to extract speech OTIDs (the identifier used by the CLI) from JSON output, useful for scripting. ```bash otter speeches list --json | jq '.speeches[].otid' ``` -------------------------------- ### Show CLI Configuration Source: https://context7.com/erickhchan/otterai-cli/llms.txt Display the current CLI configuration, including credential storage backend. ```bash otter config show # Output: # Config file: /Users/you/.otterai/config.json # Config exists: False # Backend: keyring # Username: you@example.com # Password: ******** ``` -------------------------------- ### Create Folder Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Creates a new folder with a given name. ```bash otter folders create NAME ``` -------------------------------- ### Organize meetings into folders Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Create a new folder and move a specific speech into it. ```bash otter folders create "Q1 Planning" otter speeches move SPEECH_ID --folder "Q1 Planning" ``` -------------------------------- ### Create a folder Source: https://context7.com/erickhchan/otterai-cli/llms.txt Create a new folder for organizing speeches. Supports JSON output. ```bash otter folders create "Q1 Planning" ``` ```bash otter folders create "Q1 Planning" --json ``` -------------------------------- ### List folders Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Lists all available folders. Supports JSON output. ```bash otter folders list ``` ```bash otter folders list --json ``` -------------------------------- ### Create a New Folder Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Creates a new folder with the specified name. ```bash otter folders create "My Folder" ``` -------------------------------- ### Create a folder Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Creates a new folder with a specified name. Supports JSON output for the creation response. ```bash otter folders create "My Folder" ``` ```bash otter folders create "My Folder" --json ``` -------------------------------- ### Basic CLI Commands Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Provides a quick reference for common otterai-cli tasks, including listing meetings, searching transcripts, downloading files, and retrieving speech details. ```bash # List recent meetings (JSON for easy parsing) otter speeches list --days 7 --json ``` ```bash # Search within a specific meeting transcript otter speeches search "action items" SPEECH_ID ``` ```bash # Download a transcript as markdown otter speeches download SPEECH_ID --format md ``` ```bash # Get full speech details and transcript otter speeches get SPEECH_ID --json ``` ```bash # List all folders and speakers otter folders list --json otter speakers list --json ``` -------------------------------- ### Download Markdown with Specific Frontmatter Fields Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Demonstrates downloading a speech as markdown and specifying exact fields for the YAML frontmatter, in a custom order. ```bash otter speeches download SPEECH_ID --format md --frontmatter-fields "title,speech_id,summary" ``` -------------------------------- ### Configuration - Show Config Source: https://context7.com/erickhchan/otterai-cli/llms.txt Displays the current configuration settings of the Otter.ai CLI, including credential storage details. ```APIDOC ## Configuration - Show Config ### Description Display current CLI configuration including credential storage backend. ### Method CLI Command ### Endpoint N/A (CLI command) ### Request Example ```bash otter config show ``` ### Response #### Success Response Shows the configuration file path, whether a config exists, the backend used for credentials, username, and password (masked). #### Response Example ``` Config file: /Users/you/.otterai/config.json Config exists: False Backend: keyring Username: you@example.com Password: ******** ``` ``` -------------------------------- ### Download as PDF Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Export a specific speech transcript to PDF format. ```bash otter speeches list # find the speech ID otter speeches download SPEECH_ID -f pdf ``` -------------------------------- ### Create Speaker via CLI Source: https://context7.com/erickhchan/otterai-cli/llms.txt Create a new speaker profile for tagging transcript segments. ```bash otter speakers create "New Team Member" # Output: # Speaker 'New Team Member' created. # { # "speaker": { # "speaker_id": 100004, # "speaker_name": "New Team Member" # } # } ``` -------------------------------- ### Show Otter.ai CLI configuration Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Displays the current configuration settings for the Otter.ai CLI. ```bash otter config show ``` -------------------------------- ### Run Tests Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Executes the test suite using `uv` to manage the Python environment. ```bash uv run pytest ``` -------------------------------- ### List Speakers via CLI Source: https://context7.com/erickhchan/otterai-cli/llms.txt Retrieve a list of all speakers in the account, with optional JSON output. ```bash otter speakers list # Output: # Found 5 speakers: # # 100001 Alice Johnson # 100002 Bob Smith # 100003 Charlie Brown # JSON output otter speakers list --json # JSON output structure: # { # "speakers": [ # {"speaker_id": 100001, "speaker_name": "Alice Johnson"}, # {"speaker_id": 100002, "speaker_name": "Bob Smith"} # ] # } ``` -------------------------------- ### Download as markdown Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Export a specific speech transcript to markdown format. ```bash otter speeches list # find the speech ID otter speeches download SPEECH_ID -f md ``` -------------------------------- ### Create a speaker Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Creates a new speaker with a given name. ```bash otter speakers create "Speaker Name" ``` -------------------------------- ### List Groups via CLI Source: https://context7.com/erickhchan/otterai-cli/llms.txt List all groups associated with the Otter.ai account. ```bash otter groups list # Output: # Found 2 groups: # 1. Engineering Team (id: 5001) # 2. Product Team (id: 5002) # JSON output otter groups list --json ``` -------------------------------- ### List Groups Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists all available groups. Can output in JSON format. ```bash otter groups list --json ``` -------------------------------- ### Download Audio Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Downloads the audio recording of a meeting in MP3 format. Replace OTID with the speech ID. ```bash otter speeches download OTID -f mp3 ``` -------------------------------- ### List Folders (JSON) Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists all available folders in Otter.ai and outputs the result as a JSON array. This is useful for managing transcript organization programmatically. ```bash otter folders list --json ``` -------------------------------- ### Authentication via Environment Variables Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Configures authentication for automated environments like CI or AI agents by setting username and password using environment variables. This bypasses the interactive login prompt. ```bash export OTTERAI_USERNAME="you@example.com" export OTTERAI_PASSWORD="your-password" otter speeches list --json # no login prompt needed ``` -------------------------------- ### Show current user Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Displays information about the currently authenticated user. ```bash otter user ``` -------------------------------- ### Upload Audio File Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Uploads an audio file for transcription. ```bash otter speeches upload recording.mp4 ``` ```bash otter speeches upload FILE ``` -------------------------------- ### Download Transcript as Text Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Downloads a meeting transcript and saves it as a plain text file. Replace OTID with the speech ID. ```bash otter speeches download OTID -f txt ``` -------------------------------- ### List Speakers Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists all available speakers. Can output in JSON format. ```bash otter speakers list # list all speakers ``` ```bash otter speakers list --json ``` -------------------------------- ### Authentication Commands Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Provides commands to check the current user and log out, managing authentication credentials. ```bash otter user # check current user ``` ```bash otter logout # remove saved credentials ``` -------------------------------- ### List groups Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Lists available groups. Supports JSON output. ```bash otter groups list ``` ```bash otter groups list --json ``` -------------------------------- ### Download Transcript as Markdown Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Downloads a meeting transcript and saves it as a markdown file. Replace OTID with the speech ID and optionally specify an output file name. ```bash otter speeches download OTID -f md ``` -------------------------------- ### List Folders Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Retrieves a list of all folders in your Otter.ai account. ```bash otter folders list ``` -------------------------------- ### Download Speech with No Frontmatter Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Use the `--frontmatter-fields none` option to download a speech in markdown format without any YAML frontmatter. ```bash otter speeches download SPEECH_ID --format md --frontmatter-fields none ``` -------------------------------- ### Upload audio for transcription Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Uploads an audio file for transcription by Otter.ai. ```bash otter speeches upload recording.mp4 ``` -------------------------------- ### Download Meeting Notes as Markdown Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Downloads a meeting's transcript as a markdown file, including YAML frontmatter with metadata like title, summary, and timestamps. Customize frontmatter fields using the `--frontmatter-fields` option. ```bash otter speeches download SPEECH_ID --format md ``` -------------------------------- ### Download speech with specific frontmatter fields Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Downloads a speech in markdown format, customizing the included YAML frontmatter fields. Use 'none' to disable frontmatter. ```bash otter speeches download SPEECH_ID -f md --frontmatter-fields "title,speech_id,summary" ``` ```bash otter speeches download SPEECH_ID -f md --frontmatter-fields none ``` -------------------------------- ### Programmatic Access with OtterAIClient Source: https://context7.com/erickhchan/otterai-cli/llms.txt Use the Python client for direct programmatic interaction with Otter.ai services. ```python from otterai.client import OtterAIClient, OtterAIError # Initialize and authenticate client = OtterAIClient() result = client.login("you@example.com", "your-password") if result["status"] != 200: raise Exception(f"Login failed: {result}") # List speeches speeches = client.get_speeches(folder=0, page_size=10, source="owned") for speech in speeches["data"]["speeches"]: print(f"{speech['otid']}: {speech['title']}") # Get a specific speech with full transcript speech = client.get_speech("jqb7OHo6mrHtCuMkyLN0nUS8mxY") for t in speech["data"]["speech"]["transcripts"]: print(f"[{t['speaker_name']}]: {t['transcript']}") # Search within a speech results = client.query_speech("action items", "OTID", size=100) # Download transcript client.download_speech("OTID", name="meeting", fileformat="pdf") # Upload audio for transcription client.upload_speech("recording.mp4", content_type="audio/mp4") # Folder operations client.get_folders() client.create_folder("New Folder") client.rename_folder(folder_id="12345", new_name="Renamed Folder") client.add_folder_speeches(folder_id="12345", speech_ids=["OTID1", "OTID2"]) # Speaker operations client.get_speakers() client.create_speaker("New Speaker") client.set_transcript_speaker( speech_id="OTID", transcript_uuid="uuid-here", speaker_id="100001", speaker_name="Alice" ) # Other operations client.get_user() client.list_groups() client.set_speech_title("OTID", "New Title") client.move_to_trash_bin("OTID") ``` -------------------------------- ### Python Client API - OtterAIClient Source: https://context7.com/erickhchan/otterai-cli/llms.txt Provides methods for programmatic access to Otter.ai services using the Python client library. ```APIDOC ## Python Client API - OtterAIClient ### Description The underlying Python client can be used directly for programmatic access. ### Initialization ```python from otterai.client import OtterAIClient, OtterAIError # Initialize and authenticate client = OtterAIClient() result = client.login("you@example.com", "your-password") if result["status"] != 200: raise Exception(f"Login failed: {result}") ``` ### Methods #### Speeches - **get_speeches(folder=0, page_size=10, source="owned")**: Lists speeches, with options for folder, page size, and source. - **get_speech(speech_id)**: Retrieves a specific speech with its full transcript. - **download_speech(speech_id, name, fileformat)**: Downloads a speech in a specified format. - **upload_speech(file_path, content_type)**: Uploads audio for transcription. - **set_speech_title(speech_id, new_title)**: Sets a new title for a speech. - **move_to_trash_bin(speech_id)**: Moves a speech to the trash bin. #### Search - **query_speech(query, speech_id, size=100)**: Searches within a specific speech for a given query. #### Folder Operations - **get_folders()**: Retrieves a list of folders. - **create_folder(folder_name)**: Creates a new folder. - **rename_folder(folder_id, new_name)**: Renames an existing folder. - **add_folder_speeches(folder_id, speech_ids)**: Adds speeches to a folder. #### Speaker Operations - **get_speakers()**: Retrieves a list of speakers. - **create_speaker(speaker_name)**: Creates a new speaker profile. - **set_transcript_speaker(speech_id, transcript_uuid, speaker_id, speaker_name)**: Tags a transcript segment with a speaker. #### Other Operations - **get_user()**: Retrieves information about the current user. - **list_groups()**: Lists available groups. ### Usage Examples ```python # List speeches speeches = client.get_speeches(folder=0, page_size=10, source="owned") for speech in speeches["data"]["speeches"]: print(f"{speech['otid']}: {speech['title']}") # Get a specific speech with full transcript speech = client.get_speech("jqb7OHo6mrHtCuMkyLN0nUS8mxY") for t in speech["data"]["speech"]["transcripts"]: print(f"[{t['speaker_name']}]: {t['transcript']}") # Search within a speech results = client.query_speech("action items", "OTID", size=100) # Download transcript client.download_speech("OTID", name="meeting", fileformat="pdf") # Upload audio for transcription client.upload_speech("recording.mp4", content_type="audio/mp4") # Folder operations client.get_folders() client.create_folder("New Folder") client.rename_folder(folder_id="12345", new_name="Renamed Folder") client.add_folder_speeches(folder_id="12345", speech_ids=["OTID1", "OTID2"]) # Speaker operations client.get_speakers() client.create_speaker("New Speaker") client.set_transcript_speaker( speech_id="OTID", transcript_uuid="uuid-here", speaker_id="100001", speaker_name="Alice" ) # Other operations client.get_user() client.list_groups() client.set_speech_title("OTID", "New Title") client.move_to_trash_bin("OTID") ``` ``` -------------------------------- ### Filter by folder Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md List speeches contained within a specific folder. ```bash otter speeches list --folder "Work" ``` -------------------------------- ### Authenticate with Otter.ai CLI Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Authenticate your CLI session with Otter.ai. This command saves credentials to your OS keychain or a fallback config file. ```bash otter login ``` -------------------------------- ### Download speech in various formats Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Downloads a speech in specified formats (txt, pdf, mp3, docx, srt, md). Supports custom output filenames and frontmatter fields for markdown. ```bash otter speeches download SPEECH_ID -f txt ``` ```bash otter speeches download SPEECH_ID -f pdf -o my_file ``` ```bash otter speeches download SPEECH_ID -f md ``` ```bash otter speeches download SPEECH_ID -f md -o meeting-notes ``` ```bash otter speeches download SPEECH_ID -f md --frontmatter-fields "title,summary,speakers" ``` ```bash otter speeches download SPEECH_ID -f md --frontmatter-fields none ``` -------------------------------- ### Bulk Export All Transcripts Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md This script iterates through all speech IDs, downloads each as a markdown file, and saves them. It requires `jq` to parse the JSON output. ```bash otter speeches list --json | jq -r '.speeches[].otid' | while read otid; do otter speeches download "$otid" --format md done ``` -------------------------------- ### Clear CLI Configuration Source: https://context7.com/erickhchan/otterai-cli/llms.txt Remove saved configuration and credentials from the local environment. ```bash otter config clear # Output: # Configuration cleared. ``` -------------------------------- ### Search for a topic across meetings Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Locate relevant speech IDs using JSON output and perform a keyword search within a specific speech. ```bash otter speeches list --days 30 --json # find relevant speech IDs otter speeches search "budget" SPEECH_ID ``` -------------------------------- ### Configuration - Clear Config Source: https://context7.com/erickhchan/otterai-cli/llms.txt Clears all saved configuration and credentials from the Otter.ai CLI. ```APIDOC ## Configuration - Clear Config ### Description Clear saved configuration and credentials. ### Method CLI Command ### Endpoint N/A (CLI command) ### Request Example ```bash otter config clear ``` ### Response #### Success Response Confirms that the configuration has been cleared. #### Response Example ``` Configuration cleared. ``` ``` -------------------------------- ### Download speech transcripts Source: https://context7.com/erickhchan/otterai-cli/llms.txt Download transcripts in various formats or audio as MP3. Supports custom filenames and configurable Markdown frontmatter. ```bash otter speeches download jqb7OHo6mrHtCuMkyLN0nUS8mxY --format txt ``` ```bash otter speeches download OTID --format pdf ``` ```bash otter speeches download OTID --format mp3 ``` ```bash otter speeches download OTID --format docx ``` ```bash otter speeches download OTID --format srt ``` ```bash otter speeches download OTID --format txt --output meeting-notes ``` ```bash otter speeches download OTID --format md ``` ```bash otter speeches download OTID --format md --frontmatter-fields "title,summary,speakers" ``` ```bash otter speeches download OTID --format md --frontmatter-fields none ``` -------------------------------- ### Search in Meeting Transcript Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Searches for specific keywords or phrases within a meeting transcript. Replace OTID with the speech ID and "query" with the search term. ```bash otter speeches search "query" OTID ``` -------------------------------- ### List Speeches Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists all speeches. Supports filtering by days, folder, page size, source, and output format. ```bash otter speeches list ``` ```bash otter speeches list --days 7 # last 7 days ``` ```bash otter speeches list --folder "Work" # by folder name ``` ```bash otter speeches list --page-size 10 --source owned ``` -------------------------------- ### List Speakers (JSON) Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists all speakers identified in Otter.ai meetings and outputs the result as a JSON array. This can be used to manage speaker information. ```bash otter speakers list --json ``` -------------------------------- ### Move a speech to trash Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Moves a speech to the trash. Includes an option to skip confirmation. ```bash otter speeches trash SPEECH_ID ``` ```bash otter speeches trash SPEECH_ID --yes ``` -------------------------------- ### Rename Folder via CLI Source: https://context7.com/erickhchan/otterai-cli/llms.txt Rename an existing folder by providing its ID and the new name. ```bash otter folders rename 12345 "Q2 Planning" # Output: # Renamed folder 12345 to 'Q2 Planning' ``` -------------------------------- ### List Recent Meetings (JSON) Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Lists recent meetings within the last 7 days and outputs the result as a JSON array. This is useful for programmatic parsing by scripts or AI agents. ```bash otter speeches list --days 7 --json ``` -------------------------------- ### List all speeches Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Lists all meeting speeches. Supports filtering by days, folder name or ID, page size, and source (owned, shared, all). JSON output is available. ```bash otter speeches list ``` ```bash otter speeches list --days 7 ``` ```bash otter speeches list --folder "Work" ``` ```bash otter speeches list --folder 123456 ``` ```bash otter speeches list --page-size 10 ``` ```bash otter speeches list --source owned ``` ```bash otter speeches list --source shared ``` ```bash otter speeches list --source all ``` ```bash otter speeches list --json ``` -------------------------------- ### Move speeches to a folder Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Moves one or more speeches to a specified folder. Supports auto-creating the folder if it doesn't exist. ```bash otter speeches move SPEECH_ID --folder "Work" ``` ```bash otter speeches move ID1 ID2 ID3 --folder "Work" ``` ```bash otter speeches move SPEECH_ID --folder "New Folder" --create ``` -------------------------------- ### Clear Otter.ai CLI configuration Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Clears all configuration settings for the Otter.ai CLI. ```bash otter config clear ``` -------------------------------- ### List Groups Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Retrieves a list of all groups in your Otter.ai account. ```bash otter groups list ``` -------------------------------- ### List All Speakers Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Retrieves a list of all speakers associated with your Otter.ai account. ```bash otter speakers list ``` -------------------------------- ### Rename a speech Source: https://context7.com/erickhchan/otterai-cli/llms.txt Update the title of an existing speech. ```bash otter speeches rename jqb7OHo6mrHtCuMkyLN0nUS8mxY "Q1 Planning Session" ``` -------------------------------- ### Log out from Otter.ai CLI Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Clears the current authentication credentials. ```bash otter logout ``` -------------------------------- ### JSON Output Schema for Speeches List Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Illustrates the JSON structure returned by the `otter speeches list --json` command, detailing fields like OTID, title, creation date, and folder. ```json { "speeches": [ { "otid": "jqb7OHo6mrHtCuMkyLN0nUS8mxY", "speech_id": "22WB27HAEBEJYFCA", "title": "Weekly Standup", "created_at": "2025-02-20T10:00:00Z", "summary": "Discussed sprint progress and blockers...", "folder": "Work", "folder_id": "12345" } ] } ``` -------------------------------- ### Download Speech Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Downloads a speech transcript or audio in various formats. Supports specifying output file name and frontmatter fields for markdown. ```bash otter speeches download SPEECH_ID --format txt ``` ```bash otter speeches download SPEECH_ID --format md ``` ```bash otter speeches download SPEECH_ID --format md --output meeting-notes ``` ```bash otter speeches download SPEECH_ID --format md --frontmatter-fields "title,summary,speakers,start_time,end_time,duration_seconds,source,speech_id,folder,folder_id" ``` ```bash otter speeches download OTID --format txt\|pdf\|md\|docx\|srt\|mp3 --output NAME --frontmatter-fields FIELDS ``` -------------------------------- ### Rename a folder Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Renames an existing folder to a new name. ```bash otter folders rename FOLDER_ID "New Name" ``` -------------------------------- ### Tag Transcript Segments via CLI Source: https://context7.com/erickhchan/otterai-cli/llms.txt List or assign speaker identities to transcript segments using UUIDs. ```bash # List available transcript segments to tag otter speakers tag jqb7OHo6mrHtCuMkyLN0nUS8mxY 100001 # Output: # Available transcript segments in jqb7OHo6mrHtCuMkyLN0nUS8mxY: # # UUID: abc123-uuid-here # Speaker: Untagged # Text: Let's go over the sprint updates... # # UUID: def456-uuid-here # Speaker: Untagged # Text: I finished the authentication module... # # Use -t to tag a specific segment, or --all to tag all. # Tag a specific segment otter speakers tag OTID 100001 --transcript-uuid abc123-uuid-here # Output: Tagged segment abc123-uuid-here as 'Alice Johnson' # Tag all segments with the same speaker otter speakers tag OTID 100001 --all # Output: Tagged 5/5 segments as 'Alice Johnson' # JSON output for segment listing otter speakers tag OTID 100001 --json ``` -------------------------------- ### Search for a term in a speech Source: https://context7.com/erickhchan/otterai-cli/llms.txt Search for specific terms within a speech transcript. Use the --size flag to increase results or --json for machine-readable output. ```bash otter speeches search "action items" jqb7OHo6mrHtCuMkyLN0nUS8mxY ``` ```bash otter speeches search "budget" OTID --size 100 ``` ```bash otter speeches search "action items" OTID --json ``` -------------------------------- ### Rename Folder Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Renames an existing folder using its ID and a new name. ```bash otter folders rename ID NAME ``` -------------------------------- ### Groups - List All Groups Source: https://context7.com/erickhchan/otterai-cli/llms.txt Lists all groups within your Otter.ai account. ```APIDOC ## Groups - List All Groups ### Description List all groups in your Otter.ai account. ### Method CLI Command ### Endpoint N/A (CLI command) ### Parameters #### Query Parameters - **--json** (boolean) - Optional - Output the list in JSON format. ### Request Example ```bash otter groups list ``` ### Request Example (JSON) ```bash otter groups list --json ``` ### Response #### Success Response Lists the groups with their names and IDs. JSON output provides a structured list. #### Response Example (Text) ``` Found 2 groups: 1. Engineering Team (id: 5001) 2. Product Team (id: 5002) ``` #### Response Example (JSON) ```json { "groups": [ {"group_id": 5001, "group_name": "Engineering Team"}, {"group_id": 5002, "group_name": "Product Team"} ] } ``` ``` -------------------------------- ### List recent meetings Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Retrieve a list of recent speeches within a specified number of days. ```bash otter speeches list --days 7 ``` -------------------------------- ### List speakers Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Lists speakers associated with speeches. Supports JSON output. ```bash otter speakers list ``` ```bash otter speakers list --json ``` -------------------------------- ### Speakers - Create Speaker Source: https://context7.com/erickhchan/otterai-cli/llms.txt Creates a new speaker profile for tagging transcript segments. ```APIDOC ## Speakers - Create Speaker ### Description Create a new speaker profile for tagging transcript segments. ### Method CLI Command ### Endpoint N/A (CLI command) ### Parameters #### Path Parameters - **speaker_name** (string) - Required - The name of the new speaker. ### Request Example ```bash otter speakers create "New Team Member" ``` ### Response #### Success Response Confirms the speaker has been created and returns the speaker's details. #### Response Example ```json { "speaker": { "speaker_id": 100004, "speaker_name": "New Team Member" } } ``` ``` -------------------------------- ### Search Speech Transcript Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Searches for a query within a specific speech transcript using its OTID. ```bash otter speeches search "keyword" SPEECH_ID # search within a speech ``` ```bash otter speeches search QUERY OTID --json ``` -------------------------------- ### Rename Speech Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Renames a speech using its OTID and a new title. ```bash otter speeches rename SPEECH_ID "New Title" ``` ```bash otter speeches rename OTID TITLE ``` -------------------------------- ### Trash Speech Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Moves a specified speech to the trash using its OTID. ```bash otter speeches trash SPEECH_ID ``` ```bash otter speeches trash OTID ``` -------------------------------- ### Speakers - List All Speakers Source: https://context7.com/erickhchan/otterai-cli/llms.txt Lists all speakers associated with your Otter.ai account, including their IDs. ```APIDOC ## Speakers - List All Speakers ### Description List all speakers in your Otter.ai account with their IDs. ### Method CLI Command ### Endpoint N/A (CLI command) ### Parameters #### Query Parameters - **--json** (boolean) - Optional - Output the list in JSON format. ### Request Example ```bash otter speakers list ``` ### Request Example (JSON) ```bash otter speakers list --json ``` ### Response #### Success Response Lists speakers with their IDs and names. JSON output provides a structured list. #### Response Example (Text) ``` Found 5 speakers: 100001 Alice Johnson 100002 Bob Smith 100003 Charlie Brown ``` #### Response Example (JSON) ```json { "speakers": [ {"speaker_id": 100001, "speaker_name": "Alice Johnson"}, {"speaker_id": 100002, "speaker_name": "Bob Smith"} ] } ``` ``` -------------------------------- ### Rename a speech Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Renames a speech to a new title. ```bash otter speeches rename SPEECH_ID "New Title" ``` -------------------------------- ### Folders - Rename Folder Source: https://context7.com/erickhchan/otterai-cli/llms.txt Renames an existing folder in your Otter.ai account using its ID. ```APIDOC ## Folders - Rename Folder ### Description Rename an existing folder by ID. ### Method CLI Command ### Endpoint N/A (CLI command) ### Parameters #### Path Parameters - **folder_id** (string) - Required - The ID of the folder to rename. - **new_name** (string) - Required - The new name for the folder. ### Request Example ```bash otter folders rename 12345 "Q2 Planning" ``` ### Response #### Success Response Indicates the folder was successfully renamed. #### Response Example ``` Renamed folder 12345 to 'Q2 Planning' ``` ``` -------------------------------- ### Tag Speaker on Transcript Segments Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Assigns a speaker to specific transcript segments using the speech ID and speaker ID. The `--all` flag applies the tag to all segments. ```bash otter speakers tag SPEECH_ID SPEAKER_ID ``` ```bash otter speakers tag SPEECH_ID SPEAKER_ID --all ``` -------------------------------- ### Search within a speech Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Searches for a keyword within a specific speech. Supports limiting the number of results. ```bash otter speeches search "keyword" SPEECH_ID ``` ```bash otter speeches search "keyword" SPEECH_ID --size 100 ``` -------------------------------- ### Tag Speaker Source: https://github.com/erickhchan/otterai-cli/blob/main/README.md Tags speaker segments within a transcript. Supports tagging all segments with the `--all` flag. ```bash otter speakers tag OTID SPEAKER_ID --all ``` -------------------------------- ### Tag speech segments with a speaker Source: https://github.com/erickhchan/otterai-cli/blob/main/skills/otterai-cli/SKILL.md Tags speech segments with a speaker ID. Supports tagging specific segments or all segments. ```bash otter speakers tag SPEECH_ID SPEAKER_ID ``` ```bash otter speakers tag SPEECH_ID SPEAKER_ID -t UUID ``` ```bash otter speakers tag SPEECH_ID SPEAKER_ID --all ``` -------------------------------- ### Speakers - Tag Transcript Segments Source: https://context7.com/erickhchan/otterai-cli/llms.txt Tags transcript segments with speaker identities. Can list available segments or tag specific/all segments. ```APIDOC ## Speakers - Tag Transcript Segments ### Description Tag transcript segments with speaker identities. Without options, lists available segments to tag. ### Method CLI Command ### Endpoint N/A (CLI command) ### Parameters #### Path Parameters - **speech_id** (string) - Required - The ID of the speech containing the segments. - **speaker_id** (string) - Required - The ID of the speaker to tag the segments with. #### Query Parameters - **--transcript-uuid** (string) - Optional - The UUID of a specific transcript segment to tag. - **--all** (boolean) - Optional - Tag all available segments with the specified speaker. - **--json** (boolean) - Optional - Output the results in JSON format. ### Request Example (List Segments) ```bash otter speakers tag jqb7OHo6mrHtCuMkyLN0nUS8mxY 100001 ``` ### Request Example (Tag Specific Segment) ```bash otter speakers tag OTID 100001 --transcript-uuid abc123-uuid-here ``` ### Request Example (Tag All Segments) ```bash otter speakers tag OTID 100001 --all ``` ### Request Example (JSON Output) ```bash otter speakers tag OTID 100001 --json ``` ### Response #### Success Response Confirms the tagging operation and provides details on the segments tagged. #### Response Example (Tag Specific Segment) ``` Tagged segment abc123-uuid-here as 'Alice Johnson' ``` #### Response Example (Tag All Segments) ``` Tagged 5/5 segments as 'Alice Johnson' ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.