API: Process Episode
An asynchronous API that begins processing the given episode information after receiving the request. It can be called idempotently - episodes that are being processed or have been successfully processed will not be processed again. Failed episodes will be automatically retried.
Endpoint
POSThttps://podwise.ai/api/ent/v1/episodes/process
Request Body
type RequestBody = {
// A unique ID provided by the caller that is guaranteed to be unique on their side
uuid: string,
episode: {
// Downloadable audio file URL that must be directly accessible via public internet
audio: string,
// Episode title
title?: string,
// Episode shownotes or description, can be either string or HTML
desc?: string,
// Podcast name
podcast: string,
// Names of hosts and guests, doesn't need to be complete but as comprehensive as possible
speakers: string[],
// Proper nouns and homophones, used to improve recognition accuracy
keywords?: string[],
// Deprecated. Use `desc` instead
podcastDesc?: string,
// Output language: Traditional Chinese | Simplified Chinese | English | Japanese | Korean
language: "TC" | "SC" | "EN" | "JP" | "KR",
},
options?: {
// Whether to generate an article
generateArticle?: boolean,
// Whether to generate a new episode title
generateTitle?: boolean,
// Whether to generate a new episode introduction (shownotes)
generateIntro?: boolean,
// Force retry processing if already processed
forceRetry?: boolean,
},
}đź’ˇ When
options.forceRetryistrue, if the episode has already been successfully processed, it will force reprocessing of that episode. Please note that reprocessing will generate additional usage, which will incur costs.
Response
type Response = {
// Returns true if successfully queued for processing, already processing, or already processed. Returns false if queueing failed
success: boolean,
// Only exists when success is false. See error codes below for details
errCode?: string,
// Returns true if this episode has already been processed, false otherwise
done: boolean,
}