Episodes

These endpoints are deprecated thin wrappers around the Conversions API. They continue to work but will be removed in a future version.

Deprecated. Use POST /conversions with source_type: "changelog" instead. The Episodes endpoints are maintained for backward compatibility and will be removed in a future version. New integrations should use the Conversions API.

Create a new episode (deprecated)

POST/episodes

Create a new episode (deprecated)

Parameters

ParameterTypeRequiredDescription
Idempotency-KeystringOptionalUnique key for idempotent requests. Keys must be 1-256 printable ASCII characters. If the same key is sent within 24 hours, the cached response is returned.
X-Organization-IDstringOptionalSpecify organization context for multi-org users. If omitted, uses default org for API key.

Request Body

ParameterTypeRequiredDescription
contentstringRequiredChangelog content (max 50KB)
modestring
changelogproduct-feature
Optional(default: changelog)
output_formatstring
audiovideo
Optional(default: audio)
settingsobjectOptional
screenshot_urlsstring[]Optional
webhook_urlstringOptional
waitbooleanOptional(default: false)
additional_contextstringOptionalAdditional context for the AI script generator (max 10KB)
further_detailsstringOptionalDeprecated alias for additional_context. Use additional_context instead.
use_historybooleanOptional(default: true)
history_limitintegerOptional(default: 10)
public_urlbooleanOptional(default: false)
voiceobjectOptionalTTS voice configuration. Applies to ElevenLabs when provider is "elevenlabs".

settings

ParameterTypeRequiredDescription
product_namestringOptional
versionstringOptional
tonestring
casualprofessionalenthusiastictechnical
Optional(default: casual)
audiencestringOptional
verbositystring
briefnormaldetailed
Optional(default: normal)
durationstring
briefnormaldetailed
Optional(default: normal)Alias for verbosity

voice

ParameterTypeRequiredDescription
providerstring
geminielevenlabs
Optional(default: gemini)Text-to-speech provider
delivery_presetstring
measureddynamictheatrical
OptionalControls the pacing and energy of the narration
expression_settings.emotional_rangestring
subtlemoderatefull
Optional
expression_settings.allow_whisperingbooleanOptional
expression_settings.allow_laughterbooleanOptional
expression_settings.emphasis_stylestring
pausesboth
Optional
expression_settings.emotional_arcbooleanOptional
pronunciation_notesstringOptionalPronunciation guidance for product names, acronyms, etc.
voice_idstringOptionalElevenLabs voice ID for single-speaker mode
modelstring
v3flash_v2
OptionalElevenLabs model to use
host_voice_ids.host1stringOptionalElevenLabs voice ID for host 1
host_voice_ids.host2stringOptionalElevenLabs voice ID for host 2

Body

{
"content": "## v2.0.0 - New Features\n- Added dark mode support\n- Improved performance by 40%",
"mode": "changelog",
"output_format": "audio",
"settings": {
"product_name": "MyApp",
"version": "2.0.0",
"tone": "casual"
},
"additional_context": "This release focuses on performance improvements after customer feedback.",
"use_history": true,
"history_limit": 5
}

List episodes (deprecated)

GET/episodes

List episodes (deprecated)

Parameters

ParameterTypeRequiredDescription
X-Organization-IDstringOptionalSpecify organization context for multi-org users. If omitted, uses default org for API key.
statusstring
pendingprocessinggeneratingcompletedfailed
Optional
modestring
changelogproduct-feature
Optional
output_formatstring
audiovideo
Optional
created_afterstringOptional
created_beforestringOptional
limitintegerOptional(default: 20)
cursorstringOptional
curl -X GET https://logtalk.io/api/v1/episodes \
-H "Authorization: Bearer lt_live_your_api_key_here" \
-H "Content-Type: application/json"

Get episode details (deprecated)

GET/episodes/{id}

Get episode details (deprecated)

Parameters

ParameterTypeRequiredDescription
idstringRequiredEpisode UUID
X-Organization-IDstringOptionalSpecify organization context for multi-org users. If omitted, uses default org for API key.
expandstringOptional
curl -X GET https://logtalk.io/api/v1/episodes/{id} \
-H "Authorization: Bearer lt_live_your_api_key_here" \
-H "Content-Type: application/json"

Retry a failed episode (deprecated)

POST/episodes/{id}/retry

Retry a failed episode (deprecated)

Parameters

ParameterTypeRequiredDescription
idstringRequiredEpisode UUID
X-Organization-IDstringOptionalSpecify organization context for multi-org users. If omitted, uses default org for API key.

Request Body

ParameterTypeRequiredDescription
override_settingsobjectOptional
webhook_urlstringOptional

override_settings

ParameterTypeRequiredDescription
product_namestringOptional
versionstringOptional
tonestring
casualprofessionalenthusiastictechnical
Optional(default: casual)
audiencestringOptional
verbositystring
briefnormaldetailed
Optional(default: normal)
durationstring
briefnormaldetailed
Optional(default: normal)Alias for verbosity
curl -X POST https://logtalk.io/api/v1/episodes/{id}/retry \
-H "Authorization: Bearer lt_live_your_api_key_here" \
-H "Content-Type: application/json"

Delete an episode (deprecated)

DELETE/episodes/{id}

Delete an episode (deprecated)

Parameters

ParameterTypeRequiredDescription
idstringRequiredEpisode UUID
X-Organization-IDstringOptionalSpecify organization context for multi-org users. If omitted, uses default org for API key.
curl -X DELETE https://logtalk.io/api/v1/episodes/{id} \
-H "Authorization: Bearer lt_live_your_api_key_here" \
-H "Content-Type: application/json"

Request Headers

Optional headers that can be used with episode endpoints:

HeaderDescription
X-Organization-IDSpecify organization context for multi-org users. If omitted, uses the default organization for the API key.
Idempotency-KeyUnique key to prevent duplicate operations (POST endpoints only).

Idempotency

Use idempotency keys to safely retry requests without creating duplicate episodes. Include the Idempotency-Key header with a unique value:

curl -X POST https://logtalk.io/api/v1/episodes \
-H "Authorization: Bearer lt_live_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: release-v2.0.0-20260118" \
-d '{"content": "...", "output_format": "audio"}'
  • Keys must be 1-256 printable ASCII characters
  • Keys are valid for 24 hours
  • Retrying with the same key returns the cached response
  • Using the same key with a different request body returns 409 Conflict

Public Sharing & Embedding

When you create an episode with public_url: true, the response includes URLs for public sharing and embedding:

FieldDescription
listen_urlFull public page with audio player, show notes, share buttons, and subscribe form.
embed_urlCompact player designed for iframe embedding on external sites.

Embedding with iframe

Use the embed_url to embed a compact audio player on your website:

<iframe
src="https://logtalk.io/embed/550e8400-e29b-41d4-a716-446655440000"
width="100%"
height="180"
frameborder="0"
allow="autoplay"
></iframe>

oEmbed Support

LogTalk supports the oEmbed protocol for automatic embed discovery. Platforms like Notion, Medium, and others can automatically embed your episodes when you paste the listen_url.

oEmbed endpoint: https://logtalk.io/api/oembed?url={listen_url}