DAYFARO FOR DEVELOPERS

Text in.
Podcast out.

Generate a podcast from source text, review its script, and download an MP3 and transcript. Use the REST API, TypeScript SDK, or an MCP client.

1. Create an API key

Open account settings, create a key, and add credits. Keep the key on your server. The same prepaid balance works across the workspace, API, and MCP.

2. Send your source text

curl https://api.dayfaro.com/v1/podcast \
  -H "Authorization: Bearer $DAYFARO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-unique-request-id" \
  -d '{
    "text": "A fictional city is testing six electric buses. Fares remain unchanged. The trial lasts twelve weeks.",
    "language": "en",
    "target_duration_seconds": 60,
    "voices": ["Kore"]
  }'

The response includes a podcast ID and a queued job. Reuse your idempotency key when retrying the same submission. Source text must contain 40–50,000 characters; links are not fetched.

3. Get the finished episode

curl https://api.dayfaro.com/v1/podcast/PODCAST_ID \
  -H "Authorization: Bearer $DAYFARO_API_KEY"

Poll until the job finishes, then download audio_url and transcript_url. Download links expire, so fetch the episode again for fresh links. Set generate_audio: false in the initial request to review the script first.

Complete API reference ↗

TypeScript SDK

Install the versioned package directly from Dayfaro. This release is distributed as a downloadable package, not through the npm registry.

npm install https://dayfaro.com/downloads/dayfaro-sdk-0.2.0.tgz
import { DayfaroClient } from '@dayfaro/sdk';

const dayfaro = new DayfaroClient({
  baseUrl: 'https://api.dayfaro.com',
  token: process.env.DAYFARO_API_KEY,
});
const podcast = await dayfaro.createPodcast({
  text: sourceText,
  language: 'en',
  target_duration_seconds: 60,
});
const ready = await dayfaro.waitForPodcast(podcast.id, podcast.job.id);
console.log(ready.audio_url);

Connect an assistant through MCP

Use this server URL in an MCP client that supports Streamable HTTP and custom authorization headers:

https://api.dayfaro.com/v1/mcp/

Set the authorization header to Bearer YOUR_DAYFARO_API_KEY. Available tools cover podcast options, generation, status, listing, script editing, audio generation, deletion, and balance checks.

“Turn these notes into a one-minute English podcast. Show me the script before generating the audio.”

Dayfaro has not yet been published in the ChatGPT plugin directory. ChatGPT account linking requires a separate OAuth integration; pasting an API key into a conversation is not a supported connection method.

Usage & errors

Generation uses prepaid credits; usage varies with the source, script, and audio. Script edits, polling, playback, and downloads are free. Measured work may be charged even if a later step fails. A 402 response means the prepaid balance cannot cover the request; 429 means a request or queue limit was reached. Use shorter episodes when the available balance is low. Do not automatically retry a failed generation with a new idempotency key.