Developer Portal

Attribution, detection, and rights management for generative AI, delivered as an API. Get your first results in 5 minutes.

Explore the API

Authenticate

Get credentials & access token

Register

Upload & manage your catalog

Protect

Opt-in/opt-out management & screening

Analyze

Attribution, similarity & lyrics

Sureel SDK

Get started with the Node.js / TypeScript SDK.

Node.js / TypeScript

bash
npm install @sureel/sdk

@sureel/sdk on npm →

Python (Coming Soon)

We're building developer tools for AI developers, including a Python library for Sureel with native integration into state-of-the-art frameworks like PyTorch. Stay tuned.

Up and running in 5 minutes

From zero to your first attribution result.

1

Get your credentials

We'll send you a client_id and client_secret after you request access.

→ Email dev@sureel.ai to get your credentials

You'll receive:

json
{
  "auth_url": "https://sureel.eu.auth0.com/oauth/token",
  "client_id": "<Your-Client-Id>",
  "client_secret": "<Your-Client-Secret>",
  "audience": "https://api.sureel.ai"
}
2

Get an access token

OAuth 2.0 client credentials flow:

bash
curl --request POST \
  --url https://sureel.eu.auth0.com/oauth/token \
  --header 'content-type: application/json' \
  --data '{
    "client_id": "<Your-Client-Id>",
    "client_secret": "<Your-Client-Secret>",
    "audience": "https://api.sureel.ai",
    "grant_type": "client_credentials"
  }'

You'll get back a token. Include it in all requests:

Authorization: Bearer <your_token>
3

Make your first request

Every analysis endpoint follows the same pattern:

1. POST to queue a job → get back a requestId

2. GET with requestId to check status → pending | completed | failed

Or skip polling entirely and include a webhook_url in your POST body.

Example: Check if a track is AI-generated

bash
# Queue the analysis
curl -X POST https://api.sureel.ai/v1/ai/audio-ldm/ai-generated-audio-detection \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "audio_url": "https://example.com/track.mp3"
  }'

# Response: { "requestId": "abc123" }
bash
# Poll for results
curl https://api.sureel.ai/v1/ai/audio-ldm/abc123 \
  --header 'Authorization: Bearer <token>'

# Response includes: status, aiGeneratedLikelihood scores per stem, confidence...

That's it. You're making API calls.

View the full API documentation

Using the SDK (Node.js / TypeScript)

bash
npm install @sureel/sdk

@sureel/sdk on npm →

What can you build with Sureel?

Pick what you're trying to do. We'll show you how.

Audio Attribution Analysis (Similarity-Based)

Upload a track. Find out which works in our 12M+ fingerprint registry are the closest matches. This is similarity-based: it tells you the likelihood that content influenced an output.

POST/v1/ai/audio-ldm/audio-attribution-analysis
GET/v1/ai/audio-ldm/{requestId}

What comes back

  • attribution_likelihood: probability scores per matched source
  • confidence_scores: how confident we are in each match
  • Broken down by stems (master, vocals, instrumentals, bass, drums) and time segments
  • topMetrics: best matches per metric, including identical match detection
Full spec

Causal & Correlational Attribution

When you have access to the generation pipeline, this establishes direct links between an AI output and its training data. Not "what looks similar" but "what the model actually drew from."

POST/v1/ai/audio-ldm/calculate-audio-attribution
GET/v1/ai/audio-ldm/{requestId}

What comes back

  • attributionPerCollection: causal attribution % per training data collection
  • attributionPerTrack: same breakdown at individual track level
  • Fairness factor: ensures attribution is distributed equitably
  • Three modes: Decoupled, Integrated, Sureel AI models
Full spec

Accidental Infringement Check

Screen audio for potential accidental copyright similarities before release.

POST/v1/ai/audio-ldm/accidental-infringement-check
Full spec

Similar Song Finder

Find songs similar to a given track across the registry.

POST/v1/ai/audio-ldm/similar-song-finder

What comes back

  • similarTracks[] with track, signed_url, collection_name, track_name
Full spec

Lyrics Analysis

Analyze lyrics for copyright similarity. Supports translated lyrics.

POST/v1/ai/audio-ldm/lyrics-analysis

What comes back

  • Per-chunk score[] (copyright similarity degree), mean_score
  • similar_lyrics_inspected vs similar_lyrics_original
Full spec

Song Analysis (Musicality)

Extract musical characteristics from audio.

POST/v1/ai/audio-ldm/song-analysis

What comes back

  • sampling_rate, song_length, key, tempo, pitch
  • genre_analysis[] and mood_analysis[] per segment
Full spec

Image Attribution Analysis

Same concept, for images. Analyze visual content against the registry.

POST/v1/ai/ldm/attribution-analysis
GET/v1/ai/ldm/{requestId}

What comes back

  • attribution_likelihood, cross_correlation, color_matching
  • pixelwise_similarity, identical_matches
Full spec

AI Detection & Generator Identification

Determine whether audio is AI-generated, human-created, or mixed. Per-segment analysis with confidence. Plus: identify which specific generator produced it.

POST/v1/ai/audio-ldm/ai-generated-audio-detection
GET/v1/ai/audio-ldm/{requestId}

