Alle Systeme betriebsbereit·v1 · stabil

Public API

Erstelle Audio-Stem-Split-Jobs mit API-Keys, Uploads, Polling und signierten Webhooks.

Base URL
https://api.aistemsplitter.org/v1
Auth
Bearer · API-Key
Ratenlimit
Pro Key, pro Minute
Credit-Einheit
1 Credit = 1 Audiosekunde

Die Public API ist unter folgender URL verfügbar:

txt
https://api.aistemsplitter.org/v1

Die folgenden Beispiele gehen von BASE_URL=https://api.aistemsplitter.org aus.

Erstelle einen API-Key unter Einstellungen → Entwickler. Speichere den API-Key und das Webhook-Signatur-Secret sofort, wenn sie angezeigt werden, da sie nur einmal sichtbar sind.

API-Assets

Authentifizierung

Sende deinen Key als Bearer Token:

txt
curl -sS "$BASE_URL/v1/credits" \
  -H "Authorization: Bearer $AISTEMSPLITTER_API_KEY"

Split aus einer Direct URL erstellen

txt
curl -sS -X POST "$BASE_URL/v1/audio/splits" \
  -H "Authorization: Bearer $AISTEMSPLITTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: demo-001" \
  -d '{
    "input": {
      "type": "direct_url",
      "url": "https://example.com/song.mp3"
    },
    "stemModel": "6s",
    "webhookUrl": "https://example.com/webhooks/aistemsplitter"
  }'

Upload-Ablauf

Reserviere zuerst einen Upload:

txt
curl -sS -X POST "$BASE_URL/v1/audio/uploads" \
  -H "Authorization: Bearer $AISTEMSPLITTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "song.wav",
    "contentType": "audio/wav",
    "contentLength": 23812033
  }'

Lade die Datei mit den zurückgegebenen uploadHeaders zur zurückgegebenen uploadUrl hoch und erstelle anschließend den Split mit input.type auf uploaded_file.

Status abfragen

txt
curl -sS "$BASE_URL/v1/audio/splits/$SPLIT_ID" \
  -H "Authorization: Bearer $AISTEMSPLITTER_API_KEY"

Statuswerte sind queued, processing, succeeded und failed. Erfolgreiche Jobs enthalten nicht leere Stem-URLs.

Webhooks

Wenn webhookUrl angegeben ist, sendet AIStemSplitter ein finales Event:

txt
{
  "event": "audio.split.completed",
  "data": {
    "id": "split_123",
    "status": "succeeded"
  }
}

Prüfe AIStemSplitter-Signature mit dem Webhook-Signatur-Secret:

txt
AIStemSplitter-Signature: t=1760000000,v1=<hex-hmac>

Die HMAC-Eingabe ist:

txt
<timestamp>.<raw-json-body>

Verwende SHA-256 HMAC und lehne veraltete Zeitstempel in deinem Empfänger ab.

Credits

Ein Credit entspricht einer Sekunde Quell-Audio. GET /credits gibt das aktuelle Guthaben in Sekunden zurück.

Fehlercodes

CodeHTTPBedeutung
UNAUTHORIZED401API-Key fehlt oder ist ungültig
INSUFFICIENT_CREDITS402Nicht genügend Credits
VALIDATION_ERROR422Request Body oder Audioquelle ist ungültig
RATE_LIMITED429API-Key hat sein Minutenlimit überschritten
SERVER_ERROR500Interner Servicefehler

Bereit, mit AI Stem Splitter zu shippen?

Generieren Sie einen Key in Ihrem Dashboard, fügen Sie eine curl-Anfrage ein und trennen Sie in wenigen Minuten Stems aus Ihren eigenen Apps.