Launch-Aktion: Die Pläne Creator und Business sind für begrenzte Zeit rabattiert. Preise ansehen

Tracks hochladen

Wählen Sie, wer die Upload-Session erstellt oder autorisiert, und — wenn Ihr Server sie erstellt — wie Dateien übertragen werden. Die Wiedergabe ist eine separate Entscheidung; siehe Tracks abspielen und darauf zugreifen.

Upload-Lebenszyklus pro Datei

Eine Upload-Session kann viele Dateien autorisieren, aber jede Datei braucht einen eigenen Track und eine eigene Upload-URL. Erstellen Sie die Session, rufen Sie dann für jede Datei POST /v1/upload/{upload_session_id}/track auf und senden Sie die Bytes per PUT an track_upload.upload_url. Optional können Sie beim Erstellen der Session einen verschachtelten track für die erste Datei angeben. Vollständige Referenz: Upload Sessions.

Tracks hochladen

Wählen Sie, wer die Upload session erstellt, und dann — falls nötig — wie Dateien übertragen werden. Upload- und Wiedergabe-Entscheidungen sind unabhängig.

Wer soll die Upload session erstellen oder autorisieren?
Wie soll der Nutzer die Dateien übertragen?

AudioDN Uploader- oder (voice) Recorder-Webkomponenten mit einer Client-Side Upload key

Schnellstes Setup. Eine eingeschränkte Client-Side Upload key; die Komponente erstellt die Session und lädt jede Datei hoch.

1

Eine Client-Side Upload key erstellen

Gehen Sie im Dashboard zu Settings → API Keys und erstellen Sie einen Client-Side Upload-Schlüssel. Optional auf eine Sammlung beschränken. Dieser Schlüssel kann nur Upload-Sessions erstellen — keine Tracks lesen oder löschen.

2

Die Webkomponente installieren

npm install @audiodn/components

Uploader:

import '@audiodn/components/uploader'

Oder (voice) Recorder:

import '@audiodn/components/recorder'

CDN-Alternativen:

<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

Die Webkomponente rendern

<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>

Wenn der Schlüssel auf eine Sammlung beschränkt ist, können Sie collection-id weglassen. Setzen Sie niemals beides: api-key und upload-session-id.

4

Was die Webkomponente macht

Für jede Datei erstellt (oder wiederverwendet) die Komponente eine Upload-Session, ruft POST /v1/upload/:upload_session_id/track auf und lädt die Bytes nach track_upload.upload_url hoch. AudioDN verarbeitet anschließend Ihre konfigurierten Varianten.

Optional: konfigurieren Sie einen track-processing-Webhook, um zu erfahren, wann ein Track bereit ist.

Eigener Client-Upload mit einer Client-Side Upload key

Ihr Browser oder Ihre native App erstellt die Upload-Session und lädt jede Datei hoch. Sie bauen die Oberfläche.

1

Eine Client-Side Upload key erstellen

Erstellen Sie einen eingeschränkten Client-Side Upload-Schlüssel im Dashboard. Sicher zur Einbettung in die App. Verwenden Sie niemals eine API Access key im Client-Code.

2

Eine Upload-Session erstellen

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

Für jede Datei einen Track erstellen

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;

Sie können beim Erstellen der Session auch ein verschachteltes track-Objekt für die erste Datei angeben und diesen Schritt dann für weitere Dateien nutzen. Die Upload-URL liegt unter track_upload.upload_url (nicht am Track-Objekt).

4

Die Bytes hochladen

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

Auf die Verarbeitung warten

Abfragen Sie GET /v1/track/{track_id}, bis track.track_status_id ready ist (erfordert eine API Access key oder das Dashboard), oder nutzen Sie einen Webhook. Client-Side Upload keys können den Track-Status nicht lesen — bevorzugen Sie Webhooks oder eine Server-Abfrage für die Bereitschaft.

Serverseitig erstellte Upload-Session mit dem AudioDN Uploader- oder (voice) Recorder-Webkomponenten

Ihr Server autorisiert den Upload, erstellt eine kurzlebige Session und übergibt sie an die Komponente.

1

Eine API Access key auf Ihrem Server behalten

Erstellen Sie einen API Access-Schlüssel im Dashboard. Senden Sie ihn niemals an den Browser oder die mobile App.

2

Autorisieren, dann eine Upload-Session erstellen

Wenden Sie Ihre eigenen Prüfungen an (Login, Kontingent, Berechtigungen), dann:

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

Die Session an die Webkomponente übergeben

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>

Verwenden Sie nur upload-session-id — setzen Sie nicht zusätzlich api-key.

4

Die Komponente lädt hoch

Der Uploader- oder (voice) Recorder-Webkomponente führt die Track-Erstellung und den Byte-Upload für Sie durch. Optional: Webhook für die Bereitschaft.

Serverseitig erstellte Upload-Session mit einer eigenen Oberfläche

Ihr Server erstellt die Session; Ihre eigene Web- oder native UI erstellt Tracks und lädt Dateien hoch.

1

Eine API Access key auf Ihrem Server behalten

Erstellen Sie einen API Access-Schlüssel. Nur auf dem Server.

2

Eine Upload-Session auf dem Server erstellen

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.

Geben Sie upload_session_id an den Client zurück. Geben Sie die API Access key nicht zurück.

3

Für jede Datei einen Track erstellen (Client oder Server)

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

Die Bytes hochladen

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

Warten, bis bereit

// 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');

Oder nutzen Sie den track-processing-Webhook statt zu pollen.

Verwandte Referenzen