What comes back

  • Results for every stem: master, vocals, instrumentals, bass, drums
  • Per stem: average_value, max_value with confidence scores
  • values[]: per-segment AI likelihood (-1 = inaudible, null = stem not found)
  • generator_detection (beta): per-generator stats when AI probability > 0.5
Full spec

Opt-Out Analysis (Do-Not-Train Registry Check)

Check whether audio has been opted out of AI training.

POST/v1/ai/audio-ldm/opt-out-analysis
GET/v1/ai/audio-ldm/{requestId}

What comes back

  • Matched sources include: album, artist, title, isrc, label, release_date
  • opt_in boolean, score[] per time segment
Full spec

Upload Content & Create Collections

Add audio, images, or video to the Sureel registry. A collection can be an album, single, EP, compilation, or any other grouping.

POST/v1/ai/artist/upload-artwork

What comes back

  • Supports WAV, MP3, M4A, FLAC (audio), JPG, PNG (image), MP4 (video)
  • Rich metadata: trackTitle, isrc, artists[], labels[], genres[], releaseDate
  • Rights info: rightsAdministrator, rightsOwner, publisher, producer
  • AI provenance: aiInfluence classification
Full spec

Manage Collections

View and manage your existing collections.

GET/v1/ai/artist/collections
PUT/v1/ai/artist/collections
DELETE/v1/ai/artist/collections
Full spec

Asset Metadata

Read and update metadata for individual files.

GET/v1/ai/asset-metadata/?fileId=...
PUT/v1/ai/asset-metadata/?fileId=...
Full spec

File Upload

Upload files before referencing them in other endpoints.

POST/v1/files/upload-files
POST/v1/files/generate-upload-urls
Full spec

Stem Split

Separate a track into individual stems for per-stem attribution.

POST/v1/ai/audio-ldm/stem-split
GET/v1/ai/audio-ldm/{requestId}

What comes back

  • stemSplittedAudiosSignedUrls[]: download URLs for each stem
Full spec

Track AI Model Artifacts (Advanced)

For teams running their own AI models. Submit training and inference artifacts for causal attribution.

POST/v1/ai/ai-model-artifacts/track-ai-training-artifacts
POST/v1/ai/ai-model-artifacts/track-ai-inference-artifacts
Full spec

Analysis History

Retrieve paginated history of all previous analysis requests.

GET/v1/ai/analysis-history/

What comes back

  • Parameters: take, cursor, maxTimestamp, requestType, topNAttributionResults
Full spec

Concepts that make the API click

A few things that'll save you time.

Attribution Likelihood (/audio-attribution-analysis) is similarity-based. It scans our 12M+ fingerprint registry and returns the works most similar to your input. Great for screening, discovery, and initial investigation. Does not claim causation.

Causal Attribution (/calculate-audio-attribution) requires access to the generation pipeline. It traces exactly which training data sources influenced a specific output. Returns attributionPerCollection and attributionPerTrack with percentage-based influence scores. Available in decoupled, integrated, or Sureel AI model modes.

When an AI model trains on thousands of sources, attribution naturally skews toward dominant contributors. The fairness factor corrects for this. Rooted in fairness theory, it smartly rotates and rebalances attribution so smaller contributors aren't systematically undervalued. It ensures all sources that actually contributed are equitably represented in the attribution results. This is critical for fair royalty distribution at scale. Unique to Sureel.

duration: Length of each analysis window (seconds for audio, words for lyrics).

period: Interval between the start of each window.

If duration > period, windows overlap for higher accuracy. If both are -1, the full song/text is analyzed in one pass.

Five stems: master (full mix), vocals, instrumentals, bass, drums. Master is always the most reliable. Individual stem analysis varies by endpoint, and some are in beta. Use the /stem-split endpoint to generate stems from a master track.

1. POST to any analysis endpoint → returns { requestId }

2. Poll: GET /v1/ai/audio-ldm/{requestId} status: pending | completed | failed

3. Webhook: Include webhook_url in your POST body. Results delivered to your server when ready.

Decoupled: Supply input audio + output audio + training data references. Attribution computed externally. Quick to integrate with no model access needed.

Integrated: Provide full model access: training history, weights, gradients, activations, conditioning data. Most precise attribution possible.

Sureel AI models: Skip both modes. Use our built-in generative models and attribution is handled end-to-end.

When uploading content, set aiInfluence to one of: "Generated without AI", "AI refined", "AI generated", or "Unknown". This metadata flows through to attribution results and registry records.

See what's been built

From Music Biz hackathons to platform integrations.

FAQ

Email dev@sureel.ai with what you're building. Usually 24–48 hours.

Free registry access for up to 100 assets. Contact us for analysis pricing.

WAV, MP3, M4A, FLAC. For images: JPG, PNG. For video: MP4.

Depends on track length and analysis type. Most complete in seconds to a few minutes. Use webhooks to skip polling.

For duration/period: full content analyzed in one pass. For detection values[]: the segment is inaudible. null: the stem wasn't found.

Yes. Decoupled mode (quick setup) or integrated mode (most precise). Track your model's training and inference artifacts for full causal attribution.

A collection/release is a grouping (album, EP, compilation) identified by collectionUuid. Assets are individual files within collections, each with a fileId.

Yes! Install via npm install @sureel/sdk. See the npm package for documentation.

Contact & Resources