🚀 apiv2 is live!
Trace is served from apiv2.soundverse.ai. Create your API key and manage billing at platform.soundverse.ai.
Error Format
Most errors return a JSON body with a stableerror name, a human-readable message, and whether retrying can help:
retryable. Dataset, library and legacy-upload endpoints pass through the Trace service’s own response, which uses detail (for example a duplicate dataset name) or success and message.
Status Codes
For privacy, a job or dataset that belongs to another account returns
404, exactly as if it did not exist.When an API key is revoked, it can keep working for up to 30 seconds.
Billing
Trace bills your Soundverse balance per job, based on usage.- What a job costs depends on the songs’ length, the layers involved and, for searches, the number of comparisons.
- When you are charged: a hold may be placed when a job is queued, and the final amount is settled after the job completes, usually within a minute or two.
- Failed jobs are not charged. Any hold is returned in full.
- Validation errors are not charged. A request rejected with
4xxnever creates a job.
Check your balance
cURL
4506 is $45.06. total_effective is the amount available to spend.
Budget Cap
Addbudget_tokens to any ingest or search request to cap what the job may cost. Trace prices the job before doing any work. If the price is more than 10% above your cap, the job is refused and finishes as failed, and you are not charged. The error gives the job’s price, for example:
budget_tokens at least as high as the quoted price. Leave budget_tokens out to run without a cap.
Safe Retries (Idempotency)
Network errors can leave you unsure whether a job was created. Send anIdempotency-Key header with every POST that creates a job. Repeating a request with the same key within 24 hours returns the same job instead of creating, and charging for, a second one.
cURL
Rate Limits
Job-creating requests are rate-limited per account over hourly and daily windows. Each kind of job (ingestion, custom search, comprehensive search, use-case search) has its own limit, and all Trace jobs also share an overall limit. The eight use-case searches count together as one kind. Limits depend on your account. When you exceed a limit you receive429 RateLimited; wait, then retry with backoff. Status checks, results, dataset management and uploads do not count towards these limits.
