Content

Content operations and usage information

Get usage information

get

Returns current usage statistics and remaining credits

Authorizations
Responses
200

Successful response

application/json
get
GET /content/Usage HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Accept: */*
{
  "allowed": 1,
  "used": 1,
  "allowedDailyPodcasts": 1,
  "usedDailyPodcasts": 1
}

Get all podcasts

get

Returns all podcasts created by the current client, optionally filtered by status

Authorizations
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:
Responses
200

Successful response

application/json
get
GET /content/Podcasts HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "text",
    "requestTypeId": 1,
    "audioTitle": "text",
    "audioUrl": "text",
    "responseText": "text",
    "requestedOn": "2025-08-11T23:59:49.174Z",
    "succeededOn": "2025-08-11T23:59:49.174Z",
    "errorOn": "2025-08-11T23:59:49.174Z",
    "processingOn": "2025-08-11T23:59:49.174Z",
    "errorMessage": "text",
    "status": 1,
    "shareUrl": "text"
  }
]

Get all transcripts

get

Returns all transcripts created by the current client, optionally filtered by status

Authorizations
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:
Responses
200

Successful response

application/json
get
GET /content/Transcripts HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "text",
    "audioTitle": "text",
    "audioUrl": "text",
    "responseText": "text",
    "requestedOn": "2025-08-11T23:59:49.174Z",
    "succeededOn": "2025-08-11T23:59:49.174Z",
    "errorOn": "2025-08-11T23:59:49.174Z",
    "processingOn": "2025-08-11T23:59:49.174Z",
    "errorMessage": "text",
    "status": 1,
    "language": "text",
    "callbackData": "text",
    "scheduledOn": "2025-08-11T23:59:49.174Z"
  }
]

Create new content

post

Generate new content based on resources, topic, or feeds. Either 'resources', 'topic', or 'feeds' must be provided.

Authorizations
Body
topicstringOptional

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

feedsinteger[]Optional

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

researchesstring[]Optional

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

textstringOptional

Instructions or query for content generation

outputTypestring ยท enumRequired

Type of output content

Possible values:
durationstring ยท enumOptional

Duration preference for content generation

Possible values:
includeCitationsbooleanOptional

Whether to include citations (PRO only)

callbackDatastringOptional

Optional data to include in webhooks

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

Responses
200

Request accepted

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

{
  "resources": [
    {
      "type": "text",
      "content": "text"
    }
  ],
  "topic": "text",
  "feeds": [
    1
  ],
  "researches": [
    "text"
  ],
  "text": "text",
  "outputType": "audio",
  "duration": "short",
  "includeCitations": true,
  "callbackData": "text",
  "notebookId": "text",
  "language": "text",
  "scheduledOn": "2025-08-11T23:59:49.174Z",
  "podcastId": "text"
}
{
  "request_id": "text",
  "status": 1
}

Check request status

get

Get the status of a content generation request

Authorizations
Path parameters
idstringRequired

Request ID

Responses
200

Successful response

application/json
Responseone of
or
get
GET /content/Status/{id} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Accept: */*
{
  "id": "text",
  "audio_title": "text",
  "status": 1,
  "audio_url": "text",
  "video_url": "text",
  "image_url": "text",
  "response_text": "text",
  "requested_on": "2025-08-11T23:59:49.174Z",
  "callback_data": "text",
  "updated_on": "2025-08-11T23:59:49.174Z",
  "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"
}

List content requests

get

Get a list of content generation requests

Authorizations
Responses
200

Successful response

application/json
get
GET /content/List HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "text",
    "requestTypeId": 1,
    "status": 1,
    "requestedOn": "2025-08-11T23:59:49.174Z",
    "audioTitle": "text"
  }
]

Get available voices

get

List all available voices for audio generation

Authorizations
Responses
200

Successful response

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

Get current client info

get

Returns current client ID

Authorizations
Responses
200

Successful response

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

Register webhook

post

Register a webhook URL for notifications

Authorizations
Body
urlstring ยท uriRequired

Webhook URL to register

Responses
200

Webhook registered

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

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

Remove webhook

post

Remove a registered webhook

Authorizations
Body
idstringRequired

ID of the webhook to remove

Responses
200

Webhook removed

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

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

Get webhooks

get

List all registered webhooks

Authorizations
Responses
200

Successful response

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

Modify podcast

post

Modify an existing podcast with new voices and background music

Authorizations
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
200

Request accepted

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

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

Separate speakers in audio

post

Separate speakers in an audio file

Authorizations
Body
audioUrlstringRequired

URL to the audio file

callbackDatastringOptional

Optional data for webhook callbacks

Responses
200

Request accepted

application/json
post
POST /content/SeparateSpeakersAudio HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
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)

Authorizations
Body
audioUrlstringRequired

