Skip to Content
Audio

Audio Workflow

Ichos uses an “Audio-First” approach. You upload or import raw media files independently of episodes. This ensures that only fully processed, valid audio is ever served to listeners.

Method 1: Direct Upload

Best for uploading files from a browser or client application.

1. Get Presigned URL

Request a temporary URL to upload the file.

GET /v1/audio/put

Response:

{ "uploadUrl": "https://s3.amazonaws.com/...", "audioId": "audio_123", "key": "temp/..." }

2. Upload File

Use a standard HTTP PUT request to send the file binary to the uploadUrl.

3. Finalize

Tell the API the upload is complete. This triggers the processing worker.

POST /v1/audio/{audioId}

Method 2: Pull from URL

Best for migrating content or importing from other servers.

POST /v1/audio/pull { "url": "https://example.com/audio.mp3" }

This returns an audioId immediately. The download happens asynchronously.

Checking Status

You can poll the status of an audio file to see if it’s ready to be linked to an episode.

GET /v1/audio/{audioId}

Statuses:

  • uploading: Waiting for file.
  • processing: Transcoding, checking bitrate, calculating duration.
  • done: Ready to use.
  • failed: Processing error (corrupt file, etc.).

Linking

Once the status is done, you can link this audio to an episode using the PUT /v1/episodes/{id}/link-audio endpoint.

Audio can also be linked to other resources.

Last updated on