You build the product. We'll handle the audio.
One API for upload, transcoding, secure delivery, and playback. Drop in
<audiodn-player> or call the REST API.
Built on a global edge network.
Live demo
Drop-in HTML
Add audio playback to any page with a single tag.
<script src="https://components.audiodelivery.net/player.js"></script>
<audiodn-player
api-key="CLIENT-SIDE-PLAYER-API-KEY"
scope="collection"
id="COLLECTION-ID"
variants="hq,lq"
size="large"
></audiodn-player>What you get
Four primitives, one API
Each piece works independently. Use the components for a five-minute integration, or call the REST API for full control.
Upload API
Server-issued upload sessions with signed URLs. Direct-to-storage uploads, resumable, no proxying through your backend.
Read the docsVariants & Transcoding
Configure the formats you need (HQ, LQ, previews, waveforms) once. Every upload is processed automatically.
Read the docsSigned Delivery
Time-gated, scoped URLs from a global edge. Rotate keys, scope to a track or collection, set TTLs that match your access model.
Read the docsDrop-in Components
A web component player and uploader you can drop into any page, plus headless APIs for fully custom UI.
Read the docsCode-first proof
Working in three calls
Create an upload session, upload the file, mint a signed play session. The same three-call pattern from any language.
# 1. Create an upload session (server-side, with your API key)
curl -X POST "https://api.audiodelivery.net/v1/upload-session" \
-H "Authorization: Bearer $ADN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "collection_id": "COLLECTION_ID" }'
# Response includes upload_url and session_id.
# 2. Upload the file directly to the signed URL
curl -X PUT "$UPLOAD_URL" --data-binary @track.wav
# 3. Mint a play session for a listener
curl -X POST "https://api.audiodelivery.net/v1/play-session" \
-H "Authorization: Bearer $ADN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "track_id": "TRACK_ID", "ttl_seconds": 3600 }'Full reference at /docs/api and /openapi.json.
Global delivery
Cloudflare edge, 300+ POPs
Audio is stored once and cached at the edge nearest each listener. No multi-region configuration, no cache rules, no egress fees on any plan.
Automatic edge caching
Audio is cached at the nearest edge to your listeners. No CDN configuration, no cache rules.
300+ edge locations
Served from data centers across six continents. Tokyo, Toronto, or Tallinn.
Unlimited plays included
Every plan includes unlimited playback with no per-play or bandwidth surcharges.
Built on Cloudflare
R2, Workers, edge cache
99.9% target uptime
Encryption everywhere
Signed URLs by default
Built for
Developers and platforms
Developers
Ship audio features in days, not months. Use the REST API directly or drop in our web components. Full OpenAPI spec, signed URLs, and a free tier to start.
Web integration guidePlatforms
SaaS, marketplaces, and media platforms running audio at scale. Server-provisioned upload and play sessions, scoped keys, webhook lifecycle events, and multi-tenant collections.
Hybrid integration guideNot a developer?
Use the AudioDN dashboard to upload, manage, and embed audio without writing code.
FAQ
Start free
Sign up, mint your first key, and have a player live on your site in minutes.