Content
Successful response
Total credits allowed
Total credits used
Daily podcast limit
Podcasts created today
Unauthorized
GET /content/Usage HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"allowed": 1,
"used": 1,
"allowedDailyPodcasts": 1,
"usedDailyPodcasts": 1
}Successful response
Requests waiting to be picked up for processing
Requests currently in progress
queued + processing
Unauthorized
GET /content/QueueStats HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"success": true,
"queued": 1,
"processing": 1,
"active": 1
}Request state to fetch. active means queued + processing; all is accepted as an alias for active.
activePossible values: Page number for pagination, starting at 1.
1Number of items per page.
50Successful response
Number of items in this page
Invalid state
Unauthorized
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
}Filter podcasts by status (all=all podcasts, queued=status=0 and no error, failed=has errorOn, succeeded=status=100, processed=has processingOn)
allPossible values: Page number for pagination (starts at 1). If not provided, returns all results.
1Number of items per page (max 100, default 50 if page is specified)
20Successful response
Invalid status parameter
Unauthorized
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"
}
]Filter transcripts by status (all=all transcripts, queued=status=0 and no error, failed=has errorOn, succeeded=status=100, processed=has processingOn)
allPossible values: Page number for pagination (starts at 1). If not provided, returns all results.
1Number of items per page (max 100, default 50 if page is specified)
20Successful response
Invalid status parameter
Unauthorized
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"
}
]Topic for content generation (alternative to resources, feedSelections, or researches)
Array of research IDs to include as text resources (max 10)
Array of project IDs to use as context for generation (max 10)
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.
YouTube channel IDs already connected to the account to use as sources
Completed audio request IDs to reuse as podcast episode sources (max 10)
Instructions or query for content generation
Type of output content to generate
Duration preference for audio and slide deck generation. Ignored for video requests.
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.
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).
HTTPS URL to optional intro music (.mp3, .wav, or .m4a) mixed at lower volume at the start of the podcast
Whether to include citations (PRO only)
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.
Infographic orientation (defaults to landscape)
Infographic detail level (defaults to standard)
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.
Difficulty level for quiz outputs (defaults to medium). Quiz prompt uses the main text field.
Optional data to include in webhooks (maximum 500 characters)
Existing request ID to relate this request to (must belong to the same token)
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.
Language for content generation
Schedule the content generation for a specific time
Podcast show ID to associate this content with
Optional episode title when attaching to a podcast show
Custom title to use for generated video outputs. When provided, overrides the automatically generated title.
Prompt to guide the generated video title
Prompt to guide the generated video description
Prompt to control the generated thumbnail image for video outputs
Prompt to control the intro image for video outputs
Primary custom voice id from /content/GetVoices. Use the numeric id value, not the voice name.
Secondary custom voice id from /content/GetVoices. Requires voice1.
Create a recurring schedule instead of a single request
Number of times per day to run when isScheduled is true
Optional end date for recurring schedules (requires isScheduled true)
Request accepted
Invalid request
Unauthorized
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
}Identifier of the completed request to repurpose
Output type for the new request
Optional language override for the new request (defaults to the original request language)
Optional text instructions that replace the original TEXT parameter
Optional callback data to associate with the new request
Duration preference for audio and slide deck repurpose requests. Ignored for video requests.
Orientation when repurposing to an infographic
Detail level when repurposing to an infographic
Format when repurposing to a slide deck
Difficulty level when repurposing to a quiz
Override video title when repurposing to video
Prompt to guide the generated title when repurposing to video
Prompt to guide the generated description when repurposing to video
Video format (defaults to explainer). Only applies when outputType is video. cinematic costs 100 credits.
Custom style text for video outputs
Prompt to control the generated thumbnail image for video outputs
Prompt to control the generated intro image for video outputs
Optional avatar identifier for explainer video generation. If omitted, inherits from the source request when available.
Optional audio language override for explainer video generation metadata. If omitted, inherits from the source request when available.
Optional text language override for explainer video generation metadata. If omitted, inherits from the source request when available.
Optional background image URL for explainer video generation metadata. If omitted, inherits from the source request when available.
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.
Request accepted
Unique ID for tracking the new request
Initial status code (0)
Invalid request or request not completed
Unauthorized
Original request not found
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
}Request ID
Successful response
Unauthorized
Request not found
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"
}Page number for pagination (starts at 1). If not provided, returns all results.
1Number of items per page (max 100, default 50 if page is specified)
20Successful response
Unauthorized
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"
}
]Successful response
Numeric voice id to pass as voice1, voice2, or voiceId in voice-enabled requests
Voice name
ID of the client that owns this voice (for custom voices)
Unauthorized
GET /content/GetVoices HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 1,
"name": "text",
"clientId": "text"
}
]Successful response
Current authenticated client ID
Unauthorized
GET /content/Me HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"clientId": "text"
}Webhook URL to register
Webhook registered
Webhook ID
Registered webhook URL
Invalid request
Unauthorized
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"
}ID of the webhook to remove
Webhook removed
Whether the operation was successful
Invalid request
Unauthorized
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
}Successful response
Webhook ID
Registered webhook URL
Unauthorized
GET /content/Webhooks HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": "text",
"url": "text"
}
]URL to the audio file to modify
Numeric id of first voice from /content/GetVoices
Numeric id of second voice from /content/GetVoices
Additional instructions
Optional URL to background music file
Optional data for webhook callbacks
Request accepted
Unique ID for tracking the request
Initial status code (0)
Invalid request
Unauthorized
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
}URL to the audio file
Optional data for webhook callbacks
Request accepted
Unique ID for tracking the request
Invalid request
Unauthorized
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"
}MP3 audio file to upload (max 10MB). Cannot be used with audioUrl.
Name for the cloned voice
Request accepted
Unique ID for tracking the request
Initial status code (0)
Invalid request
Unauthorized
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
}MP3 or WAV audio file to upload (max 50MB). Cannot be used with audioUrl or episodeId.
Optional data for webhook callbacks
Request accepted
Unique ID for tracking the request
Initial status code (0)
Invalid request (missing parameters, both parameters provided, or invalid audio format)
Unauthorized
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
}The ID of the episode to get the transcript for
Transcript retrieved successfully
Whether the operation was successful
The episode ID that was requested
The original request ID used to generate this transcript
The transcript content (JSON string format)
When the transcript was created
Invalid request (missing episode ID)
Unauthorized
Transcript not found for the specified episode ID
Internal server error
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"
}Script with SPEAKER_00/SPEAKER_01 prefixes
Numeric id of first voice from /content/GetVoices (SPEAKER_00)
Numeric id of second voice from /content/GetVoices (SPEAKER_01)
Optional data for webhook callbacks
Request accepted
Unique ID for tracking the request
Initial status code (0)
Invalid request
Unauthorized
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
}Topic for content generation (alternative to resources or feeds)
Array of feed IDs for content generation (alternative to resources or topic, max 10)
Array of project IDs to use as context for generation (max 10)
Instructions or query for content generation
Numeric id of first voice from /content/GetVoices
Numeric id of second voice from /content/GetVoices
Duration preference for content generation
Style of podcast content (defaults to deep dive)
Optional language for the generated podcast (leave empty to use the default)
Notebook ID for enterprise clients
Optional data for webhook callbacks
Request accepted
Unique ID for tracking the request
Initial status code (0)
Invalid request
Unauthorized
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
}ID of the voice to remove
Voice removed successfully
Whether the operation was successful
Success message
Invalid request or missing voice ID
Unauthorized
Voice not found or cannot be deleted
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"
}ID of the request to delete
Request deleted successfully
Whether the operation was successful
Success message
Invalid request or missing request ID
Unauthorized
Request not found or not owned by user
Failed to delete request
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"
}Podcasts scheduled successfully
Whether the operation was successful
Total number of requests created
Start time used for scheduling
Frequency in minutes between requests
Mode used for scheduling
Number of feed groups per episode (sources mode only)
Number of cached feed items per episode (sources mode only)
Number of YouTube channels per episode (sources mode only)
Total number of URLs across all episodes (URLs mode only)
Invalid request parameters or insufficient credits
Unauthorized
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