Oktapod Docs

Files, images, and voice

Share files and images, ask about them with citations, generate images and audio, and use voice notes.

You can give Oktapod images, PDFs, documents, audio, and video, ask questions about them, and get answers that point to the page or timestamp they came from. It can also generate images, video, and speech when you connect a service that offers them.

Share a file

On supported computers, uploaded media can be found later using a text description. Gemma indexes media separately while your text model stays XS or your explicit choice. Local indexing checks the file first, then covers audio in 15-second intervals and video in 10-second intervals, sampling one frame per second. Search results include the matching interval's timestamps. This covers files up to 256 MiB and at most 720 intervals per file; it requires ffmpeg and ffprobe. Sampled frames can miss brief visual events. Transcripts and summaries still help answer detailed questions about a recording. Deleting the source removes all of its intervals from search.

Tap + next to the message box. The same menu appears in every app: Camera takes a photo (phones only), Photos and Videos open your library, and Files opens any file, including audio. A photo you pick shows as a thumbnail in the message box, with × to remove it, and appears in your message after you send it. Other files show their name.

  • Web app: you can also paste, or drag files into the message box. Send waits until uploads finish.
  • Phone apps: add up to four attachments per message (20 MB each, 40 MB total). The apps only see what you pick or the photo you keep. Photos are shrunk to 2,560 pixels on their long side before sending, so they upload quickly.
  • Messaging channels: send the file or voice note as you normally would.

Then ask a clear question: "What are the payment terms in this contract?" or "Summarize the second half of this recording."

What happens to a file

  1. Oktapod checks the file type and size and runs a safety scan. A file that fails the scan is never used.
  2. It extracts what it can: text and page numbers from documents, a transcript from audio, sampled frames and a transcript from video, and a description of images when a capable service is connected.
  3. If your model can read the file directly, it gets the file. Otherwise it gets the extracted text or transcript, with citations.

When you send a file with a message, the reply waits while the file is read, for up to about a minute and a half, so the answer can use it. A scanned PDF, or one with almost no text, is read page by page as pictures; that needs a model that can read images. If reading takes longer, or a file cannot be read at all (for example a recording when no speech-to-text is set up), Oktapod says so instead of pretending it read it. Book-length documents are split into passages so an answer can reach the whole text, not just the beginning.

Keep or let go

Ordinary uploads follow normal retention and are cleaned up over time, so Oktapod is not a long-term file archive. Reference material uploaded with library retention is the exception: it does not expire, and it is searched only when you ask for it. See Memory and personality.

Review uploads under Settings → Apps & permissions → Files and media. You can inspect an item, see its processing status, retry a failed step, and delete it. Deleting stops any processing still queued for it. It cannot recall a copy that was already sent somewhere else.

Generate images, video, and audio

Ask in chat: "Make a watercolor image of a lighthouse at dusk." Generation needs a connected service with API access, such as the OpenAI API, xAI, or Google. A ChatGPT subscription sign-in does not include image generation through the API. Set one up under Connections → Creative media, or run:

oktapod setup media-generation

Generation runs as a queued job you can watch under Files and media. If a job fails, the reason is shown there and no attachment is created. If you did not pin a specific service, Oktapod can try the next compatible one.

Voice

Dictation. Tap the microphone in the message box and speak. A bar in the box shows your voice as it moves and how long you have been talking, and your words appear in the box as you talk, in your device's language. Nothing is sent until you press Send. Tap ✓ to stop and keep the words, or × to throw them away and get your earlier text back. Dictation keeps listening through pauses; after about half a minute of silence it stops by itself, keeping what you said. If you start typing while it listens, dictation stops and keeps what you typed.

  • Web app: uses your browser's speech recognition. Chrome, Edge and Safari have it; Firefox does not, so no microphone appears there. Some browsers send the audio to their own speech service.
  • iPhone: uses Apple's speech recognition. It stays on the phone when your language supports it. The first time, the app asks for the microphone and speech recognition.
  • Android: uses the phone's speech recognizer and prefers offline recognition. The first time, the app asks for the microphone.

Dictation does not use your agent's speech service, so it works without one.

Voice notes in messaging apps. Send a voice note to Oktapod on a channel that supports them. It transcribes the note and answers as if you had typed it. If you type a question with a recording ("what does this ask me to do?"), it answers the question using what the recording says. With a speech service connected, it can answer with a voice note too; otherwise you get text.

Built-in speech-to-text. Recordings and voice notes are transcribed on your Oktapod computer without any speech service. The first recording downloads a Whisper model of about 77 MB into the speech-models folder of Oktapod's data directory; after that nothing leaves your computer. It detects the spoken language and keeps up to 15 minutes of a recording.

Reading recordings and videos. Oktapod reads audio and video with ffmpeg. If your computer already has a working ffmpeg, Oktapod uses it. If not, the first recording, video, or media search that needs it makes Oktapod download its own build (about 10 MB, from updates.oktapod.ai) into the media-tools folder of its data directory. Each file is checked against a checksum built into your Oktapod version and tested before use, and nothing is installed system-wide or asks for an administrator password. oktapod doctor shows which ffmpeg is in use. Set OKTAPOD_MANAGED_MEDIA_TOOLS=off to use only your own. The build is LGPL-licensed; its sources sit beside it on the same server. A speech service you set up yourself is tried first. Set OKTAPOD_LOCAL_SPEECH=off to turn the built-in one off; it is not available on Intel Macs.

Set up speech-to-text and text-to-speech during onboarding (choose Voice replies) or later in System setup. Supported services include OpenAI, xAI, Google, Deepgram, Groq, and ElevenLabs, plus local options such as Whisper, Parakeet, Kokoro, and Piper.

Sending audio to someone is an outbound action and follows the usual approval rules. The phone apps use the microphone only for dictation; to send a recording, attach an audio clip you already have.

Meetings

Open Settings → Apps & permissions → Meetings to write down a meeting as it happens. Give it a name, confirm that everyone in the meeting knows it is being transcribed, and choose Start transcript. The web app listens through your browser's speech recognition (Chrome, Edge, or Safari) and the transcript appears in order as people talk. If the connection drops, it shows Reconnecting… and carries on without losing or repeating lines. Past meetings stay under Recent meetings.

Beside the transcript, Oktapod keeps a running summary with key points and action items. Every point links to the line it came from, and a point it cannot tie to a line is left out. The first summary appears about a minute after people start talking.

Meeting speech is private, so summaries are off until a model is allowed to read private content. Until then the page says so, and the transcript still works. Allowing it is currently an operator step on a source install; see What is supported.

For Microsoft Teams meetings that were transcribed in Teams, ask in chat instead, for example "summarize yesterday's architecture sync"; see Connect your apps.

Privacy

  • Understanding or generating media with an online service sends that file or prompt to the service. Choose which services to connect.
  • Extracts and transcripts keep a link to their source file.
  • Only share files you are allowed to process and share.

When something goes wrong

SymptomTry
An upload is rejectedCheck the file type and size. Renaming a blocked file does not get around the check.
It cannot answer about a file yetOpen Files and media to see whether processing is still running or failed.
Images or PDFs need a different modelRun oktapod models status --verbose and connect a model that can read them.
Generation failsRead the error under Files and media, then check the service's API access.
A voice note gets a text replyRun oktapod checkup. For WhatsApp, run oktapod channels verify --channel whatsapp --verbose.
It says it cannot hear a recordingRun oktapod doctor. If the managed ffmpeg could not be downloaded, check that the computer can reach updates.oktapod.ai, or install ffmpeg yourself.