Content

Content operations and usage information

Get usage information

get

Returns current usage statistics and remaining credits

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
chevron-right
200

Successful response

application/json
allowedintegerOptional

Total credits allowed

usedintegerOptional

Total credits used

allowedDailyPodcastsintegerOptional

Daily podcast limit

usedDailyPodcastsintegerOptional

Podcasts created today

get
/content/Usage

Get queued and processing request counts

get

Returns lightweight queue counts for the authenticated client. Active means queued + processing.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
chevron-right
200

Successful response

application/json
successbooleanOptional
queuedintegerOptional

Requests waiting to be picked up for processing

processingintegerOptional

Requests currently in progress

activeintegerOptional

queued + processing

get
/content/QueueStats

Get queued or processing request IDs

get

Returns paginated request IDs and lightweight request metadata for the authenticated client.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
statestring · enumOptional

Request state to fetch. active means queued + processing; all is accepted as an alias for active.

Default: activePossible values:
pageinteger · min: 1Optional

Page number for pagination, starting at 1.

Default: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page.

Default: 50
Responses
chevron-right
200

Successful response

application/json
successbooleanOptional
statestring · enumOptionalPossible values:
idsstring[]Optional
countintegerOptional

Number of items in this page

total_countintegerOptional
pageintegerOptional
page_sizeintegerOptional
total_pagesintegerOptional
get
/content/QueueRequests

Get all podcasts

get

Returns all podcasts created by the current client, optionally filtered by status. Supports optional pagination.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
statusstring · enumOptional

Filter podcasts by status (all=all podcasts, queued=status=0 and no error, failed=has errorOn, succeeded=status=100, processed=has processingOn)

Default: allPossible values:
pageinteger · min: 1Optional

Page number for pagination (starts at 1). If not provided, returns all results.

Example: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page (max 100, default 50 if page is specified)

Example: 20
Responses
chevron-right
200

Successful response

application/json
or
get
/content/Podcasts

Get all transcripts

get

Returns all transcripts created by the current client, optionally filtered by status. Supports optional pagination.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
statusstring · enumOptional

Filter transcripts by status (all=all transcripts, queued=status=0 and no error, failed=has errorOn, succeeded=status=100, processed=has processingOn)

Default: allPossible values:
pageinteger · min: 1Optional

Page number for pagination (starts at 1). If not provided, returns all results.

Example: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page (max 100, default 50 if page is specified)

Example: 20
Responses
chevron-right
200

Successful response

application/json
or
get
/content/Transcripts

Create new content

post

Generate new content based on resources, topic, feed selections, researches, YouTube channels, or linked podcast episodes. Use video metadata fields (titlePrompt, descriptionPrompt, thumbnailImagePrompt, introImagePrompt, voices, publishTargets, format) when outputType is video. Video requests ignore the generic duration field if it is provided. Set isScheduled or templateMode to create recurring templates instead of immediate processing.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
topicstringOptional

Topic for content generation (alternative to resources, feedSelections, or researches)

researchesstring[]Optional

Array of research IDs to include as text resources (max 10)

projectsstring[]Optional

Array of project IDs to use as context for generation (max 10)

youtubeChannelsstring[]Optional

YouTube channel IDs already connected to the account to use as sources

podcastEpisodeIdsstring[]Optional

Completed audio request IDs to reuse as podcast episode sources (max 10)

textstringOptional

Instructions or query for content generation

outputTypestring · enumRequired

Type of output content to generate

Possible values:
durationstring · enumOptional

Duration preference for audio and slide deck generation. Ignored for video requests.

Possible values:
formatstring · enumOptional

For video, accepted values are explainer, brief, and cinematic (defaults to explainer). cinematic video requests cost 100 credits. For briefing_doc, accepted values are text, html, and pdf (defaults to pdf). Ignored for other output types.

Possible values:
stylestringOptional

Style of the generated content. For audio/text, use one of: deep dive, brief, critique, debate. For video, any custom style text is accepted (defaults to classic when omitted).

introMusicUrlstringOptional

HTTPS URL to optional intro music (.mp3, .wav, or .m4a) mixed at lower volume at the start of the podcast

includeCitationsbooleanOptional

Whether to include citations (PRO only)

ignorePaywalledResourcesbooleanOptional

When true, continue processing even if some URL resources fail to import (paywall/restrictions). The request fails only if none of the provided resources are successfully imported.

infographicOrientationstring · enumOptional

Infographic orientation (defaults to landscape)

Possible values:
infographicDetailstring · enumOptional

Infographic detail level (defaults to standard)

Possible values:
slideDeckFormatstring · enumOptional

Slide deck format (defaults to detailed). Length is controlled via the standard duration field (short, default, long). Slide deck prompt uses the main text field.

Possible values:
quizDifficultystring · enumOptional

Difficulty level for quiz outputs (defaults to medium). Quiz prompt uses the main text field.

Possible values:
callbackDatastringOptional

Optional data to include in webhooks

relatedIdstringOptional

