Offre de lancement : Les forfaits Creator et Business sont réduits pour une durée limitée. Voir les tarifs

Téléverser des pistes

Choisissez qui crée ou autorise la session de téléversement, puis — si votre serveur la crée — comment les fichiers sont transférés. La lecture est une décision distincte ; voir Lire et accéder aux pistes.

Cycle de vie du téléversement par fichier

Une session de téléversement peut autoriser de nombreux fichiers, mais chaque fichier a besoin de sa propre piste et URL de téléversement. Créez la session, puis pour chaque fichier appelez POST /v1/upload/{upload_session_id}/track et envoyez les octets en PUT vers track_upload.upload_url. Incluez éventuellement un track imbriqué à la création de session pour le premier fichier. Référence complète : Upload Sessions.

Téléverser des tracks

Choisissez qui crée l’upload session, puis — si nécessaire — comment les fichiers sont transférés. Les choix d’upload et de lecture sont indépendants.

Qui doit créer ou autoriser l’upload session ?
Comment l’utilisateur doit-il transférer les fichiers ?

AudioDN Uploader ou (voice) Recorder (composants web) avec une Client-Side Upload key

Configuration la plus rapide. Une Client-Side Upload key à portée limitée ; le composant crée la session et téléverse chaque fichier.

1

Créer une Client-Side Upload key

Dans le dashboard allez à Settings → API Keys et créez une clé Client-Side Upload. Limitez-la éventuellement à une collection. Cette clé ne peut créer que des sessions de téléversement — pas lire ni supprimer des pistes.

2

Installer le composant web

npm install @audiodn/components

Uploader :

import '@audiodn/components/uploader'

Ou (voice) Recorder :

import '@audiodn/components/recorder'

Alternatives CDN :

<script type="module" src="https://unpkg.com/@audiodn/components@latest/dist/uploader.js"></script>
<script type="module" src="https://unpkg.com/@audiodn/components@latest/dist/recorder.js"></script>
3

Afficher le composant web

<audiodn-uploader
  api-key="CLIENT-SIDE-UPLOAD-KEY"
  collection-id="COLLECTION-ID"
  accent-color="#ff00ff"
></audiodn-uploader>
<audiodn-recorder
  api-key="CLIENT-SIDE-UPLOAD-KEY"
  collection-id="COLLECTION-ID"
  accent-color="#ff00ff"
></audiodn-recorder>

Si la clé est limitée à une collection, vous pouvez omettre collection-id. Ne définissez jamais à la fois api-key et upload-session-id.

4

Ce que fait le composant web

Pour chaque fichier, le composant crée (ou réutilise) une session de téléversement, appelle POST /v1/upload/:upload_session_id/track, et téléverse les octets vers track_upload.upload_url. AudioDN traite ensuite vos variantes configurées.

Optionnel : configurez un webhook track-processing pour savoir quand une piste est prête.

Téléversement client personnalisé avec une Client-Side Upload key

Votre navigateur ou application native crée la session de téléversement et téléverse chaque fichier. Vous construisez l'interface.

1

Créer une Client-Side Upload key

Créez une clé Client-Side Upload à portée limitée dans le dashboard. Peut être intégrée en toute sécurité dans l’app. N’utilisez jamais une API Access key dans le code client.

2

Créer une session de téléversement

const response = await fetch('https://api.audiodelivery.net/v1/upload_session', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer CLIENT-SIDE-UPLOAD-KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ collection_id: 'COLLECTION-ID', expires_in: 3600 })
});
const { upload_session_id } = await response.json();
3

Créer une piste pour chaque fichier

const response = await fetch(
  `https://api.audiodelivery.net/v1/upload/${upload_session_id}/track`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ file_name: 'song.wav' })
  }
);
const { track_id, track_upload } = await response.json();
const { method, upload_url } = track_upload;

