include: segments for the structural outline with timestamps and transcript line ranges, entities for the complete entity list (instead of the top 20), clips for engagement-ranked highlight clips, topics for topic classifications with slugs, related for the five episodes from other shows most related to this one (for the full ranked list with the reasons behind each match use particle_podcast_list_related_episodes), or transcript for the dialogue transcript (narrow it by speaker or time range via transcript_speaker / transcript_start / transcript_end — full transcripts are large).
This is also where a known episode’s full clip list lives — include: ["clips"]. There is no separate clip-listing tool; relevant clips for a search arrive inline on particle_podcast_search_transcripts matches.
For “every line about X in this episode” use particle_podcast_find_mentions with episode_slug instead — that returns the dialogue around each mention with is_mention flags.
Inputs
The old boolean flags
include_transcript, include_full_segments, and include_full_entities are gone — pass the matching value in the include array instead (["transcript"], ["segments"], ["entities"]). The transcript_* sub-parameters are unchanged.Output
A markdown document with the episode title as an H2, then KV lines (**Podcast:** as Title (slug), **Published:**, **Episode slug:**, **Duration:**, **Counts:** summarising segments/clips/entities), then a paragraph description. The following H3 sections appear when the underlying data is present:
### Speakers— bullets ofName (role)(slug appended as— slug: <entity_slug>when linked).### Top entities— bullets ofName (slug) — salience X.XXX, N occurrences. Capped at 20 unlessincludecontainsentities.### Topics— bullets ofName — slug: <topic_slug>. Only whenincludecontainstopics. The slug round-trips intoparticle_topic_browseandtopic_slugfilters.### Segments— only whenincludecontainssegments. Bullets formatted#N TYPE — Title @ Xs–Ys (transcript lines A–B). Segments are contiguous in those line numbers, not in seconds: where the suffix is present, the gap between one segment’s end and the next’s start is silence with no transcribed speech. The suffix is omitted on episodes segmented before line ranges were recorded, and a small share of those do leave lines uncovered, so the silence guarantee does not extend to them.### Clips— only whenincludecontainsclips. Bullets formattedTitle (clip-id) — TYPE, engagement N @ Xs–Ys.## Related episodes for <episode-slug> (N)— only whenincludecontainsrelated. Numbered lines formatted**Episode title** (episode-slug) — Podcast title (podcast-slug) · YYYY-MM-DD — score 0.84, strong, best first, from other shows only; a single sentence instead when no related episodes have been computed yet. The JSON form carries the section asrelated(episodesplus anotewhen empty), so an honoured-but-empty include is distinguishable from one not requested.### Transcript (<format>)— only whenincludecontainstranscript. Body is the raw transcript text/SRT, or fordialogueformat a series of**Speaker:** textlines.
episode_slug="why-are-we-all-so-stressed", include=["segments","topics"], truncated):
Example
Related
- REST equivalents:
GET /v1/podcasts/episodes/{id},/transcript,/segments,/entities. - For dialogue around a specific entity in this episode, use
particle_podcast_find_mentionswithepisode_slug. - For ranked dialogue across the catalog, use
particle_podcast_search_transcripts. - For the full ranked list of related episodes with the reasons behind each match, a recency window, or paging, use
particle_podcast_list_related_episodes;include: ["related"]here is the five-row inline form.