Every path ends in the same canonical
episode_id, so the same episode named
three ways is one episode, one cache entry and one price.
What identifies an episode
Two things: the feed’s ownguid for the item, and the audio file behind it.
Audivo reads the feed, finds the item, and records the enclosure’s URL, declared
size and publish date. That last pair, plus a probe of the audio, becomes the
asset revision the cache is keyed on: a publisher who re-uploads an episode
gets a new revision and a fresh transcript, while a caller who asks for an
unchanged episode gets the cached one.
Feeds that declare no <itunes:duration> for an item cannot be priced from
metadata and are refused with source_not_supported; a feed too large to read
within the request’s budget is feed_dead. Both are listed on
Errors.
Not supported
These are refused, not queued, so nothing is reserved:- Direct audio URLs and file uploads.
- Spotify-exclusive or YouTube-only shows, and any other pointer that does not resolve to a public RSS feed.
- Audio over 10 hours or 5 GB.
- Music-led shows are not refused, but they are marked
music_ledon search and chart results and excluded from chart-derived selections unless you opt in: the transcription quality bar is spoken-word audio.
Test keys
The API reference describeshk_test_ keys that answer with committed
fixtures and never call inference. They are declared in the contract but
not yet issued: a request with one is refused with a message saying so.
Use a live key against your own free grant for now.
