For the complete documentation index, see llms.txt. This page is also available as Markdown.

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
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 /content/Usage HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "allowed": 1,
  "used": 1,
  "allowedDailyPodcasts": 1,
  "usedDailyPodcasts": 1
}

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
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 /content/QueueStats HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "queued": 1,
  "processing": 1,
  "active": 1
}

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
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 /content/QueueRequests HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "state": "queued",
  "ids": [
    "text"
  ],
  "items": [
    {
      "id": "text",
      "status": 1,
      "request_type_id": 1,
      "output_type": "text",
      "requested_on": "2026-01-01T00:00:00.000Z",
      "processing_on": "2026-01-01T00:00:00.000Z",
      "scheduled_on": "2026-01-01T00:00:00.000Z"
    }
  ],
  "count": 1,
  "total_count": 1,
  "page": 1,
  "page_size": 1,
  "total_pages": 1
}

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
200

Successful response

application/json
or
get/content/Podcasts
GET /content/Podcasts HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "text",
    "requestTypeId": 1,
    "audioTitle": "text",
    "audioUrl": "text",
    "responseText": "text",
    "requestedOn": "2026-01-01T00:00:00.000Z",
    "succeededOn": "2026-01-01T00:00:00.000Z",
    "errorOn": "2026-01-01T00:00:00.000Z",
    "processingOn": "2026-01-01T00:00:00.000Z",
    "errorMessage": "text",
    "status": 1,
    "shareUrl": "text"
  }
]

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
200

Successful response

application/json
or
get/content/Transcripts
GET /content/Transcripts HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "text",
    "audioTitle": "text",
    "audioUrl": "text",
    "responseText": "text",
    "requestedOn": "2026-01-01T00:00:00.000Z",
    "succeededOn": "2026-01-01T00:00:00.000Z",
    "errorOn": "2026-01-01T00:00:00.000Z",
    "processingOn": "2026-01-01T00:00:00.000Z",
    "errorMessage": "text",
    "status": 1,
    "language": "text",
    "callbackData": "text",
    "scheduledOn": "2026-01-01T00:00:00.000Z"
  }
]

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)

logoUrlstring ยท uriOptional

Optional HTTP or HTTPS PNG/JPG image URL for video, infographic, and slide_deck requests. Any source dimensions are accepted, but the image must be fully opaque and no larger than 5 MB; it is normalized to an opaque 200x50 PNG using the same rules as a project image. When supplied, it overrides the project logo for this request while project context and branding colors still apply. When omitted, the project logo and then the default logo are used.

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, short, 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:
callbackDatastring ยท max: 500Optional

Optional data to include in webhooks (maximum 500 characters)

relatedIdstringOptional

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

notebookIdstringOptional

Owned Private Notebook ID. When present, generation uses that notebook's saved sources and its license's exact dedicated account, follows Private Notebooks capacity instead of content credits, and rejects additional request sources or generic topic/project inputs.

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 from /content/GetVoices. Use the numeric id value, not the voice name.

voice2integerOptional

Secondary custom voice id from /content/GetVoices. 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
200

Request accepted

application/json
or
or
post/content/Create
POST /content/Create HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1054

{
  "resources": [
    {
      "type": "text",
      "content": "text"
    }
  ],
  "topic": "text",
  "feedSelections": [
    {
      "feedId": 1,
      "feedItemIds": [
        "text"
      ]
    }
  ],
  "researches": [
    "text"
  ],
  "projects": [
    "text"
  ],
  "logoUrl": "https://example.com",
  "youtubeChannels": [
    "text"
  ],
  "podcastEpisodeIds": [
    "text"
  ],
  "text": "text",
  "outputType": "audio",
  "duration": "short",
  "format": "explainer",
  "style": "text",
  "introMusicUrl": "text",
  "includeCitations": true,
  "ignorePaywalledResources": true,
  "infographicOrientation": "landscape",
  "infographicDetail": "concise",
  "slideDeckFormat": "detailed",
  "quizDifficulty": "easy",
  "callbackData": "text",
  "relatedId": "text",
  "notebookId": "text",
  "language": "text",
  "scheduledOn": "2026-01-01T00:00:00.000Z",
  "podcastId": "text",
  "episodeTitle": "text",
  "title": "text",
  "titlePrompt": "text",
  "descriptionPrompt": "text",
  "thumbnailImagePrompt": "text",
  "introImagePrompt": "text",
  "voice1": 1,
  "voice2": 1,
  "publishTargets": [
    {
      "channel": "text",
      "youtubeAccountId": "text",
      "youtubePlaylistId": "text"
    }
  ],
  "templateMode": {
    "type": "feed",
    "name": "text"
  },
  "isScheduled": true,
  "dailyCount": 1,
  "scheduleEndDate": "2026-01-01T00:00:00.000Z"
}
{
  "request_id": "text",
  "status": 1
}

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 id from /content/GetVoices for explainer video metadata. Use the numeric id value, not the voice name. If omitted, inherits from the source request when available.

