# Audio + transcript upload (/docs/context-capture/audio-upload)



Already have the recording? Upload an existing audio file or transcript into SageOx — from the web app or your terminal. Audio gets transcribed; a transcript skips straight to insight extraction.

When to use this [#when-to-use-this]

This is the path for content you already captured somewhere else. The other capture mechanisms cover live and video sources.

| You have                                  | Use this                                           | Not this  |
| ----------------------------------------- | -------------------------------------------------- | --------- |
| An MP3 exported from Zoom or a voice memo | Audio + transcript upload                          | —         |
| A VTT or SRT from Otter.ai, Zoom, or Meet | Audio + transcript upload (skips transcription)    | —         |
| A discussion happening right now          | [Console Recorder](/docs/context-capture/console)  | this page |
| A screen recording or video walkthrough   | [Video import](/docs/context-capture/video-import) | this page |

A pasted or uploaded transcript skips transcription but still runs through speaker handling and insight extraction.

Supported formats [#supported-formats]

| Type       | Formats                                 |
| ---------- | --------------------------------------- |
| Audio      | MP3, WAV, M4A, OGG, FLAC, AAC           |
| Transcript | VTT, SRT, TXT (skip transcription step) |
| Max size   | 500MB                                   |

<Callout type="info">
  Uploading a transcript skips transcription entirely. If you already have an accurate transcript, upload it instead of the audio — extraction starts immediately and you skip the transcription wait.
</Callout>

Upload from the web app [#upload-from-the-web-app]

The fastest path for a single file:

1. Go to your team's **Media** section
2. Click **Upload**
3. Drag and drop an audio file or transcript, or browse for it
4. Add a title and tag participants
5. Confirm to start processing

Processing starts automatically. You'll see progress in the pipeline view, and you can assign speakers to team members once transcription finishes.

Upload from the CLI [#upload-from-the-cli]

Import directly from your terminal without leaving your editor:

<Terminal>
  <TerminalComment>
    Upload an audio file
  </TerminalComment>

  <TerminalCommand>
    ox import recording.mp3 --title "Sprint Planning"
  </TerminalCommand>

  <TerminalComment>
    Upload an existing transcript (skips transcription)
  </TerminalComment>

  <TerminalCommand>
    ox import standup.vtt --title "Daily Standup"
  </TerminalCommand>

  <TerminalComment>
    Track processing progress
  </TerminalComment>

  <TerminalCommand>
    ox import --status rec_01234567 --watch
  </TerminalCommand>
</Terminal>

`ox import` accepts the same audio and transcript formats as the web app. See [Import via CLI](/docs/context-capture/video-import-cli) for all flags and options.

How processing works [#how-processing-works]

<Mermaid
  chart="graph LR
    A[&#x22;Upload&#x22;] --> B[&#x22;Transcribe&#x22;]
    B --> C[&#x22;Speaker ID&#x22;]
    C --> D[&#x22;Extract insights&#x22;]
    D --> E[&#x22;Team Context&#x22;]"
/>

Audio uploads run the full pipeline. Transcript uploads enter at the insight-extraction step, since the text already exists. Either way, the extracted decisions and action items commit to your [Team Context](/docs/features/team-context) for your AI coworkers to read.

What's next [#whats-next]

* [Console Recorder](/docs/context-capture/console) — record a live discussion in your browser
* [Video import](/docs/context-capture/video-import) — import Loom, Figma, and Cap recordings
* [Discussions](/docs/context-capture/discussions) — what discussions capture and how they're stored
* [Distillation](/docs/features/distill) — how recordings become team memory
