API

Written By Anton

Last updated 14 days ago

QuickWhisper exposes a local Local REST API that lets you integrate with AI agents, automation tools, and custom scripts. All data stays on your Mac - the server runs locally and never leaves your machine.

API version: 1.1

Getting Started

  1. Open Settings β†’ Developer API

  2. Enable Local API Server

  3. The server starts on http://127.0.0.1:52778 by default

Configuration

Setting

Default

Description

Base URL

http://127.0.0.1:[port]/api/v1

Server Port

52778

TCP port the server listens on

Authentication

–

No authentication is required. The server is intended for local use only. If you enable local network access, ensure your network is trusted.

Enable CORS

Off

Allow cross-origin requests from web applications

Serve on Local Network

Off

Bind to 0.0.0.0 so other devices on your LAN can connect.

When Serve on Local Network is enabled, replace 127.0.0.1 with your Mac's local IP address.

Endpoints

All endpoints return JSON with Content-Type: application/json; charset=utf-8.

Status - GET /api/v1/status

Returns server status, app version, and currently active models.

Response

{
  "status": "ok",
  "version": "3.5.0",
  "apiVersion": "v1",
  "activeVoiceModel": {
    "id": "large-v3-turbo",
    "name": "Large V3 Turbo"
  },
  "activeIntelligenceModel": {
    "id": "gpt-4o",
    "provider": "OpenAI",
    "displayName": "GPT-4o"
  }
}

List of Voice Models - GET /api/v1/voice-models

Lists all available voice (transcription) models.

Response

{
  "models": [
    {
      "id": "large-v3-turbo",
      "name": "Large V3 Turbo",
      "provider": "whisper",
      "isActive": true
    },
    {
      "id": "base",
      "name": "Base",
      "provider": "whisper",
      "isActive": false
    }
  ]
}

Active Voice Model - GET /api/v1/voice-models/active

Returns the currently active voice model.

Response

{
  "id": "large-v3-turbo",
  "name": "Large V3 Turbo",
  "provider": "whisper"
}

List of Intelligence Models - GET /api/v1/intelligence-models

Intelligence models are LLM configurations used for transcript summarization.

Response

{
  "models": [
    {
      "modelId": "gpt-4o",
      "provider": "OpenAI",
      "name": "GPT-4o",
      "isActive": true
    }
  ]
}

Active Intelligence Model - GET /api/v1/intelligence-models/active

Returns the currently active intelligence model.

Response

{
  "modelId": "gpt-4o",
  "provider": "OpenAI",
  "name": "GPT-4o"
}

List of transcriptions - GET /api/v1/transcriptions

Lists all transcriptions in your history.

Response

{
  "count": 42,
  "transcriptions": [
    {
      "category": "recording",
      "date": "2026-02-23T04:22:47Z",
      "duration": 36394,
      "id": "B2DDF22B-C0B2-4A42-83D4-D1D4A34EC362",
      "modified": "2026-02-23T04:22:47Z",
      "name": "Recording 2026-02-23 at 15.22.06"
    }
  ]
}

Full transcript - GET /api/v1/transcriptions/:id

Returns the full transcript for a specific transcription, including all segments, tags, and metadata.

Response

{
  "count": 42,
  "transcriptions": [
    {
      "category": "recording",
      "date": "2026-02-23T04:22:47Z",
      "duration": 36394,
      "id": "B2DDF22B-C0B2-4A42-83D4-D1D4A34EC362",
      "modified": "2026-02-23T04:22:47Z",
      "name": "Recording 2026-02-23 at 15.22.06"
    }
  ]
}

Recent transcript - GET /api/v1/transcriptions/recent

Returns the full transcript for the most recent transcription, including all segments, tags, and metadata.

Response

{
  "id": "2025-01-15_14-30-00_Meeting-Notes",
  "name": "Meeting Notes",
  "category": "recording",
  "date": "2025-01-15T03:30:00Z",
  "modified": "2025-01-15T04:12:00Z",
  "isTranscribed": true,
  "language": "en",
  "voiceModel": "large-v3-turbo",
  "segmentCount": 128,
    "segments": [
        {
            "end": 35920,
            "id": "35CFDCDE-827E-4FE7-B237-C3EB8FB72B87",
            "label": "Highlight",
            "speaker": {
                "id": "E51D01F4-E4E2-4D29-A089-C4D814D08287",
                "name": "Speaker 2"
            },
            "start": 26080,
            "text": "Sample segment"
        }
  ],
  "speakers": [
    {
      "id": "E51D01F4-E4E2-4D29-A089-C4D814D08287",
      "name": "Speaker 2",
    }
  ]
}

Transcript summary - GET /api/v1/transcriptions/:id/summary

Returns the cached AI summary for a transcription (if one exists).

Response

{
  "id": "2025-01-15_14-30-00_Meeting-Notes",
  "summary": "The team discussed Q1 goals and assigned action items...",
  "prompt": "Summarize this meeting transcript",
  "inputTokens": 4200,
  "outputTokens": 350
}