{
  "openapi": "3.0.1",
  "info": {
    "title": "Audio & Video Transcription (Whisper): Podcast, MP3 to SRT",
    "description": "Transcribe MP3, MP4, WAV and other audio/video files, podcast RSS feeds and Apple Podcasts links with Whisper. Get text, timestamped segments, SRT/VTT subtitles and word timestamps in 99 languages. Pay per audio minute.",
    "version": "1.0",
    "x-build-id": "Kl9uacjjetdwha040"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tidewell~media-transcriber/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tidewell-media-transcriber",
        "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/tidewell~media-transcriber/runs": {
      "post": {
        "operationId": "runs-sync-tidewell-media-transcriber",
        "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/tidewell~media-transcriber/run-sync": {
      "post": {
        "operationId": "run-sync-tidewell-media-transcriber",
        "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": {
          "mediaUrls": {
            "title": "Media URLs or podcast feeds",
            "type": "array",
            "description": "Direct links to audio or video files (MP3, M4A, WAV, FLAC, OGG, OPUS, AAC, MP4, MOV, WEBM, MKV and more), podcast RSS feeds, Apple Podcasts show or episode links, or web pages that embed an audio/video file. Google Drive and Dropbox share links work. YouTube, TikTok, Instagram, Spotify and similar platform pages are not supported.",
            "items": {
              "type": "string"
            }
          },
          "uploadedFiles": {
            "title": "Upload audio or video files",
            "type": "array",
            "description": "Upload files from your computer. They are stored in a key-value store and transcribed like media URLs."
          },
          "maxEpisodesPerFeed": {
            "title": "Episodes per feed",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "How many episodes to transcribe from each podcast feed, newest first, after the filters below. 0 = all matching episodes.",
            "default": 1
          },
          "episodeTitleFilter": {
            "title": "Episode title contains",
            "type": "string",
            "description": "Only episodes whose title contains this text (case-insensitive). Separate alternatives with |, e.g. \"interview|Q&A\"."
          },
          "episodesPublishedAfter": {
            "title": "Published on or after",
            "type": "string",
            "description": "Only episodes published on or after this date: YYYY-MM-DD, or relative like \"30 days\" or \"2 weeks\"."
          },
          "episodesPublishedBefore": {
            "title": "Published before",
            "type": "string",
            "description": "Only episodes published before this date (YYYY-MM-DD)."
          },
          "model": {
            "title": "Whisper model",
            "enum": [
              "tiny",
              "base",
              "small",
              "medium",
              "large-v3-turbo"
            ],
            "type": "string",
            "description": "Bigger models are more accurate (names, accents, noisy audio, non-English) but slower and priced higher per minute. base is a good default for clear speech; small is noticeably better for most languages.",
            "default": "base"
          },
          "language": {
            "title": "Language",
            "enum": [
              "auto",
              "af",
              "sq",
              "am",
              "ar",
              "hy",
              "as",
              "az",
              "ba",
              "eu",
              "be",
              "bn",
              "bs",
              "br",
              "bg",
              "yue",
              "ca",
              "zh",
              "hr",
              "cs",
              "da",
              "nl",
              "en",
              "et",
              "fo",
              "fi",
              "fr",
              "gl",
              "ka",
              "de",
              "el",
              "gu",
              "ht",
              "ha",
              "haw",
              "he",
              "hi",
              "hu",
              "is",
              "id",
              "it",
              "ja",
              "jw",
              "kn",
              "kk",
              "km",
              "ko",
              "lo",
              "la",
              "lv",
              "ln",
              "lt",
              "lb",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mi",
              "mr",
              "mn",
              "my",
              "ne",
              "no",
              "nn",
              "oc",
              "ps",
              "fa",
              "pl",
              "pt",
              "pa",
              "ro",
              "ru",
              "sa",
              "sr",
              "sn",
              "sd",
              "si",
              "sk",
              "sl",
              "so",
              "es",
              "su",
              "sw",
              "sv",
              "tl",
              "tg",
              "ta",
              "tt",
              "te",
              "th",
              "bo",
              "tr",
              "tk",
              "uk",
              "ur",
              "uz",
              "vi",
              "cy",
              "yi",
              "yo"
            ],
            "type": "string",
            "description": "Spoken language. Auto-detect works well; set it when you know it, which avoids rare detection mistakes on short or noisy clips.",
            "default": "auto"
          },
          "task": {
            "title": "Task",
            "enum": [
              "transcribe",
              "translate"
            ],
            "type": "string",
            "description": "transcribe: text in the spoken language. translate: English translation of any language (Whisper's built-in speech translation).",
            "default": "transcribe"
          },
          "wordTimestamps": {
            "title": "Word-level timestamps",
            "type": "boolean",
            "description": "Add every word with its start, end and confidence to the dataset row and the JSON file. Free (subtitles always use word timing internally).",
            "default": false
          },
          "initialPrompt": {
            "title": "Vocabulary hint (prompt)",
            "type": "string",
            "description": "Names, jargon or spelling to steer the transcript, e.g. \"Kubernetes, Grafana, Dr. Nkemelu\". Keep it short."
          },
          "vadFilter": {
            "title": "Skip silence and music (VAD)",
            "type": "boolean",
            "description": "Silero voice activity detection skips silence and non-speech, which is faster and avoids made-up text in silent parts. Turn off only if quiet speech is being skipped.",
            "default": true
          },
          "subtitleMaxLineLength": {
            "title": "Subtitle line length (characters)",
            "minimum": 16,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum characters per subtitle line in the SRT/VTT files. 42 is the broadcast standard.",
            "default": 42
          },
          "subtitleMaxLines": {
            "title": "Lines per subtitle",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Maximum lines per subtitle cue.",
            "default": 2
          },
          "maxDurationMinutes": {
            "title": "Max minutes per file",
            "minimum": 1,
            "maximum": 1440,
            "type": "integer",
            "description": "Transcribe at most the first N minutes of each file (you pay only for what is transcribed). Empty = whole file."
          },
          "maxFileSizeMb": {
            "title": "Max file size (MB)",
            "minimum": 1,
            "maximum": 8000,
            "type": "integer",
            "description": "Files larger than this are skipped (not charged). Video files are large: about 1 GB per hour of HD video is common.",
            "default": 2000
          },
          "downloadTimeoutSecs": {
            "title": "Download timeout (seconds)",
            "minimum": 10,
            "maximum": 3600,
            "type": "integer",
            "description": "Maximum time to download one file.",
            "default": 900
          },
          "httpHeaders": {
            "title": "HTTP headers",
            "type": "object",
            "description": "Headers sent with every download, e.g. {\"Authorization\": \"Bearer ...\"} for private file servers or private podcast feeds."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}