Scripts

Generate scripts separately for preview and editing before converting to audio (video coming soon). This workflow allows you to review and modify the generated script before committing to media generation.

Two-Step Workflow

The scripts API enables a preview-edit-convert workflow:

  1. Generate Script - Create a script from your changelog content
  2. Review & Edit - Preview the script and make any desired changes
  3. Convert to Media - Generate audio (video coming soon) from the (optionally edited) script

Note: Scripts expire after 2 hours. Make sure to convert your script before it expires, or generate a new one.

Generate Script

POST/v1/scripts

Generates a script from changelog content without creating audio. Use this to preview the script before conversion.

Request Body

ParameterTypeRequiredDescription
contentstringRequiredChangelog content in markdown format. Maximum 50KB.
modestring
changelogproduct-feature
Optional(default: changelog)Content type being converted.
settingsobjectOptionalScript generation settings.
screenshot_urlsstring[]OptionalHTTPS URLs of screenshots for context. Maximum 20.

Settings Object

ParameterTypeRequiredDescription
product_namestringOptionalProduct or company name to use in the script.
versionstringOptionalVersion number to emphasize.
tonestring
casualprofessionalenthusiastictechnical
Optional(default: casual)Voice tone for the script.
audiencestringOptionalTarget audience (e.g., "developers").
verbositystring
briefnormaldetailed
Optional(default: normal)Script length preference.

Body

{
"content": "## v2.0.0 Release\n- New feature A\n- Bug fix B",
"mode": "changelog",
"settings": {
"product_name": "MyApp",
"tone": "casual"
}
}

Response Fields

FieldTypeDescription
idstringScript ID (format: script_xxxxxxxxxxxx)
contentstringThe generated script text
estimated_duration_secondsintegerEstimated audio duration based on word count
word_countintegerNumber of words in the script
context_usedbooleanWhether historical changelog context was used
expires_atstringISO 8601 timestamp when the script expires (2 hours)

Convert Script to Media

POST/v1/scripts/{id}/convert

Converts a previously generated script to audio (video coming soon). Optionally provide edited content to use instead of the original script.

Path Parameters

ParameterTypeRequiredDescription
idstringRequiredScript ID in format script_xxxxxxxxxxxx

Request Body

ParameterTypeRequiredDescription
output_formatstring
audiovideo
RequiredDesired output format. (Video coming soon)
edited_contentstringOptionalEdited script content to use instead of the original.
settingsobjectOptionalAdditional settings to override.
webhook_urlstringOptionalHTTPS URL to receive completion webhook.
waitbooleanOptional(default: false)Block until completion (max 90 seconds).

Body

{
"output_format": "audio",
"edited_content": "[NARRATOR]: Here's an updated version of the script with my edits..."
}

Script Expiration

Generated scripts expire after 2 hours. Attempting to convert an expired script returns a 410 Gone error:

{
"success": false,
"error": {
"code": "SCRIPT_NOT_FOUND",
"message": "Script has expired",
"documentation_url": "https://docs.logtalk.io/errors/resources#script"
},
"request_id": "req_1kn5f2a_a3b4c5d6e7f8",
"timestamp": "2026-01-18T17:00:00.000Z"
}

If your script expires, simply generate a new one with POST /v1/scripts.