---
title: "Tracks based on image"
method: GET
path: "/v0/tracks/matching-image/{imageId}"
tags: ["Tracks"]
---

# Tracks based on image

`GET /v0/tracks/matching-image/{imageId}`

Upload an image from the user's video to get recommendations of tracks in the Epidemic Sound library that would work for the video. Use ImageID retrieved from the Upload Image endpoint to fetch the recommended tracks.

## Path parameters

- `imageId` string, required

## Query parameters

- `offset` integer
- `limit` integer
- `genre` string[]
- `mood` string[]

## Response `200`

Paginated list of tracks

- TracksResponse
  - `tracks` TrackResponse[], required
    - `id` string, required — Unique ID of the track
    - `mainArtists` string[], required — The main artist that created the track.
    - `featuredArtists` string[], required — Additional artists that contributed to the track.
    - `title` string, required — Title of the track
    - `bpm` integer, required — Beats per minute for the track.
    - `length` integer, required — Track length in seconds
    - `moods` MoodResponse[], required — Lists the moods of the track.
      - `id` string, required — Unique ID of the mood
      - `name` string, required — Name of the mood
    - `genres` GenreResponse[], required — Lists the genres of the track.
      - `id` string, required
      - `name` string, required
      - `parent` ParentGenreResponse
        - `id` string, required — Unique ID of the parent genre
        - `name` string, required — Name of the parent genre
    - `images` ImagesResponse
      - `default` string, nullable
      - `L` string, nullable
      - `M` string, nullable
      - `S` string, nullable
      - `XS` string, nullable
    - `waveformUrl` string, required — Reference to the waveform as a json object.
    - `hasVocals` boolean, nullable — Set to true if the track has vocals. Set to false for instrumental tracks.
    - `added` string, required — The date the track was released in the format YYYY-mm-dd.
    - `tierOption` 'PAID' | 'FREE', nullable
    - `isrc` string, nullable — International Standard Recording Code (ISRC) of the track, e.g. "SE5Q52401263".
    - `vocalType` 'LEAD' | 'PRESENCE' | 'NONE', nullable — Granular vocal classification: LEAD (sung lead vocals), PRESENCE (vocal chops/samples/ad-libs/textures) or NONE (instrumental). Null when unknown.
    - `isExplicit` boolean, nullable
    - `isPreviewOnly` boolean
  - `pagination` Pagination, required
    - `page` integer, required
    - `limit` integer, required
    - `offset` integer
  - `links` PaginationLinks, required
    - `next` string, nullable
    - `prev` string, nullable
  - `aggregations` TaxonomyAggregations
    - `moods` TaxonomyAggregation[]
      - `id` string
      - `name` string
      - `count` integer
    - `genres` TaxonomyAggregation[]
      - `id` string
      - `name` string
      - `count` integer

## Other responses

- `400` — Bad request.
- `401` — Unauthorized. Most likely your access token has expired.
- `404` — Image was not found
- `429` — Rate limit exceeded.

---

[API](https://skmtc.net/epidemicsound/apis/partner-content-api.md) · [All operations](https://skmtc.net/epidemicsound/apis/partner-content-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epidemicsound/partner-content-api/versions/c11d2a3e0d84/schema)
