# Changelog of Audio & Video Transcriber - Speech to Text, SRT & Timestamps (`readable_slash/audio-video-transcriber`) Actor

- **URL**: https://apify.com/readable_slash/audio-video-transcriber/changelog.md
- **Full Actor documentation**: https://apify.com/readable_slash/audio-video-transcriber.md

## Changelog

All notable changes to this Actor. Newest first. Numbers are Apify build
numbers within version 0.1.

### 0.1.9 — 2026-08-19

#### Changed

- **"Common uses" rewritten to name the jobs people actually search for.**
  Measured the same day: Store search indexes README text and a rare
  multi-word phrase there can reach the top 5 — `detected speech` appears only
  in this README and ranks **#1**. Single common words never rank, whatever
  they are in.

  Added as ordinary prose, not a keyword list: **webinar transcription**,
  **lecture transcription**, **speech to text RAG**, **speech timestamps**, and
  **transcribe MP3** alongside the other supported containers. Every phrase
  describes something the Actor already does.

  Running as a controlled experiment against phrases deliberately left
  untouched — `tools/readme_experiment.py`, baseline recorded before deploy.

### 0.1.8 — 2026-08-19

#### Changed

- **The example input now demonstrates every output.** With the previous
  prefill (`outputFormats: ["text"]`, `chunkForRag: false`) a first run left
  the **Subtitles** and **RAG chunks** views on the Output tab completely
  empty — two of four tabs, on the screen a user reaches immediately after
  being charged. Nothing was broken: those fields are correctly conditional on
  input. It simply looked broken, which is the same problem the `?clean=true`
  defect caused in 0.1.7 wearing different clothes.

  The prefill now requests `text`, `srt` and `vtt` and enables RAG chunking, so
  the demo run — and the daily platform health check, which runs the same
  input — populates all four views.

  **API behaviour is unchanged.** `prefill` drives only the pre-populated form
  and the health check. What a caller who omits a field receives is governed by
  `default`, which is deliberately untouched: `outputFormats` still defaults to
  `["text"]` and `chunkForRag` to `false`. No integration changes shape and no
  billing changes — charging is per minute of detected speech either way.

  Guarded by `test_prefill_exercises_every_dataset_view`, confirmed to fail on
  the previous configuration.

### 0.1.7 — 2026-08-19

#### Fixed

- **The run's Output tab in Apify Console could not display results.** It
  showed *"Cannot load data from dataset. Reason: Expected property `clean` to
  be of type `boolean` but received type `string`"* — from this Actor's first
  build onwards.

  The output schema passed `?clean=true` in its dataset template. The Console
  parses that query string into a typed options object, where `clean` is a
  boolean, so the string `"true"` failed validation. Runs always succeeded and
  the data was always correct; only the display was broken — on the first screen
  a user sees after their first run.

  Dataset templates now use only the documented `?view=` parameter, and the
  Actor exposes an output per view: full dataset, Transcript text, Subtitles
  and RAG chunks. A regression test refuses any other query parameter.

### 0.1.6 — 2026-08-19

#### Added

- **Three more dataset views — Transcript, Subtitles (SRT/VTT) and RAG
  chunks** — beside the existing Overview.

  Apify lets a published task choose which dataset view renders on its public
  landing page, and those pages are indexed by Google and readable by AI agents
  as markdown. One generic view meant every task page would have shown the same
  table; each use case can now show the output that actually matters to it.

### 0.1.5 — 2026-08-19

#### Added

- **A step-by-step "How to use it", an FAQ, and a link to the author's other
  Actor.** Apify's README guidance names all three: an FAQ covering legality,
  troubleshooting and cost is one of the recommended sections, and Actor
  recommendation "won't recommend a completely different Actor from the same
  creator" — so cross-linking has to be done by hand.

  The FAQ answers, in the buyer's own terms, the questions that otherwise have
  to be discovered by running the Actor: what a run actually costs, what
  happens when one file in a batch fails, why a transcript can be shorter than
  the recording, why there is no speaker labelling, and why social-platform
  links are not supported.

### 0.1.4 — 2026-08-19

#### Added

- **The dataset schema now describes all 20 output fields**, with types,
  enums and per-field descriptions, alongside the table view it already had.

  Apify's hosted MCP server infers a structured output schema for every Actor
  tool so an AI agent knows what it will get back *before* it calls. Until now
  that inference had only the raw rows to work from. Field-level descriptions
  also feed the "congruency" category of the Actor quality score, which ranks
  both Store search and the agent-facing `search-actors` tool.

  Guarded by a test asserting that every field the Actor pushes is documented,
  so the schema cannot drift away from the code.

### 0.1.3 — 2026-08-19

#### Changed

- **The example input now lists two files on independent hosts.** Apify runs
  every Actor daily against its input-schema `prefill` and expects a
  **Succeeded** run with a non-empty dataset. Three consecutive failures flag
  the Actor `under maintenance`; continued failures eventually deprecate it.

  The example previously pointed at a single archive.org file, so an outage at
  one host — not any fault in the Actor — could have flagged or deprecated it.
  A second file on unrelated infrastructure is now included, and because a
  failed item is isolated rather than fatal, one host being unreachable no
  longer fails the run.

  The second file is a FLAC, so the example also shows that the Actor handles
  more than MP3.

### 0.1.2 — 2026-08-19

#### Added

- **Per-run charge cap is honoured.** The Actor stops before transcribing audio
  it would not be allowed to bill for, and reports the files it skipped and why
  rather than silently dropping them.

### 0.1.0–0.1.1 — 2026-08-19

#### Added

- Initial release. Whisper speech-to-text on user-supplied audio and video,
  with no API key and no external transcription service.
- Full text, timestamped segments, SRT and VTT subtitles, optional RAG chunks.
- Billed per minute of **detected speech**, not per minute of file length.
- Long-recording reliability: Whisper's repetition loops and silence
  hallucinations are detected and repaired in three layers, and every repair is
  reported in the output rather than applied silently.
- Failed files are isolated from the rest of the batch and charged nothing.
