Enterprise API v1API: Process Episode

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.forceRetry is true, 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,
}