{
  "openapi": "3.0.1",
  "info": {
    "title": "Whisper Speech to Text — Audio & Video Transcriber, Diarization",
    "description": "Transcribe audio & video to text with Whisper — now with speaker diarization. Who-spoke-when labels (SPEAKER_1, SPEAKER_2…) on every segment, per-speaker summary rows, timestamped transcript, SRT/VTT subtitles, word-level detail, 99 languages. Batch URLs in, structured result rows out.",
    "version": "1.0",
    "x-build-id": "0GV0b5nclW6corhzu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ntriqpro~whisper-speech-to-text/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ntriqpro-whisper-speech-to-text",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/ntriqpro~whisper-speech-to-text/runs": {
      "post": {
        "operationId": "runs-sync-ntriqpro-whisper-speech-to-text",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/ntriqpro~whisper-speech-to-text/run-sync": {
      "post": {
        "operationId": "run-sync-ntriqpro-whisper-speech-to-text",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "audioUrls": {
            "title": "Audio / video URLs",
            "type": "array",
            "description": "One or more direct URLs to audio or video files (mp3, wav, m4a, mp4, ogg, flac, webm, …). Max 10 files per run.",
            "items": {
              "type": "string"
            }
          },
          "audioUrl": {
            "title": "Audio / video URL (single)",
            "type": "string",
            "description": "Alternative to the list above — a single media URL."
          },
          "model": {
            "title": "Whisper model",
            "enum": [
              "tiny",
              "base",
              "small"
            ],
            "type": "string",
            "description": "Larger models are more accurate but slower. \"tiny\" and \"base\" start instantly; \"small\" downloads on first use (~1 min extra)."
          },
          "language": {
            "title": "Language (optional)",
            "type": "string",
            "description": "ISO 639-1 code of the spoken language, e.g. \"en\", \"es\", \"ko\". Leave empty to auto-detect (99 languages supported)."
          },
          "translateToEnglish": {
            "title": "Translate to English",
            "type": "boolean",
            "description": "Transcribe any language directly into English text (Whisper's built-in translation task)."
          },
          "wordTimestamps": {
            "title": "Word-level timestamps",
            "type": "boolean",
            "description": "Add per-word start/end times to every segment (slightly slower)."
          },
          "vadFilter": {
            "title": "Skip silence (VAD)",
            "type": "boolean",
            "description": "Voice-activity detection removes long silences before transcription — faster and fewer hallucinated repetitions. Recommended."
          },
          "speakerDiarization": {
            "title": "Speaker diarization (who spoke when)",
            "type": "boolean",
            "description": "Detects the different voices in the recording and labels every transcript segment with SPEAKER_1, SPEAKER_2, … Adds one speaker summary row per detected voice (speaking time, word count, share of speech, sample quote) and [SPEAKER_N] tags in the SRT/VTT/TXT files. Recommended for meetings, interviews and podcasts."
          },
          "numSpeakers": {
            "title": "Number of speakers (optional)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "If you know how many people speak (e.g. 2 for an interview), set it here for more reliable labels. Leave 0 to detect the count automatically."
          },
          "enrichmentRows": {
            "title": "Enrichment rows (summary, chapters, keywords)",
            "type": "boolean",
            "description": "Adds per-file enrichment rows to the transcript: one file summary, pause-detected chapters with YouTube-ready timestamps, and the top 10 keywords with every mention's timestamp. Each delivered row is billed like any other result row."
          },
          "segmentRows": {
            "title": "Sentence segment rows (high volume)",
            "type": "boolean",
            "description": "Adds one row per sentence segment (roughly 10 per minute of speech). Useful for research pipelines that join on exact timestamps. Off by default because it multiplies the number of billed rows — check the pricing section before enabling."
          },
          "maxMinutesPerFile": {
            "title": "Max minutes per file",
            "minimum": 1,
            "maximum": 240,
            "type": "integer",
            "description": "Transcription stops after this many minutes of audio per file (cost guard). Max 240."
          },
          "maxResults": {
            "title": "Max result rows per run",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Upper bound on billable result rows (minutes, chapters, keywords, summaries, segments) returned by this run. Free-plan runs return at most 25."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}