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. An upload gets an
episode_id too, keyed on the file’s hash, so sending the same file twice is
one entry for your account.
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. Audivo never fetches a URL handed to it as audio; upload the file instead.
- Spotify-exclusive or YouTube-only shows, and any other pointer that does not resolve to a public RSS feed. Audivo’s servers never fetch from those platforms. If you hold the rights to transcribe such audio and obtain the file yourself, upload it.
- Audio over 10 hours or 5 GiB, uploaded or not.
- 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.
