{
  "openapi": "3.0.1",
  "info": {
    "title": "Audio & Video Transcriber: Any URL & Podcast RSS to Text",
    "description": "Get a text transcript of any audio or video link: YouTube, TikTok, Instagram, Facebook, X, Reddit, Vimeo, Loom, MP3 and MP4 files, podcast RSS, Apple Podcasts and Spotify podcasts. Speech to text with Whisper inside the Actor, 99 languages, timestamps and SRT. No API key. Errors are free.",
    "version": "0.2",
    "x-build-id": "qYgwetXdMmsWeBc4q"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~media-transcriber/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-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/scrapewise~media-transcriber/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-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/scrapewise~media-transcriber/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-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": {
          "urls": {
            "title": "Links",
            "type": "array",
            "description": "Links to transcribe, one per line. Accepts direct audio or video files (mp3, m4a, mp4, wav, webm, ogg...), YouTube, TikTok, Instagram reels and posts, Facebook, X (Twitter), Reddit, Vimeo, Dailymotion, SoundCloud, Loom, Twitch clips and 1,000+ other video sites, podcast RSS feeds, Apple Podcasts shows or episodes, and Spotify podcast links (transcribed from the show's public RSS feed). For example https://www.youtube.com/watch?v=... or https://feeds.example.com/podcast.xml. Each file becomes one row with the full text. Leave empty to run a 24-second example clip. Also accepts 'mediaUrls', 'startUrls' or 'links' from other transcription Actors.",
            "items": {
              "type": "string"
            }
          },
          "maxEpisodesPerFeed": {
            "title": "Episodes per podcast feed or playlist",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many of the newest episodes to transcribe from each podcast RSS feed, Apple Podcasts show or playlist link (1 to 500, default 3). Single video or audio links ignore this. Each episode is billed as its own file, so a feed with 50 at 30 minutes each costs about 50 x 30 minutes: start low and raise it after checking the first rows.",
            "default": 3
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Spoken language. Default 'auto' detects it for each file and reports it in the 'language' column. If you know it, type a 2-letter code (en, es, pt, fr, de, it, ja, hi, ar...): detection is skipped, the run is a little faster and short clips are not misread as another language. The transcript stays in the spoken language; nothing is translated.",
            "default": "auto"
          },
          "model": {
            "title": "Accuracy",
            "enum": [
              "tiny",
              "base",
              "small"
            ],
            "type": "string",
            "description": "Speech recognition model. 'base' (default) is right for most clear speech. 'small' is more accurate for non-English speech, accents and noisy audio, but uses about 3 times more compute, so each extra minute counts twice (see Pricing). 'tiny' is the fastest and least accurate, for quick drafts. The model used is saved in the 'model' column.",
            "default": "base"
          },
          "includeSegments": {
            "title": "Include timestamps",
            "type": "boolean",
            "description": "On by default: adds 'segments', a list with the start and end second and the text of each phrase, for quotes, chapters or jumping to a moment in the video. Turn off to get only the full text and smaller rows. No effect on price.",
            "default": true
          },
          "includeSrt": {
            "title": "Include SRT subtitles",
            "type": "boolean",
            "description": "Adds an 'srt' column with the transcript as ready-to-use SRT subtitles (numbered cues with 00:00:01,000 --> 00:00:04,000 timestamps) that you can save as a .srt file and upload to YouTube or a video editor. Off by default. No effect on price.",
            "default": false
          },
          "maxDurationMinutes": {
            "title": "Skip media longer than (minutes)",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Files longer than this many minutes (1 to 600, default 120) are not transcribed: they come back as a free row with errorCode MEDIA_TOO_LONG and their duration. Use it to cap the cost of a run with long podcasts or livestreams. Raise it to 600 to transcribe anything up to 10 hours.",
            "default": 120
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy, on by default. It is used only when a site refuses the first request. YouTube and Instagram may also go through Apify residential proxy when the datacenter IP is refused; on YouTube that carries a small per-minute fee (see Pricing). Keep the default unless you have your own proxy.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}