Auto Audio

Server-side content ingestion

Send article content from your server instead of having the widget extract it from the page.

Building a server-to-server or agent integration? Use the Articles API instead: POST /v1/articles takes the same URL-or-text input with an api_ key, proper status codes, a pollable job resource, webhooks, and MCP tools. The endpoint below is the widget protocol and stays supported for existing integrations.

If your system already has the article content (for example, a headless CMS or a feed ingestion pipeline), you can supply it directly in the POST /audio/auto body instead of relying on automatic content extraction. This produces deterministic audio that does not depend on the quality of server-side scraping.

Server-to-server only. This path is intended for authenticated backend integrations and requires a valid bearer token (see Authentication). Do not send article bodies from browser/widget code — the JavaScript widget should send the page URL (and optional structured data) instead.

Modes of Operation

  • Full override (scraping skipped): when the body contains both text and title, the system uses your content verbatim and does not fetch or scrape the page. The url is still required, but only as the canonical identifier and cache key.
  • Per-field override (scraping fills the gaps): if you provide some content fields but omit text or title (and send no structured data), the page is scraped and your supplied fields take precedence — extraction fills only the fields you leave blank. For example, send only text to replace the article body while letting extraction supply the title, image, and byline.

Ingestion Parameters

Parameter Type Description
text string Article body to narrate. With title, fully replaces content extraction.
title string Article headline. With text, fully replaces content extraction.
authors array of strings Author bylines. Normalized, read aloud in the narration, and added as author: tags.
custom_byline string Exact byline text to read aloud, overriding the auto-generated author string.
summary string Article summary / description.
category string Single section/category. Added as a category: tag.
art_url string URL of the article's artwork/featured image.
published_at string Publication timestamp (ISO 8601). Used for deduplication and update detection.
tags array of strings Additional pass-through tags (e.g., stock tickers).

Example (Full Override)

curl -X POST https://creator.everlit.audio/audio/auto \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "url": "https://example.com/article",
    "publication_id": "pblc_abc123xyz",
    "title": "City Council Approves New Transportation Plan",
    "text": "The city council voted 7-2 on Tuesday to approve a comprehensive transportation plan...",
    "authors": ["Jane Doe", "John Smith"],
    "summary": "A comprehensive look at the new transportation plan.",
    "category": "Local News",
    "art_url": "https://example.com/images/council.jpg",
    "published_at": "2026-05-29T10:30:00Z",
    "tags": ["transportation", "city-council"]
  }'
Note: When content is supplied this way, all other generation options (voice selection, mixing, disclaimer, conversation mode, etc.) behave exactly as they do for URL-based conversions.