URL to the audio file for voice cloning

namestringRequired

Name for the cloned voice

Responses
200

Request accepted

application/json
post
POST /content/CloneVoice HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "audioUrl": "text",
  "name": "text"
}
{
  "request_id": "text",
  "status": 1
}

Get transcript

post

Generate transcript from an audio file or episode. Either 'audioUrl' or 'episodeId' must be provided, but not both.

Authorizations
Body
audioUrlstringOptional

URL to the audio file (.mp3 or .wav format). Cannot be used with episodeId.

episodeIdstringOptional

ID of an existing episode to transcribe. Cannot be used with audioUrl.

callbackDatastringOptional

Optional data for webhook callbacks

Responses
200

Request accepted

application/json
post
POST /content/GetTranscript HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "audioUrl": "text",
  "episodeId": "text",
  "callbackData": "text"
}
{
  "request_id": "text",
  "status": 1
}

Get transcript by episode ID

get

Retrieve an existing transcript for a specific episode

Authorizations
Path parameters
episodeIdstringRequired

The ID of the episode to get the transcript for

Responses
200

Transcript retrieved successfully

application/json
get
GET /content/GetTranscript/{episodeId} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Accept: */*
{
  "success": true,
  "episodeId": "text",
  "requestId": "text",
  "transcript": "text",
  "createdOn": "2025-08-11T23:59:49.174Z"
}

Create podcast from custom script

post

Create a podcast using a custom script

Authorizations
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
200

Request accepted

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

{
  "script": "text",
  "voice1": "text",
  "voice2": "text",
  "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
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)

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:
notebookIdstringOptional

Notebook ID for enterprise clients

callbackDatastringOptional

Optional data for webhook callbacks

Responses
200

Request accepted

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

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

Remove cloned voice

post

Remove a cloned voice owned by the current user

Authorizations
Body
idintegerRequired

ID of the voice to remove

Responses
200

Voice removed successfully

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

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

Delete request

post

Mark a content request as deleted

Authorizations
Body
idstringRequired

ID of the request to delete

Responses
200

Request deleted successfully

application/json
post
POST /content/DeleteRequest HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
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 feeds mode (multiple podcasts from specified feeds). Either 'urls' or 'feeds' must be provided, but not both.

Authorizations
Body
feedsinteger[]Optional

Array of feed IDs for content generation (feeds mode - cannot be used with urls, max 10)

Example: [1,2,3]
numberOfEpisodesinteger ยท min: 1 ยท max: 100Optional

Number of episodes to create (required when using feeds mode)

Example: 5
frequencyinteger ยท min: 1Required

Frequency in minutes between scheduled podcasts

Example: 60
instructionsstring ยท max: 500Optional

Optional instructions for podcast generation

Example: Create a conversational podcast discussing the main points
brandUrlstring ยท uriOptional

Optional brand/service URL to include in each podcast (URLs mode only)

Example: https://yourbrand.com
durationstring ยท enumOptional

Duration preference for podcasts

Example: defaultPossible values:
languagestringOptional

Language for podcast generation

Example: English
podcastIdstringOptional

Podcast show ID to associate episodes with

voice1stringOptional

ID of first voice (if provided, will use custom voices mode)

voice2stringOptional

ID of second voice (required if voice1 is provided)

startOnstring ยท date-timeOptional

Start time for scheduling (defaults to current time, cannot be more than 24 hours in the past)

Example: 2024-01-01T12:00:00Z
callbackDatastringOptional

Optional data for webhook callbacks

notebookIdstringOptional

Notebook ID for enterprise clients

Responses
200

Podcasts scheduled successfully

application/json
post
POST /content/Schedule HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 438

{
  "urls": [
    [
      "https://example.com/article1",
      "https://example.com/article2"
    ],
    [
      "https://example.com/article3"
    ]
  ],
  "feeds": [
    1,
    2,
    3
  ],
  "numberOfEpisodes": 5,
  "frequency": 60,
  "instructions": "Create a conversational podcast discussing the main points",
  "brandUrl": "https://yourbrand.com",
  "duration": "default",
  "language": "English",
  "podcastId": "text",
  "voice1": "text",
  "voice2": "text",
  "startOn": "2024-01-01T12:00:00Z",
  "callbackData": "text",
  "notebookId": "text"
}
{
  "success": true,
  "scheduled_requests": [
    {
      "request_id": "text",
      "urls": [
        "text"
      ],
      "scheduled_on": "2025-08-11T23:59:49.174Z",
      "status": 1
    }
  ],
  "total_created": 1,
  "start_time": "2025-08-11T23:59:49.174Z",
  "frequency_minutes": 1,
  "mode": "URLs",
  "total_feeds_per_episode": 1,
  "total_urls": 1
}