Responses
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the new request

statusintegerOptional

Initial status code (0)

post/content/Repurpose
POST /content/Repurpose HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 487

{
  "requestId": "text",
  "outputType": "audio",
  "language": "text",
  "text": "text",
  "callbackData": "text",
  "duration": "short",
  "infographicOrientation": "landscape",
  "infographicDetail": "concise",
  "slideDeckFormat": "detailed",
  "quizDifficulty": "easy",
  "title": "text",
  "titlePrompt": "text",
  "descriptionPrompt": "text",
  "format": "explainer",
  "style": "text",
  "thumbnailImagePrompt": "text",
  "introImagePrompt": "text",
  "avatarId": 1,
  "audioLanguage": "text",
  "textLanguage": "text",
  "backgroundImageUrl": "text",
  "voiceId": 1
}
{
  "request_id": "text",
  "status": 1
}

Check request status

get

Get the status of a content generation request. A non-null error_on or non-zero error_code is a terminal failure; the numeric status may remain at its last processing stage, including 0.

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

Request ID

Responses
200

Successful response

application/json
or
get/content/Status/{id}
GET /content/Status/{id} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "audio_title": "text",
  "status": 1,
  "audio_url": "text",
  "video_url": "text",
  "image_url": "text",
  "response_text": "text",
  "requested_on": "2026-01-01T00:00:00.000Z",
  "callback_data": "text",
  "updated_on": "2026-01-01T00:00:00.000Z",
  "request_type_id": 1,
  "error_code": 1,
  "citations": [
    {
      "text": "text",
      "source": "text",
      "page": 1,
      "timeMs": 1
    }
  ],
  "file_size": 1,
  "audio_duration": 1,
  "share_url": "text",
  "briefing_doc_url": "text",
  "document_format": "text",
  "document_content": "text",
  "document_url": "text"
}

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
200

Successful response

application/json
or
get/content/List
GET /content/List HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "text",
    "requestTypeId": 1,
    "status": 1,
    "requestedOn": "2026-01-01T00:00:00.000Z",
    "audioTitle": "text"
  }
]

Get available voices

get

List all available voices for audio generation

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

Successful response

application/json
idintegerOptional

Numeric voice id to pass as voice1, voice2, or voiceId in voice-enabled requests

namestringOptional

Voice name

clientIdstringOptional

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

get/content/GetVoices
GET /content/GetVoices HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": 1,
    "name": "text",
    "clientId": "text"
  }
]

Get current client info

get

Returns current client ID

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

Successful response

application/json
clientIdstringOptional

Current authenticated client ID

get/content/Me
GET /content/Me HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "clientId": "text"
}

Register webhook

post

Register an HTTPS webhook URL for terminal request notifications. Callbacks are sent for both successes and failures; failure callbacks include error_code and error_message.

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

Webhook URL to register

Responses
200

Webhook registered

application/json
idstringOptional

Webhook ID

urlstringOptional

Registered webhook URL

post/content/Webhook
POST /content/Webhook HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 29

{
  "url": "https://example.com"
}
{
  "id": "text",
  "url": "text"
}

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
200

Webhook removed

application/json
successbooleanOptional

Whether the operation was successful

post/content/RemoveWebhook
POST /content/RemoveWebhook HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "id": "text"
}
{
  "success": true
}

Get webhooks

get

List all registered webhooks

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

Successful response

application/json
idstringOptional

Webhook ID

urlstringOptional

Registered webhook URL

get/content/Webhooks
GET /content/Webhooks HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "text",
    "url": "text"
  }
]

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

voice1integerRequired

Numeric id of first voice from /content/GetVoices

voice2integerRequired

Numeric id of second voice from /content/GetVoices

instructionsstringOptional

Additional instructions

backgroundMusicUrlstringOptional

Optional URL to background music file

callbackDatastringOptional

Optional data for webhook callbacks