Existing request ID to relate this request to (must belong to the same token)

notebookIdstringOptional

Notebook ID for enterprise clients

languagestringOptional

Language for content generation

scheduledOnstring · date-timeOptional

Schedule the content generation for a specific time

podcastIdstringOptional

Podcast show ID to associate this content with

episodeTitlestringOptional

Optional episode title when attaching to a podcast show

titlestringOptional

Custom title to use for generated video outputs. When provided, overrides the automatically generated title.

titlePromptstringOptional

Prompt to guide the generated video title

descriptionPromptstringOptional

Prompt to guide the generated video description

thumbnailImagePromptstringOptional

Prompt to control the generated thumbnail image for video outputs

introImagePromptstringOptional

Prompt to control the intro image for video outputs

voice1integerOptional

Primary custom voice ID (required when providing voice2 for video requests)

voice2integerOptional

Secondary custom voice ID (requires voice1)

isScheduledbooleanOptional

Create a recurring schedule instead of a single request

dailyCountinteger · min: 1 · max: 24Optional

Number of times per day to run when isScheduled is true

scheduleEndDatestring · date-timeOptional

Optional end date for recurring schedules (requires isScheduled true)

Responses
chevron-right
200

Request accepted

application/json
or
or
post
/content/Create

Repurpose a completed request

post

Creates a new request using the resources and parameters of a completed request, allowing a new output type and optional updated text.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
requestIdstringRequired

Identifier of the completed request to repurpose

outputTypestring · enumRequired

Output type for the new request

Possible values:
languagestringOptional

Optional language override for the new request (defaults to the original request language)

textstringOptional

Optional text instructions that replace the original TEXT parameter

callbackDatastringOptional

Optional callback data to associate with the new request

durationstring · enumOptional

Duration preference for audio and slide deck repurpose requests. Ignored for video requests.

Possible values:
infographicOrientationstring · enumOptional

Orientation when repurposing to an infographic

Possible values:
infographicDetailstring · enumOptional

Detail level when repurposing to an infographic

Possible values:
slideDeckFormatstring · enumOptional

Format when repurposing to a slide deck

Possible values:
quizDifficultystring · enumOptional

Difficulty level when repurposing to a quiz

Possible values:
titlestringOptional

Override video title when repurposing to video

titlePromptstringOptional

Prompt to guide the generated title when repurposing to video

descriptionPromptstringOptional

Prompt to guide the generated description when repurposing to video

formatstring · enumOptional

Video format (defaults to explainer). Only applies when outputType is video. cinematic costs 100 credits.

Possible values:
stylestringOptional

Custom style text for video outputs

thumbnailImagePromptstringOptional

Prompt to control the generated thumbnail image for video outputs

introImagePromptstringOptional

Prompt to control the generated intro image for video outputs

avatarIdintegerOptional

Optional avatar identifier for explainer video generation. If omitted, inherits from the source request when available.

audioLanguagestringOptional

Optional audio language override for explainer video generation metadata. If omitted, inherits from the source request when available.

textLanguagestringOptional

Optional text language override for explainer video generation metadata. If omitted, inherits from the source request when available.

backgroundImageUrlstringOptional

Optional background image URL for explainer video generation metadata. If omitted, inherits from the source request when available.

voiceIdintegerOptional

Optional voice identifier for explainer video generation metadata. If omitted, inherits from the source request when available.

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the new request

statusintegerOptional

Initial status code (0)

post
/content/Repurpose

Check request status

get

Get the status of a content generation request

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Request ID

Responses
chevron-right
200

Successful response

application/json
or
get
/content/Status/{id}

List content requests

get

Get a list of content generation requests. Supports optional pagination.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pageinteger · min: 1Optional

Page number for pagination (starts at 1). If not provided, returns all results.

Example: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page (max 100, default 50 if page is specified)

Example: 20
Responses
chevron-right
200

Successful response

application/json
or
get
/content/List

Get available voices

get

List all available voices for audio generation

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
chevron-right
200

Successful response

application/json
idstringOptional

Voice ID

namestringOptional

Voice name

clientIdstringOptional

ID of the client that owns this voice (for custom voices)

get
/content/GetVoices

Get current client info

get

Returns current client ID

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
chevron-right
200

Successful response

application/json
clientIdstringOptional

Current authenticated client ID

get
/content/Me

Register webhook

post

Register a webhook URL for notifications

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
urlstring · uriRequired

Webhook URL to register

Responses
chevron-right
200

Webhook registered

application/json
idstringOptional

Webhook ID

urlstringOptional

Registered webhook URL

post
/content/Webhook

Remove webhook

post

Remove a registered webhook

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequired

ID of the webhook to remove

Responses
chevron-right
200

Webhook removed

application/json
successbooleanOptional

Whether the operation was successful

post
/content/RemoveWebhook

Get webhooks

get

List all registered webhooks

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
chevron-right
200

Successful response

application/json
idstringOptional

Webhook ID

urlstringOptional

