API ReferenceAudioVerify™Poll for the result

Poll for the result

Fetch the status of a recognition job. Poll this endpoint after submitting a video until status is completed, then walk the segments.

GET/api/v4/video-recognition/{job_id}/

Path parameters

ParameterDescription
job_idThe job UUID returned by Submit a video.

Example request

curl https://api.slipstreammusic.com/api/v4/video-recognition/7b2c1e8a-0f4d-4a2b-9c11-7f5a2d9e3c10/ \
  -H "Authorization: Bearer $PARTNER_API_KEY"

Responses (200 OK)

While the job is still running, progress names the stage it has reached:

{
  "job_id": "7b2c1e8a-0f4d-4a2b-9c11-7f5a2d9e3c10",
  "status": "processing",
  "progress": "matching",
  "track": null
}

Completed. segments lists every stretch of music in timeline order, and track repeats the longest identified one:

{
  "job_id": "7b2c1e8a-0f4d-4a2b-9c11-7f5a2d9e3c10",
  "status": "completed",
  "progress": null,
  "track": {
    "id": "11111111-1111-1111-1111-111111111111",
    "title": "Nothing To See",
    "artist": "Auracle",
    "cleared": true,
    "internal": true,
    "isrc": "CAQOQ1521348",
    "score": 99.24,
    "external_label": null,
    "cover": { "...": "..." }
  },
  "segments": [
    {
      "identified": true,
      "start_ms": 0,
      "end_ms": 24985,
      "id": "22222222-2222-2222-2222-222222222222",
      "title": "B2 100",
      "artist": "T-Pain",
      "cleared": true,
      "internal": true,
      "isrc": null,
      "score": 93.91,
      "external_label": null,
      "cover": { "...": "..." }
    },
    {
      "identified": false,
      "start_ms": 24985,
      "end_ms": 50062,
      "id": null,
      "title": null,
      "artist": null,
      "cleared": null,
      "internal": null,
      "isrc": null,
      "score": null,
      "external_label": null,
      "cover": null
    },
    {
      "identified": true,
      "start_ms": 50062,
      "end_ms": 76069,
      "id": "11111111-1111-1111-1111-111111111111",
      "title": "Nothing To See",
      "artist": "Auracle",
      "cleared": true,
      "internal": true,
      "isrc": "CAQOQ1521348",
      "score": 99.24,
      "external_label": null,
      "cover": { "...": "..." }
    },
    {
      "identified": true,
      "start_ms": 76069,
      "end_ms": 101013,
      "id": null,
      "title": "Distant Orbit",
      "artist": "Audioinsmusic",
      "cleared": false,
      "internal": false,
      "isrc": null,
      "score": null,
      "external_label": null,
      "cover": null,
      "suggestions": [
        {
          "id": "870112aa-49e6-446d-9eaf-ee12e36d2163",
          "name": "Mystery Water",
          "artist": { "name": "Thomaz Ayê", "path": "/artists/thomaz-aye" }
        }
      ]
    }
  ]
}

Completed with no music recognized. segments is empty and track is null:

{
  "job_id": "7b2c1e8a-0f4d-4a2b-9c11-7f5a2d9e3c10",
  "status": "completed",
  "progress": null,
  "track": null,
  "segments": []
}

See The RecognitionSegment object for field descriptions.

Polling guidance

  • Poll every 2 to 5 seconds. A clip with one song usually finishes in well under a minute; one carrying several songs takes a couple of minutes, since each stretch is identified on its own. Allow up to 10 minutes before treating a job as stuck.
  • Use progress to tell a user which stage the run is at rather than showing an unqualified spinner.
  • Stop polling once status is completed.
  • Results stay available for about a day after completion, then the job_id expires.

Report every segment, not just track. A video whose first song is cleared can still carry an outside track later on, and reading only track would miss it.

Branch on cleared: true means the account’s subscription covers the track. false means it does not — either the track came from outside Slipstream, or it is a catalog track the plan does not include. Tell those apart with id, and check external_label to name competitor libraries such as Epidemic Sound.

Errors

HTTPWhen
401 / 403Missing or invalid partner key.
404The job_id does not exist, or it has expired from the cache. Submit the video again.