# AudioDN — Full LLM-readable site dump
> AudioDN (Audio Delivery Network) is audio delivery infrastructure for developers and creators. One API and a drop-in web component handle upload, transcoding, signed delivery, and playback. Built on Cloudflare's global edge network.
This file is a deeper companion to /llms.txt, intended for AI agents that want a single document containing the product surface, integration paths, full API endpoint inventory, pricing, and trust posture.
---
## 1. Product overview
AudioDN provides infrastructure for audio delivery:
- Audio file uploading and processing (resumable, direct-to-storage signed URLs)
- Automatic variant generation: high-quality MP3, low-bandwidth MP3, preview clip, waveform image/video, analysis JSON
- Secure streaming with session-based access control (scoped, time-gated URLs)
- Embeddable Player and Uploader web components
- Multi-tenant support via Organizations, Collections, Tracks, and Creators
## 2. Audiences
AudioDN is developer-primary with a dashboard-led path for creators.
- **Developers** — REST API, OpenAPI 3.1 spec, drop-in web components, scoped client-side keys.
- **Platforms** (SaaS, marketplaces, media platforms) — server-provisioned upload and play sessions, webhooks, multi-tenant collections.
- **Creators** (no-code) — dashboard-led upload, embed snippets, time-limited share links. See https://audiodeliverynetwork.com/for-creators.
## 3. Integration approaches
AudioDN supports three integration patterns that can be mixed and matched:
### Client-side
Use ADN web components (Player & Uploader) with Client-Side API Keys. The components handle all API calls behind the scenes — no backend required. Best for static sites, prototypes, and projects without a backend.
### Server-side
Use ADN's API directly from your server to store tracks and fetch them for playback. Build fully custom upload and player experiences without ADN components. Required for mobile apps, custom players, and platforms needing fine-grained access control.
### Hybrid
Use ADN's API server-to-server to provision upload and play sessions, then pass those session IDs to ADN's web components on the frontend. Your backend controls who can upload and play; the components handle the UI. Best for SaaS products, paywalled content, and subscription services.
Detailed guides:
- /docs/integration/web
- /docs/integration/mobile
- /docs/integration/server-side
- /docs/integration/hybrid
## 4. Key concepts
- **Organization** — a client account on AudioDN. Configures default branding, webhooks, billing.
- **Collection** — a logical container for tracks (folder, album, podcast feed, course module).
- **Track** — an individual audio file with metadata, status (`processing` → `ready`), and variants.
- **Variant** — a processed version of a track (e.g. HQ streaming, LQ streaming, preview clip, waveform).
- **Upload Session** — short-lived token for uploading one or more tracks to a collection.
- **Play Session** — short-lived token granting access to specific tracks and variants. Configurable TTL, scopable to a single end-user identifier.
- **Signed URL** — time-gated playback URL minted by a play session.
- **Client-Side API Key** — scoped key for embedding in web/mobile (Player role: read playback; Uploader role: write to one collection).
- **API Access Key** — full-access key for server-to-server calls. Server-only.
- **Creator** — a sub-account under a client (artist, podcaster, contributor) used for usage tracking, access control, and analytics.
## 5. URLs
- Marketing site: https://audiodeliverynetwork.com
- Documentation: https://audiodeliverynetwork.com/docs
- API base URL: https://api.audiodelivery.net (all endpoints prefixed with /v1)
- OpenAPI 3.1 spec: https://audiodeliverynetwork.com/openapi.json
- AI-agent integration guide: https://audiodeliverynetwork.com/for-ai-agents
- Account dashboard: https://account.audiodeliverynetwork.com
- Status: https://status.audiodeliverynetwork.com
- Components CDN: https://components.audiodelivery.net
## 6. Authentication
All API endpoints require a bearer token in the `Authorization` header:
```
Authorization: Bearer YOUR_API_KEY
```
Two key roles:
- **Server-side API key** — full access. Mint and store on the server only.
- **Client-side keys** — scoped to a single collection or track. Roles: Player (read-only playback) and Uploader (write to one collection). Safe to embed in browsers and mobile apps.
Mint, scope, and rotate keys at https://account.audiodeliverynetwork.com (Settings → API Keys).
## 7. API endpoint inventory
All endpoints are prefixed with `/v1/`. Complete schemas at https://audiodeliverynetwork.com/openapi.json.
### Organizations
- `GET /v1/organization/{organization_id}` — get organization
- `PUT /v1/organization/{organization_id}` — update organization
### Collections
- `GET /v1/collection` — list collections (limit, offset)
- `GET /v1/collection/{collection_id}` — get collection
- `POST /v1/collection` — create collection (title required)
- `PUT /v1/collection/{collection_id}` — update collection
- `DELETE /v1/collection/{collection_id}` — delete collection
- `GET /v1/collection/{collection_id}/track` — list tracks in collection
### Tracks
- `GET /v1/track/{track_id}` — get track
- `POST /v1/track` — create track (collection_id, file_name required)
- `PUT /v1/track/{track_id}` — update track
- `DELETE /v1/track/{track_id}` — delete track
### Cover images
- `POST /v1/collection/{collection_id}/cover` — generate collection cover upload URL
- `POST /v1/track/{track_id}/cover` — generate track cover upload URL
### Upload sessions
- `POST /v1/upload_session` — create upload session (collection_id required)
- `GET /v1/upload_session/{upload_session_id}` — get upload session
- `POST /v1/upload/{upload_session_id}/track` — create track within an upload session
### Play sessions
- `POST /v1/play_session/{scope}` — create play session; scope is `collection`, `track`, or `playlist`
- `GET /v1/play_session/{play_session_id}` — get play session
- `GET /v1/play/{play_session_id}/{play_track_id}` — get a specific track in a play session, including signed variant URLs
### Variants
- `GET /v1/variant` — list variants (limit, offset)
- `GET /v1/variant/{variant_id}` — get variant
### Track upload lifecycle
When a file is uploaded to AudioDN, it moves through these stages:
1. **Create upload session** — your app requests an upload session via the API (or the uploader component does it automatically with a Client-Side API key). The API returns a signed upload URL and a session ID.
2. **Upload file** — the audio file is uploaded directly to storage using the signed URL. Once the upload completes, processing begins automatically.
3. **Initialization** — ADN probes the file to extract duration, codec info, and stream metadata. A default 320-sample waveform is generated for the player.
4. **Variant processing** — each configured variant (transcodes, previews, analysis, waveform images/videos) is processed in parallel. Track status is `processing`.
5. **Fallback processing** — if a file is too large or hits resource limits, the job is automatically retried on a higher-capacity processor. Status becomes `fallback_processing`. No action needed from your side.
6. **Cover image and color extraction** — if the audio file contains embedded cover art, ADN extracts it, uploads it to the image CDN, and scans for a color palette. The most vibrant color is auto-selected as the `player_color` for theming.
7. **Track ready** — once all variants finish, status is set to `ready` (or `incomplete` if some variants failed but at least one playable variant succeeded).
8. **Webhook notification** — if a webhook URL is configured on the organization, ADN sends a `POST` with the track ID, status, variant details, and metadata.
### Error envelope
All endpoints may return:
```json
{
"ok": false,
"message": "string",
"api_request_id": "uuid"
}
```
Common HTTP status codes: 200 (success), 400 (bad request), 401 (unauthorized), 404 (not found), 500 (internal server error).
## 8. Web components
### Player
```html
```
### Uploader
```html
```
Component reference: /docs/components/player, /docs/components/uploader, /docs/components/waveform.
## 9. Five-step minimal setup
1. Sign up at https://account.audiodeliverynetwork.com and mint a server-side API key.
2. (Optional) Create a collection: `POST /v1/collection` with `{ "title": "..." }`.
3. Mint an upload session: `POST /v1/upload_session` with `{ "collection_id": "..." }`. Response includes `upload_session_id`.
4. Create a track within the session: `POST /v1/upload/{upload_session_id}/track` with `{ "file_name": "..." }`. Response includes `track_upload.upload_url`. Upload the audio bytes (PUT) to that signed URL.
5. Mint a play session: `POST /v1/play_session/track` with `{ "track_id": "...", "variants": ["hq", "lq"] }`. Response includes signed playback URLs.
## 10. Pricing
All plans include free processing, unlimited plays, and zero egress fees. Plans differ by storage, max track length, and max file size.
| Plan | Launch sale | Standard | Storage | Max track | Max file |
|---|---|---|---|---|---|
| Creator | $4.99/mo | $9.99/mo | 10 GB | 30 min | 200 MB |
| Business | $14.99/mo | $19.99/mo | 50 GB (overage $1 / 5 GB) | 60 min | 500 MB |
| Platform & Enterprise | — | $499/mo | 1 TB ($499/TB overage) | 120 min | 1 GB+ |
Creator and Business plans include a 30-day free trial.
Full pricing page: https://audiodeliverynetwork.com/pricing
## 11. Trust and security
- **Encryption**: TLS 1.2+ in transit. AES-256 at rest.
- **Signed URLs**: time-gated, scoped to a track or collection, configurable TTL.
- **Key scoping**: client-side keys are limited to a single resource and a single role (Player or Uploader).
- **Server-side keys**: never appear in browsers; can be rotated without invalidating in-flight sessions.
- **Sub-processors**: Cloudflare (R2, Workers, edge cache), Stripe (billing).
- **AI training**: we do not train models on your audio.
- **Compliance posture**: SOC 2 in progress. GDPR DPA available on request.
- **Responsible disclosure**: security@audiodeliverynetwork.com
Full controls: https://audiodeliverynetwork.com/security
## 12. Documentation map
- /docs — Overview, integration paths, glossary
- /docs/variant-types — Available variant types
- /docs/api — API reference overview
- /docs/api/organizations — Organization endpoints
- /docs/api/collections — Collection endpoints
- /docs/api/tracks — Track endpoints
- /docs/api/covers — Cover image endpoints
- /docs/api/upload-sessions — Upload session endpoints
- /docs/api/play-sessions — Play session endpoints
- /docs/api/variants — Variant endpoints
- /docs/integration/web — Drop-in component setup
- /docs/integration/mobile — iOS, Android, Flutter
- /docs/integration/server-side — Full API control
- /docs/integration/hybrid — Server-provisioned sessions with components
- /docs/components/player — Player web component
- /docs/components/uploader — Uploader web component
- /docs/components/waveform — Waveform web component
- /docs/roadmap — Feature roadmap
## 13. Contact
- Sales: sales@audiodeliverynetwork.com
- Support: support@audiodeliverynetwork.com
- Security: security@audiodeliverynetwork.com