{
  "openapi": "3.0.1",
  "info": {
    "title": "Audio & Video Transcription to JSON: RAG Chunks + Timestamps",
    "description": "Transcribe audio and video to JSON with the same RAG chunk schema as pdf-to-json-tables: chunks with time citations, timestamped segments, full text, SRT and VTT. Open-source Whisper on CPU, no API key, two accuracy tiers, pay per audio minute.",
    "version": "0.1",
    "x-build-id": "b4ZPfDuM8f9p6RlV6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/landoz~transcribe-to-json-chunks/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-landoz-transcribe-to-json-chunks",
        "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/landoz~transcribe-to-json-chunks/runs": {
      "post": {
        "operationId": "runs-sync-landoz-transcribe-to-json-chunks",
        "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/landoz~transcribe-to-json-chunks/run-sync": {
      "post": {
        "operationId": "run-sync-landoz-transcribe-to-json-chunks",
        "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": {
          "audioUrls": {
            "title": "Audio or video URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Public http(s) links to audio or video files, one per line. Each must point at the media file itself (not a player page or a YouTube link). Audio: MP3, WAV, FLAC, OGG, Opus, M4A, AAC, WMA, AIFF. Video (the audio track is transcribed): MP4, MOV, WebM, MKV, AVI. Up to 50 URLs per run; files are fetched once, transcribed and deleted when the run ends.",
            "default": [
              "https://archive.org/download/gettysburg_shurtagal_librivox/Gettysburg_Address_Lincoln_64kb.mp3"
            ],
            "items": {
              "type": "string"
            }
          },
          "audioUrl": {
            "title": "Single URL (optional shortcut)",
            "type": "string",
            "description": "Convenience field for agents that pass one URL: it is merged into audioUrls."
          },
          "model": {
            "title": "Accuracy tier",
            "enum": [
              "standard",
              "accurate"
            ],
            "type": "string",
            "description": "standard: Whisper base model, fastest and cheapest, good for clear speech in English and major languages (audio-minute-standard event). accurate: Whisper small model, noticeably fewer errors on accents, names, noisy audio and non-English speech, about 3 times slower (audio-minute-accurate event). Both run on CPU inside the Actor, no external API.",
            "default": "standard"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "ISO 639-1 code of the spoken language, for example en, de, es, fr, ja, or auto to detect it from the first 30 seconds (default). Setting the language explicitly is slightly faster and avoids wrong guesses on short or noisy files.",
            "default": "auto"
          },
          "translateToEnglish": {
            "title": "Translate to English",
            "type": "boolean",
            "description": "Return the transcript translated into English instead of the spoken language (Whisper's built-in translation). Segments, chunks and subtitles are all in English then.",
            "default": false
          },
          "outputMode": {
            "title": "Output mode",
            "enum": [
              "documents",
              "segments"
            ],
            "type": "string",
            "description": "documents: one dataset item per file with text, segments, chunks and subtitle links (default, best for most uses). segments: one item per segment plus one item per chunk, each tagged with type (segment or chunk), for very long recordings where a single item would be too large.",
            "default": "documents"
          },
          "chunkSize": {
            "title": "Chunk size (characters)",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "Target size of RAG chunks in characters. Chunks end at sentence boundaries when possible and each carries chunkIndex, charStart, charEnd (offsets into text), startMs, endMs and a citation object, the same chunk schema as the pdf-to-json-tables Actor. 0 disables chunking. Default 1200 (about 300 tokens).",
            "default": 1200
          },
          "chunkOverlap": {
            "title": "Chunk overlap (characters)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "How many characters consecutive chunks share, so sentences cut at a boundary appear whole in one of them. Capped at half the chunk size. Default 150.",
            "default": 150
          },
          "includeWordTimestamps": {
            "title": "Include word timestamps",
            "type": "boolean",
            "description": "Add words to every segment: each word with startMs, endMs and confidence. Useful for karaoke-style captions and precise quoting; makes items several times larger.",
            "default": false
          },
          "subtitles": {
            "title": "Subtitles (SRT and VTT)",
            "type": "boolean",
            "description": "Write <documentId>.srt and <documentId>.vtt files to the run's key-value store and return their URLs in subtitles.srtUrl and subtitles.vttUrl.",
            "default": true
          },
          "maxDurationMinutes": {
            "title": "Max duration per file (minutes)",
            "minimum": 1,
            "maximum": 180,
            "type": "integer",
            "description": "Files longer than this are skipped with a too_long error item instead of being transcribed (and are not charged). Default 180, maximum 180. Each started minute of a transcribed file is one audio-minute event.",
            "default": 180
          },
          "maxFileSizeMb": {
            "title": "Max file size (MB)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Files larger than this are skipped with a too_large error item instead of being downloaded. Default 200, maximum 500.",
            "default": 200
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}