{
  "openapi": "3.0.1",
  "info": {
    "title": "Audio & Video Transcriber + Mention Finder",
    "description": "Turn any video, podcast or audio link into text and find every mention of your brands, names or keywords, with a timestamp and a link to the exact second. Get subtitles, TXT files and AI-ready chunks with token counts. English, French and 95+ languages. Pay per second, with no minimum.",
    "version": "1.0",
    "x-build-id": "vMYHt0YcbQi2uAW0u"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ocrad~audio-video-transcriber-mention-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ocrad-audio-video-transcriber-mention-finder",
        "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/ocrad~audio-video-transcriber-mention-finder/runs": {
      "post": {
        "operationId": "runs-sync-ocrad-audio-video-transcriber-mention-finder",
        "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/ocrad~audio-video-transcriber-mention-finder/run-sync": {
      "post": {
        "operationId": "run-sync-ocrad-audio-video-transcriber-mention-finder",
        "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",
        "required": [
          "mediaUrls"
        ],
        "properties": {
          "mediaUrls": {
            "title": "Video, audio or podcast links",
            "type": "array",
            "description": "One link per line: YouTube (video, Short, channel or playlist), TikTok, Instagram, Facebook, X, Vimeo, Dailymotion, SoundCloud, Twitch, a podcast RSS feed, an Apple Podcasts show or episode, or a direct audio/video file (mp3, m4a, wav, mp4, ...). Up to 100 links per run.",
            "items": {
              "type": "string"
            }
          },
          "mentionTerms": {
            "title": "Mention terms (brands, names, keywords)",
            "type": "array",
            "description": "Words or names to find in the speech. Each mention comes back with its timestamp, the words around it and a link that opens the media at that second (where the platform supports it). The terms are also given to the speech model as hints so they are spelled right. Leave empty for a plain transcript.",
            "items": {
              "type": "string"
            }
          },
          "matchMode": {
            "title": "Mention matching",
            "enum": [
              "fuzzy",
              "exact"
            ],
            "type": "string",
            "description": "Fuzzy allows one wrong letter in names of 5-8 letters and two in longer names. Names of 4 letters or fewer always match exactly.",
            "default": "fuzzy"
          },
          "preferCaptions": {
            "title": "Use existing captions when available",
            "type": "boolean",
            "description": "When the video already has captions (most YouTube videos do), deliver those instead of transcribing the audio: much faster and charged a small flat fee instead of per second. Turn off to always transcribe the audio with the speech model.",
            "default": true
          },
          "language": {
            "title": "Spoken language",
            "type": "string",
            "description": "ISO code of the spoken language, for example en, fr, es, de. Leave empty to detect it automatically. Also picks which caption track is used."
          },
          "translateToEnglish": {
            "title": "Translate to English",
            "type": "boolean",
            "description": "Output an English transcript whatever the spoken language. Always uses the speech model (captions are skipped).",
            "default": false
          },
          "model": {
            "title": "Speech model",
            "enum": [
              "tiny",
              "base",
              "small"
            ],
            "type": "string",
            "description": "Whisper model used when the audio is transcribed. Same price for every model.",
            "default": "base"
          },
          "maxMinutesPerItem": {
            "title": "Max minutes per item",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Longer media is transcribed up to this length and billed only for what was transcribed. Use it to cap spend per item.",
            "default": 60
          },
          "maxItemsPerFeed": {
            "title": "Items per feed, channel or playlist",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "For a podcast feed, Apple Podcasts show, YouTube channel or playlist: how many of the newest items to transcribe.",
            "default": 1
          },
          "aiChunks": {
            "title": "AI-ready chunks",
            "type": "boolean",
            "description": "Add the transcript split into timed chunks with token counts, ready for an LLM prompt, a vector database or RAG search. Free.",
            "default": true
          },
          "chunkTokens": {
            "title": "Chunk size (tokens)",
            "minimum": 50,
            "maximum": 8000,
            "type": "integer",
            "description": "Target size of each chunk, counted with the cl100k_base tokenizer. Chunks break at segment boundaries, never mid-sentence.",
            "default": 400
          },
          "chunkOverlapTokens": {
            "title": "Chunk overlap (tokens)",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "How much of the end of each chunk is repeated at the start of the next one, so context is not lost at the edges.",
            "default": 40
          },
          "includeSegments": {
            "title": "Include timed segments",
            "type": "boolean",
            "description": "Add the timed segments (start, end, text) to each record. Turn off for smaller records when you only need the text, mentions and files.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Defaults to Apify Proxy (auto). Direct audio files and podcast feeds are fetched without a 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}