Responses
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post/content/ModifyPodcast
POST /content/ModifyPodcast HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 113

{
  "audioUrl": "text",
  "voice1": 1,
  "voice2": 1,
  "instructions": "text",
  "backgroundMusicUrl": "text",
  "callbackData": "text"
}
{
  "request_id": "text",
  "status": 1
}

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
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

post/content/SeparateSpeakersAudio
POST /content/SeparateSpeakersAudio HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "audioUrl": "text",
  "callbackData": "text"
}
{
  "request_id": "text"
}

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
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post/content/CloneVoice
POST /content/CloneVoice HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 36

{
  "audioFile": "binary",
  "name": "text"
}
{
  "request_id": "text",
  "status": 1
}

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
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post/content/GetTranscript
POST /content/GetTranscript HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 44

{
  "audioFile": "binary",
  "callbackData": "text"
}
{
  "request_id": "text",
  "status": 1
}

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
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}
GET /content/GetTranscript/{episodeId} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "episodeId": "text",
  "requestId": "text",
  "transcript": "text",
  "createdOn": "2026-01-01T00:00:00.000Z"
}

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

voice1integerRequired

Numeric id of first voice from /content/GetVoices (SPEAKER_00)

voice2integerRequired

Numeric id of second voice from /content/GetVoices (SPEAKER_01)

callbackDatastringOptional

Optional data for webhook callbacks

Responses
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post/content/CreatePodcastCustomScript
POST /content/CreatePodcastCustomScript HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "script": "text",
  "voice1": 1,
  "voice2": 1,
  "callbackData": "text"
}
{
  "request_id": "text",
  "status": 1
}

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

voice1integerRequired

Numeric id of first voice from /content/GetVoices

voice2integerRequired

Numeric id of second voice from /content/GetVoices

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
200

Request accepted

application/json
request_idstringOptional

Unique ID for tracking the request

statusintegerOptional

Initial status code (0)

post/content/CreatePodcastCustomVoices
POST /content/CreatePodcastCustomVoices HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 230

{
  "resources": [
    {
      "type": "text",
      "content": "text"
    }
  ],
  "topic": "text",
  "feeds": [
    1
  ],
  "projects": [
    "text"
  ],
  "text": "text",
  "voice1": 1,
  "voice2": 1,
  "duration": "short",
  "style": "deep dive",
  "language": "text",
  "notebookId": "text",
  "callbackData": "text"
}
{
  "request_id": "text",
  "status": 1
}

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
200

Voice removed successfully

application/json
successbooleanOptional

Whether the operation was successful

messagestringOptional

Success message

post/content/RemoveVoice
POST /content/RemoveVoice HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 8

{
  "id": 1
}
{
  "success": true,
  "message": "text"
}

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
200

Request deleted successfully

application/json
successbooleanOptional

Whether the operation was successful

messagestringOptional

Success message

post/content/DeleteRequest
POST /content/DeleteRequest HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "id": "text"
}
{
  "success": true,
  "message": "text"
}

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
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
POST /content/Schedule HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 574

{
  "urls": [
    [
      "https://example.com/article1",
      "https://example.com/article2"
    ],
    [
      "https://example.com/article3"
    ]
  ],
  "feedSelections": [
    {
      "feedId": 1,
      "feedItemIds": [
        "post-123",
        "post-456"
      ]
    }
  ],
  "numberOfEpisodes": 5,
  "youtubeChannels": [
    "yt-channel-1",
    "yt-channel-2"
  ],
  "frequency": 60,
  "instructions": "Create a conversational podcast discussing the main points",
  "brandUrl": "https://yourbrand.com",
  "duration": "default",
  "style": "deep dive",
  "language": "English",
  "podcastId": "text",
  "episodeTitle": "text",
  "voice1": 1,
  "voice2": 1,
  "startOn": "2024-01-01T12:00:00Z",
  "callbackData": "text",
  "notebookId": "text"
}
{
  "success": true,
  "scheduled_requests": [
    {
      "request_id": "text",
      "urls": [
        "text"
      ],
      "scheduled_on": "2026-01-01T00:00:00.000Z",
      "status": 1
    }
  ],
  "total_created": 1,
  "start_time": "2026-01-01T00:00:00.000Z",
  "frequency_minutes": 1,
  "mode": "URLs",
  "total_feeds_per_episode": 1,
  "total_feed_items_per_episode": 1,
  "total_youtube_channels_per_episode": 1,
  "total_urls": 1
}

Last updated