{
  "openapi": "3.0.1",
  "info": {
    "title": "Video Transcriber: TikTok, Instagram, Facebook, YouTube Shorts",
    "description": "Turn TikTok, Instagram Reels, Facebook, YouTube Shorts and X video links into timestamped transcripts and SRT or VTT subtitles. Video to text in 28 languages with auto detection and speaker labels. Bulk links, no login. Failed and silent videos are never charged. Works via API and MCP.",
    "version": "0.1",
    "x-build-id": "ZXfYLItBGFrbw1vLO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~instagram-tiktok-video-transcript/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-instagram-tiktok-video-transcript",
        "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/themineworks~instagram-tiktok-video-transcript/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-instagram-tiktok-video-transcript",
        "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/themineworks~instagram-tiktok-video-transcript/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-instagram-tiktok-video-transcript",
        "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": [
          "urls"
        ],
        "properties": {
          "urls": {
            "title": "Video URLs",
            "type": "array",
            "description": "Public video links to transcribe, one per line: TikTok, Instagram Reels and video posts, Facebook Reels and Watch, YouTube Shorts and videos, X (Twitter) videos. Short links like vm.tiktok.com and fb.watch work. Private, deleted or login only videos fail and are never charged.",
            "items": {
              "type": "string"
            }
          },
          "include_timestamps": {
            "title": "Include timestamps",
            "type": "boolean",
            "description": "Adds [start - end] markers inside the transcript text, for example \"[0.00s - 2.50s] Welcome to my channel!\". The segments array always has timestamps either way.",
            "default": true
          },
          "include_subtitles": {
            "title": "Include SRT and VTT subtitles",
            "type": "boolean",
            "description": "Adds ready to use srt and vtt subtitle text to each result, split into two line captions of about 42 characters. Save either field as a file for Premiere Pro, CapCut, DaVinci Resolve or YouTube Studio. No extra cost.",
            "default": true
          },
          "enable_diarization": {
            "title": "Speaker labels",
            "type": "boolean",
            "description": "Labels who is speaking ([Speaker 0], [Speaker 1] ...) in the transcript, segments and subtitles, and reports speakers_detected. Useful for interviews, podcasts and street interviews. No extra cost.",
            "default": false
          },
          "language": {
            "title": "Language",
            "enum": [
              "auto",
              "multi",
              "en",
              "en-US",
              "en-GB",
              "en-AU",
              "en-IN",
              "es",
              "es-419",
              "fr",
              "fr-CA",
              "de",
              "nl",
              "pt",
              "pt-BR",
              "it",
              "ja",
              "ko",
              "zh",
              "hi",
              "id",
              "ms",
              "ru",
              "uk",
              "pl",
              "sv",
              "da",
              "fi",
              "no",
              "tr",
              "th",
              "vi",
              "el",
              "cs",
              "sk",
              "ro",
              "hu"
            ],
            "type": "string",
            "description": "auto detects each video's language on its own, so one run can mix languages. multi handles speakers who switch language mid sentence (Hinglish, Spanglish). Pick the exact language for the best accuracy when you know it. Transcripts are in the spoken language; nothing is translated.",
            "default": "auto"
          },
          "maxVideoMinutes": {
            "title": "Skip videos longer than (minutes)",
            "minimum": 1,
            "maximum": 240,
            "type": "integer",
            "description": "Videos longer than this are skipped and never charged. Protects your budget from an accidental two hour upload in a list of short clips.",
            "default": 60
          },
          "maxConcurrency": {
            "title": "Videos processed in parallel",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many videos are processed at the same time. Higher finishes big lists faster; lower is gentler on platforms that rate limit.",
            "default": 3
          },
          "start_urls": {
            "title": "Video URL (single, deprecated)",
            "type": "string",
            "description": "Kept so older integrations keep working. Use urls instead."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}