Vous pouvez aussi inclure un objet track imbriqué à la création de session pour le premier fichier, puis utiliser cette étape pour les fichiers supplémentaires. L’URL de téléversement est dans track_upload.upload_url (pas sur l’objet track).

4

Téléverser les octets

await fetch(upload_url, {
  method,
  headers: { 'Content-Type': file.type },
  body: file
});
5

Attendre le traitement

Interrogez GET /v1/track/{track_id} jusqu’à ce que track.track_status_id soit ready (nécessite une API Access key ou le dashboard), ou utilisez un webhook. Les Client-Side Upload keys ne peuvent pas lire l’état d’une piste — préférez les webhooks ou un sondage serveur pour la disponibilité.

Session de téléversement créée côté serveur avec l'AudioDN Uploader ou (voice) Recorder (composants web)

Votre serveur autorise le téléversement, crée une session de courte durée et la passe au composant.

1

Conservez une API Access key sur votre serveur

Créez une clé API Access dans le dashboard. Ne l’envoyez jamais au navigateur ou à l’application mobile.

2

Autoriser, puis créer une session de téléversement

Appliquez vos propres contrôles (connexion, quota, permissions), puis :

const response = await fetch('https://api.audiodelivery.net/v1/upload_session', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_ACCESS_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    collection_id: 'COLLECTION-ID',
    expires_in: 3600
    // Optional: track: { file_name: 'song.wav' } to also create the first track
  })
});

const { upload_session_id, upload_session } = await response.json();
// Pass upload_session_id to the client (Uploader) or continue with per-track create.
3

Passer la session au composant web

npm install @audiodn/components
import '@audiodn/components/uploader'
<audiodn-uploader
  upload-session-id="UPLOAD-SESSION-ID"
  accent-color="#ff00ff"
></audiodn-uploader>
<audiodn-recorder
  upload-session-id="UPLOAD-SESSION-ID"
  accent-color="#ff00ff"
></audiodn-recorder>

Utilisez uniquement upload-session-id — ne définissez pas aussi api-key.

4

Le composant téléverse

L’Uploader ou le (voice) Recorder (composant web) effectue pour vous la création par piste et le téléversement des octets. Optionnel : webhook pour la disponibilité.

Session de téléversement créée côté serveur avec une interface personnalisée

Votre serveur crée la session ; votre UI web ou native personnalisée crée les pistes et téléverse les fichiers.

1

Conservez une API Access key sur votre serveur

Créez une clé API Access. Serveur uniquement.

2

Créer une session de téléversement sur le serveur

const response = await fetch('https://api.audiodelivery.net/v1/upload_session', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_ACCESS_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    collection_id: 'COLLECTION-ID',
    expires_in: 3600
    // Optional: track: { file_name: 'song.wav' } to also create the first track
  })
});

const { upload_session_id, upload_session } = await response.json();
// Pass upload_session_id to the client (Uploader) or continue with per-track create.

Renvoyez upload_session_id au client. Ne renvoyez pas l’API Access key.

3

Créer une piste pour chaque fichier (client ou serveur)

const response = await fetch(
  `https://api.audiodelivery.net/v1/upload/${upload_session_id}/track`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ file_name: 'song.wav' })
  }
);
const { track_id, track_upload } = await response.json();
const { method, upload_url } = track_upload;
4

Téléverser les octets

await fetch(upload_url, {
  method,
  headers: { 'Content-Type': file.type },
  body: file
});
5

Attendre que ce soit prêt

// Processing starts automatically. Poll until ready, or use a webhook.
let track;
do {
  await new Promise((r) => setTimeout(r, 5000));
  const res = await fetch(`https://api.audiodelivery.net/v1/track/${track_id}`, {
    headers: { 'Authorization': 'Bearer YOUR_API_ACCESS_KEY' }
  });
  ({ track } = await res.json());
} while (track.track_status_id !== 'ready');

Ou utilisez le webhook track-processing au lieu de sonder.

Références associées