De Public API is beschikbaar op:
https://api.aistemsplitter.org/v1De voorbeelden hieronder gaan uit van BASE_URL=https://api.aistemsplitter.org.
Maak een API-sleutel aan via Instellingen → Ontwikkelaar. Bewaar de API-sleutel en het webhook signing secret zodra ze worden getoond, want ze worden maar één keer weergegeven.
API-assets
Authenticatie
Stuur je sleutel als bearer token:
curl -sS "$BASE_URL/v1/credits" \
-H "Authorization: Bearer $AISTEMSPLITTER_API_KEY"Een split maken vanaf een Direct URL
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"
}'Uploadflow
Reserveer eerst een upload:
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
}'Upload het bestand naar de teruggegeven uploadUrl met de teruggegeven
uploadHeaders en maak daarna de split met input.type ingesteld op
uploaded_file.
Status opvragen
curl -sS "$BASE_URL/v1/audio/splits/$SPLIT_ID" \
-H "Authorization: Bearer $AISTEMSPLITTER_API_KEY"Statussen zijn queued, processing, succeeded en failed. Geslaagde jobs
bevatten niet-lege stem-URL's.
Webhooks
Wanneer webhookUrl is opgegeven, verstuurt AIStemSplitter een eindevent:
{
"event": "audio.split.completed",
"data": {
"id": "split_123",
"status": "succeeded"
}
}Verifieer AIStemSplitter-Signature met het webhook signing secret:
AIStemSplitter-Signature: t=1760000000,v1=<hex-hmac>De HMAC-invoer is:
<timestamp>.<raw-json-body>Gebruik SHA-256 HMAC en weiger verouderde timestamps in je ontvanger.
Credits
Eén credit is gelijk aan één seconde bronaudio. GET /credits retourneert het
huidige saldo in seconden.
Foutcodes
| Code | HTTP | Betekenis |
|---|---|---|
UNAUTHORIZED | 401 | API-sleutel ontbreekt of is ongeldig |
INSUFFICIENT_CREDITS | 402 | Niet genoeg credits |
VALIDATION_ERROR | 422 | Ongeldige request body of audiobron |
RATE_LIMITED | 429 | API-sleutel overschrijdt de limiet per minuut |
SERVER_ERROR | 500 | Interne servicefout |