Registered webhook URL

get
/content/Webhooks

Modify podcast

post

Modify an existing podcast with new voices and background music

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
audioUrlstringRequired

URL to the audio file to modify

voice1stringRequired

ID of first voice to use

voice2stringRequired

ID of second voice to use

instructionsstringOptional

Additional instructions

backgroundMusicUrlstringOptional

Optional URL to background music file

callbackDatastringOptional

Optional data for webhook callbacks

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post
/content/ModifyPodcast

Separate speakers in audio

post

Separate speakers in an audio file

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
audioUrlstringRequired

URL to the audio file

callbackDatastringOptional

Optional data for webhook callbacks

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

post
/content/SeparateSpeakersAudio

Clone voice

post

Clone a voice from an audio file (PRO only). Accepts either a file upload or a URL.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
audioFilestring · binaryOptional

MP3 audio file to upload (max 10MB). Cannot be used with audioUrl.

namestringRequired

Name for the cloned voice

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post
/content/CloneVoice

Get transcript

post

Generate transcript from an audio file or episode. Accepts file upload, URL, or episode ID (only one at a time).

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
audioFilestring · binaryOptional

MP3 or WAV audio file to upload (max 50MB). Cannot be used with audioUrl or episodeId.

callbackDatastringOptional

Optional data for webhook callbacks

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post
/content/GetTranscript

Get transcript by episode ID

get

Retrieve an existing transcript for a specific episode

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
episodeIdstringRequired

The ID of the episode to get the transcript for

Responses
chevron-right
200

Transcript retrieved successfully

application/json
successbooleanOptional

Whether the operation was successful

episodeIdstringOptional

The episode ID that was requested

requestIdstringOptional

The original request ID used to generate this transcript

transcriptstringOptional

The transcript content (JSON string format)

createdOnstring · date-timeOptional

When the transcript was created

get
/content/GetTranscript/{episodeId}

Create podcast from custom script

post

Create a podcast using a custom script

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
scriptstringRequired

Script with SPEAKER_00/SPEAKER_01 prefixes

voice1stringRequired

ID of first voice to use (SPEAKER_00)

voice2stringRequired

ID of second voice to use (SPEAKER_01)

callbackDatastringOptional

Optional data for webhook callbacks

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post
/content/CreatePodcastCustomScript

Create podcast with custom voices

post

Create a podcast with specified voices based on resources, topic, or feeds. Either 'resources', 'topic', or 'feeds' must be provided.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
topicstringOptional

Topic for content generation (alternative to resources or feeds)

feedsinteger[]Optional

Array of feed IDs for content generation (alternative to resources or topic, max 10)

projectsstring[]Optional

Array of project IDs to use as context for generation (max 10)

textstringOptional

Instructions or query for content generation

voice1stringRequired

ID of first voice to use

voice2stringRequired

ID of second voice to use

durationstring · enumOptional

Duration preference for content generation

Possible values:
stylestring · enumOptional

Style of podcast content (defaults to deep dive)

Possible values:
languagestringOptional

Optional language for the generated podcast (leave empty to use the default)

notebookIdstringOptional

Notebook ID for enterprise clients

callbackDatastringOptional

Optional data for webhook callbacks

Responses
chevron-right
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post
/content/CreatePodcastCustomVoices

Remove cloned voice

post

Remove a cloned voice owned by the current user

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idintegerRequired

ID of the voice to remove

Responses
chevron-right
200

Voice removed successfully

application/json
successbooleanOptional

Whether the operation was successful

messagestringOptional

Success message

post
/content/RemoveVoice

Delete request

post

Mark a content request as deleted

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequired

ID of the request to delete

Responses
chevron-right
200

Request deleted successfully

application/json
successbooleanOptional

Whether the operation was successful

messagestringOptional

Success message

post
/content/DeleteRequest

Schedule multiple podcasts

post

Create multiple podcasts at once, scheduled at intervals from a start time. Supports two modes - URLs mode (one podcast per episode, with each episode containing multiple URLs) or cached sources mode (feedSelections and/or youtubeChannels). Either 'urls' or (feedSelections/youtubeChannels + numberOfEpisodes) must be provided, but not both.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
anyOptional
or
anyOptional
or
anyOptional
Responses
chevron-right
200

Podcasts scheduled successfully

application/json
successbooleanOptional

Whether the operation was successful

total_createdintegerOptional

Total number of requests created

start_timestring · date-timeOptional

Start time used for scheduling

frequency_minutesintegerOptional

Frequency in minutes between requests

modestring · enumOptional

Mode used for scheduling

Possible values:
total_feeds_per_episodeintegerOptional

Number of feed groups per episode (sources mode only)

total_feed_items_per_episodeintegerOptional

Number of cached feed items per episode (sources mode only)

total_youtube_channels_per_episodeintegerOptional

Number of YouTube channels per episode (sources mode only)

total_urlsintegerOptional

Total number of URLs across all episodes (URLs mode only)

post
/content/Schedule

Last updated