{
  "openapi": "3.0.1",
  "info": {
    "title": "Audio & Video Transcription: Speech to Text (Whisper)",
    "description": "Speech to text and audio to text: transcribes audio and video files with timestamps and SRT/VTT subtitles, offline with OpenAI Whisper inside the Actor: no third-party API. 100 languages, auto-detected, or translation to English. Respects robots.txt. Failed files are free.",
    "version": "0.1",
    "x-build-id": "FIiRIZTjHlXr8Fucf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/wrentools~audio-video-transcription/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-wrentools-audio-video-transcription",
        "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/wrentools~audio-video-transcription/runs": {
      "post": {
        "operationId": "runs-sync-wrentools-audio-video-transcription",
        "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/wrentools~audio-video-transcription/run-sync": {
      "post": {
        "operationId": "run-sync-wrentools-audio-video-transcription",
        "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": {
          "fileUrls": {
            "title": "Audio or video URLs",
            "type": "array",
            "description": "Links to audio or video files you are allowed to process (MP3, M4A, MP4, MOV, WAV, FLAC, OGG, Opus, WebM, MKV, AAC, WMA, AVI and more). Each file is downloaded once; the site's robots.txt is respected. Links to web pages (YouTube, podcasts' pages) are not files and fail.",
            "items": {
              "type": "string"
            }
          },
          "filesBase64": {
            "title": "Files as base64",
            "type": "array",
            "description": "Files sent inline, for files that are not online: a list of base64 strings, or of objects {\"name\": \"call.mp3\", \"data\": \"<base64>\"}. A data: URL prefix is accepted. Apify limits the whole input to a few MB, so use links for larger files."
          },
          "language": {
            "title": "Spoken language",
            "enum": [
              "auto",
              "en",
              "af",
              "sq",
              "am",
              "ar",
              "hy",
              "as",
              "az",
              "ba",
              "eu",
              "be",
              "bn",
              "bs",
              "br",
              "bg",
              "yue",
              "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",
              "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": "The language spoken in the files, or 'Detect automatically' (detected once per file, from its first minutes). Naming it avoids a wrong guess on short or noisy files.",
            "default": "auto"
          },
          "task": {
            "title": "Task",
            "enum": [
              "transcribe",
              "translate"
            ],
            "type": "string",
            "description": "Transcribe keeps the spoken language. Translate writes English text from speech in any language (rougher than transcription).",
            "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
          },
          "wordTimestamps": {
            "title": "Include word timestamps",
            "type": "boolean",
            "description": "Add each word with its start, end and probability to the segments (slower, about 10-20% more time).",
            "default": false
          },
          "subtitleFormats": {
            "title": "Subtitle files",
            "type": "array",
            "description": "Subtitle files written to the run's key-value store for each file; the item links to them. Leave empty for none.",
            "items": {
              "type": "string",
              "enum": [
                "srt",
                "vtt"
              ],
              "enumTitles": [
                "SubRip (.srt)",
                "WebVTT (.vtt)"
              ]
            },
            "default": [
              "srt",
              "vtt"
            ]
          },
          "subtitlesInItem": {
            "title": "Subtitles in the dataset item too",
            "type": "boolean",
            "description": "Also put the subtitle text itself in each item (fields 'srt' and 'vtt').",
            "default": false
          },
          "vadFilter": {
            "title": "Skip silence and music (voice activity filter)",
            "type": "boolean",
            "description": "Removes stretches without speech before transcribing (Silero VAD). This reduces made-up text in silences. Timestamps still refer to the original file.",
            "default": true
          },
          "maxMinutesPerFile": {
            "title": "Maximum audio minutes per file",
            "minimum": 1,
            "maximum": 480,
            "type": "integer",
            "description": "Transcribe at most this many minutes of each file; longer files are marked truncated and charged only for what was transcribed.",
            "default": 120
          },
          "maxFileSizeMb": {
            "title": "Maximum file size (MB)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Larger downloads are stopped and reported as file-too-large, without charge. Files over 300 MB need a run memory of 2 GB or more.",
            "default": 200
          },
          "requestDelayMs": {
            "title": "Delay between downloads from one site (ms)",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Minimum pause between two downloads from the same site.",
            "default": 500
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}