{
  "openapi": "3.0.1",
  "info": {
    "title": "Podcast & Audio Transcriber: MP3, Video to Text",
    "description": "Transcribe podcasts, audio and video files to text with Whisper on Apify, no API key. Give MP3 or MP4 links, RSS feeds, Apple Podcasts pages or uploads; get text, timed segments and SRT or VTT subtitles in 99 languages. Uses the publisher's transcript when a feed has one.",
    "version": "0.1",
    "x-build-id": "gkniLQmHElteZMz0c"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/enisbodlli~podcast-audio-transcriber/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-enisbodlli-podcast-audio-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/enisbodlli~podcast-audio-transcriber/runs": {
      "post": {
        "operationId": "runs-sync-enisbodlli-podcast-audio-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/enisbodlli~podcast-audio-transcriber/run-sync": {
      "post": {
        "operationId": "run-sync-enisbodlli-podcast-audio-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": "Links to audio, video or podcasts",
            "type": "array",
            "description": "One link per line. Works with direct audio or video files (MP3, M4A, WAV, OGG, FLAC, MP4, WEBM, MOV and more), podcast RSS feeds, Apple Podcasts show or episode pages, and web pages that embed an audio file or name a podcast feed. YouTube, Spotify and other platform pages are not supported.",
            "items": {
              "type": "string"
            }
          },
          "podcastNames": {
            "title": "Podcast names",
            "type": "array",
            "description": "Show names to look up in the Apple Podcasts directory, one per line. The exact name wins; otherwise the best match is used. Its RSS feed is then read like a feed link.",
            "items": {
              "type": "string"
            }
          },
          "audioFiles": {
            "title": "Upload files",
            "type": "array",
            "description": "Audio or video files from your computer, stored in an Apify key-value store, or links to files. Up to 1.5 GB each."
          },
          "maxEpisodesPerFeed": {
            "title": "Episodes per podcast",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many episodes to transcribe from each feed, show or podcast name, newest first, after the filters below.",
            "default": 3
          },
          "publishedAfter": {
            "title": "Published after",
            "type": "string",
            "description": "Only episodes published on or after this date, as 2026-01-31 or a period such as \"30 days\" back from the run."
          },
          "titleContains": {
            "title": "Episode title contains",
            "type": "string",
            "description": "Only episodes whose title contains this text, ignoring case."
          },
          "onlyNewEpisodes": {
            "title": "Only episodes not transcribed before",
            "type": "boolean",
            "description": "Of the newest episodes per feed (see the maximum above), skip those an earlier run of this Actor in your account already transcribed. Use it with a schedule to transcribe each new episode once; older episodes are never picked up instead.",
            "default": false
          },
          "usePublisherTranscripts": {
            "title": "Use the publisher's transcript when the feed has one",
            "type": "boolean",
            "description": "Many feeds link a transcript the publisher made (the podcast:transcript tag). When on, that transcript is used at the lower publisher-transcript price instead of transcribing the audio. Turn off to always transcribe with Whisper.",
            "default": true
          },
          "model": {
            "title": "Speech model",
            "enum": [
              "tiny",
              "base",
              "small"
            ],
            "type": "string",
            "description": "Whisper model run on Apify, no API key needed. base is the default balance of speed and accuracy; tiny is fastest and roughest; small is the most accurate and is charged as audio-minute-small.",
            "default": "base"
          },
          "language": {
            "title": "Spoken language",
            "enum": [
              "auto",
              "en",
              "af",
              "sq",
              "am",
              "ar",
              "hy",
              "as",
              "az",
              "ba",
              "eu",
              "be",
              "bn",
              "bs",
              "br",
              "bg",
              "my",
              "ca",
              "zh",
              "hr",
              "cs",
              "da",
              "nl",
              "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",
              "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": "The language spoken in the audio. Auto-detect listens to two stretches of each file; set the language when you know it, for better accuracy on short or mixed files.",
            "default": "auto"
          },
          "task": {
            "title": "Output language",
            "enum": [
              "transcribe",
              "translate"
            ],
            "type": "string",
            "description": "transcribe keeps the spoken language; translate turns any language into English text. Publisher transcripts are not used when translating.",
            "default": "transcribe"
          },
          "subtitleFormats": {
            "title": "Subtitle files",
            "type": "array",
            "description": "Add the transcript as SRT, WebVTT or both to each result, ready for video players and editors.",
            "items": {
              "type": "string",
              "enum": [
                "srt",
                "vtt"
              ],
              "enumTitles": [
                "SRT",
                "WebVTT"
              ]
            },
            "default": []
          },
          "maxMinutesPerFile": {
            "title": "Maximum minutes per file",
            "minimum": 1,
            "maximum": 1440,
            "type": "integer",
            "description": "Transcribe at most this many minutes from the start of each file; the rest is skipped and not charged. Empty means the whole file."
          },
          "maxTotalMinutes": {
            "title": "Maximum minutes per run",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop once this many minutes of audio were transcribed in the run. Empty means no limit besides your maximum charge."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}