{
  "openapi": "3.0.1",
  "info": {
    "title": "Audio & Video Transcriber",
    "description": "Transcribe audio and video files from URLs, and podcast RSS feeds, into text, SRT subtitles and WebVTT captions with Whisper. Auto-detects 99 languages, can translate to English, and can return only new episodes since the last run. Pay per audio minute; files that fail are free.",
    "version": "1.1",
    "x-build-id": "00CVvCWetZn3H2V0H"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/humble-echidna~audio-transcriber/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-humble-echidna-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/humble-echidna~audio-transcriber/runs": {
      "post": {
        "operationId": "runs-sync-humble-echidna-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/humble-echidna~audio-transcriber/run-sync": {
      "post": {
        "operationId": "run-sync-humble-echidna-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": "Audio and video file URLs",
            "type": "array",
            "description": "Direct links to audio or video files, one per line: MP3, M4A, AAC, WAV, FLAC, OGG, Opus, WebM, MP4, MOV, MKV and most formats ffmpeg reads, on public http/https addresses (ports 80 and 443), up to 1 GB each. Only the sound is used. Links to YouTube, TikTok, Spotify, SoundCloud and other platforms' pages or media servers don't work. Only submit media you have the right to transcribe. The default is two short public-domain Wikimedia Commons recordings.",
            "default": [
              "https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg",
              "https://upload.wikimedia.org/wikipedia/commons/6/6a/The_New_Colossus.ogg"
            ],
            "items": {
              "type": "string"
            }
          },
          "feeds": {
            "title": "Podcast feeds",
            "type": "array",
            "description": "Podcast RSS or Atom feed URLs (or a podcast website that links its feed), one per line. The newest episodes' audio files (the feed's enclosures) are transcribed; how many per feed is set below.",
            "items": {
              "type": "string"
            }
          },
          "maxEpisodesPerFeed": {
            "title": "Episodes per feed",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many episodes to transcribe from each feed, newest first, 1 to 100 (default 1). With `onlyNewEpisodes` on, the most new episodes per run.",
            "default": 1
          },
          "onlyNewEpisodes": {
            "title": "Only new episodes since the last run",
            "type": "boolean",
            "description": "Remember which episodes were transcribed (in a key-value store in your account) and skip them next time: schedule the actor to get a transcript of every new episode. The first run transcribes the newest episodes and treats the rest of the feed as already seen. An episode that failed is tried again on the next run.",
            "default": false
          },
          "datasetId": {
            "title": "Audio links from a dataset",
            "type": "string",
            "description": "One of your Apify datasets (for example the output of RSS & Atom Feed Reader or a podcast actor's run), picked here or given by id. Each item's media link is transcribed, like a line in the file URLs above: duplicates are dropped, and at most the first 10,000 items and 1,000 distinct links are read. The run reads it with your own account's access, read-only. Links to video and social platforms (pages or their media servers) are refused, as above."
          },
          "datasetUrlField": {
            "title": "Field with the audio link",
            "type": "string",
            "description": "The item field that holds the link, e.g. `audioUrl`, or a dotted path such as `media.url`. The field may be a URL, an object with a `url`, or a list of them (the first audio or video one is used). Leave empty to find it automatically among audioUrl, audio, mediaUrl, enclosures (RSS & Atom Feed Reader), enclosure, videoUrl, fileUrl and downloadUrl."
          },
          "model": {
            "title": "Speech model",
            "enum": [
              "base",
              "small"
            ],
            "type": "string",
            "description": "The Whisper model: `base` (default) suits clear speech such as podcasts, talks and interviews in English and other major languages; `small` makes fewer mistakes on accents, background noise and non-English speech, and is priced per minute at a higher rate (see Pricing).",
            "default": "base"
          },
          "language": {
            "title": "Language",
            "enum": [
              "auto",
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "nl",
              "pl",
              "cs",
              "sk",
              "sv",
              "da",
              "no",
              "fi",
              "hu",
              "ro",
              "tr",
              "el",
              "ru",
              "uk",
              "bg",
              "hr",
              "sr",
              "sl",
              "lt",
              "lv",
              "et",
              "ca",
              "ar",
              "he",
              "fa",
              "hi",
              "bn",
              "ur",
              "ta",
              "th",
              "vi",
              "id",
              "ms",
              "tl",
              "ja",
              "zh",
              "ko",
              "sw",
              "af",
              "cy"
            ],
            "type": "string",
            "description": "The spoken language. Automatic detection listens to the first 30 seconds; pick the language when you know it, especially for short clips or recordings that start with music.",
            "default": "auto"
          },
          "task": {
            "title": "Output language",
            "enum": [
              "transcribe",
              "translate"
            ],
            "type": "string",
            "description": "`transcribe` (default) writes the text in the spoken language; `translate` translates the speech into English text.",
            "default": "transcribe"
          },
          "includeSegments": {
            "title": "Include timed segments",
            "type": "boolean",
            "description": "Add a `segments` list: each phrase with its start and end time in seconds.",
            "default": true
          },
          "includeSrt": {
            "title": "Include SRT subtitles",
            "type": "boolean",
            "description": "Add the transcript as an SRT subtitle file in the `srt` field.",
            "default": true
          },
          "includeVtt": {
            "title": "Include WebVTT captions",
            "type": "boolean",
            "description": "Add the transcript as WebVTT captions (for HTML5 video) in the `vtt` field.",
            "default": true
          },
          "includeWordTimestamps": {
            "title": "Include word timestamps",
            "type": "boolean",
            "description": "Add a `words` list: every word with its start and end time in seconds and the model's confidence (0-1). For karaoke-style captions, precise search-and-jump, or cutting clips. Same price per minute; transcription takes about 10% longer.",
            "default": false
          },
          "maxMinutesPerFile": {
            "title": "Max minutes per file",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Transcribe at most this many minutes of each file (from the start); longer files are cut there and say so. Up to 300 minutes (5 hours).",
            "default": 180
          },
          "maxResults": {
            "title": "Max files per run",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many files have been transcribed. Leave empty for no limit. The run also stops cleanly at the maximum cost per run you set in the run options: a file that would go past it is transcribed only as far as the budget pays for."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}