Research Datasets

The whole show, as open data

Two datasets on Hugging Face, both CC-BY-4.0, both rebuilt daily from the production database. Between them: every episode we have published, every transcript, and the machinery that made them.

My-Weird-Prompts/episodes

The production record

One row per episode: metadata, the full transcript, links back to the published episode, and the generation telemetry — which model wrote the script, pipeline version, GPU, timings, compute cost.

Rows
5,355 episodes
Fields
53
Licence
CC-BY-4.0

My-Weird-Prompts/transcripts

The textual-analysis corpus

The same transcripts, shaped for linguistics: narrowed metadata, per-episode text statistics, repetition measures, and a second config splitting the dialogue into speaker turns.

Rows
5,329 episodes + 464,859 turns
Fields
86
Licence
CC-BY-4.0

Start with the data dictionary

data-dictionary.json describes every field in both datasets — type, meaning, and the share of rows actually populated, measured from the published data rather than asserted. Where a null carries meaning, it says what the null means.

Check coverage before you use a column. Several fields are well under 50 % populated, and the gaps are not random — they follow eras of the show. A field that is empty for the back catalogue is missing data, not a measured zero.

The dataset navigator is the same file as a browsable page — search and filter every field, see coverage at a glance, and link someone to a single column with a #field= anchor.

What people use it for

Corpus linguistics on synthetic dialogue

22.6 million words of LLM-written conversation by 14 recurring speakers, with turn-level segmentation. A corpus of machine dialogue at a scale and consistency that is hard to assemble from scraped sources — one show, one format, one cast, 5,300 episodes.

Tracking idiom and verbal tics over time

Every turn is timestamped and attributed to a script-writing model. You can follow a phrase — "here’s the thing", "at the end of the day" — as a rate per 10,000 words across eras, and see where in an episode it tends to land.

Measuring repetition and degeneration

Per-episode rep-4 and rep-8, gzip compression ratio, repeated-span coverage and adjacent-turn similarity, each localised to the first, middle and last third. Enough to ask whether a model pads when it runs out of material — the target length it was writing toward is in the data too.

Readability and delivery

Flesch scores, MATTR, hapax ratio and words-per-minute against actual audio duration, so written complexity can be compared with delivered pace.

Production telemetry as ground truth

Per-episode GPU type, worker count, synthesis time and compute cost in USD. A rare public record of what it actually costs to generate and voice long-form audio at scale.

Benchmarking and fine-tuning

Prompt-free, permissively licensed, consistently formatted long-form dialogue. Useful as a conversational-style reference set, or as evaluation data for summarisation and speaker-attribution tasks.

Read this before drawing conclusions

  • The model distribution is extremely uneven. Two script-writing models account for roughly 93 % of the corpus. “Over time” and “by model” are very nearly the same axis and for most of the run cannot be separated.
  • Episode length moved. Median length rose from about 3,000 words in 2025 to about 4,200 in 2026. Most repetition measures move with length, so control for it before reading a trend. Adjacent-turn similarity is the exception.
  • A cleanup pass edits the scripts. Stock AI phrasings are stripped after generation, and the counts are published per category. Without them a fall in those phrasings over time is indistinguishable from the regex that removed them.
  • This is synthetic dialogue. Written by an LLM, spoken by a TTS model. It is an accurate record of what the show said — not human speech, and not a factual reference.
  • Listener prompts are not published. Neither dataset carries the submitted prompt text. Prompt length, the sender’s role and how it arrived are published; the words are not.

Loading it

from datasets import load_dataset

episodes = load_dataset("My-Weird-Prompts/transcripts", "episodes", split="train")
turns    = load_dataset("My-Weird-Prompts/transcripts", "turns",    split="train")

# pub_date is ISO 8601 at mixed precision — pass format="ISO8601" or pandas
# will infer one format from the first row and coerce most of the column to NaT
import pandas as pd
df = episodes.to_pandas()
df["pub_date"] = pd.to_datetime(df["pub_date"], utc=True, format="ISO8601")

main is rebuilt daily, so a figure measured against it cannot be reproduced tomorrow. For a number that stays put, use a dated snapshot under exports/ or pin a commit revision.

Figures on this page are as of 22 September 2026; both datasets grow daily.