Shutterstock

Stock photos, videos, and music API

api.shutterstock.com ↗
Version
1.1.32
OpenAPI
3.0.0
Endpoints
118
Schemas
169
Updated
3 days ago
Media media photos stock
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.shutterstock.com
https://api-sandbox.shutterstock.com

Authentication

basic oauth2

Endpoints

Clear filters

Audio 10 endpoints

GET /v2/audio

This endpoint lists information about one or more audio tracks, including the description and publication date.

operationId: Audio_listTracks

Parameters

Name In Required Type Description
id query required array One or more audio IDs
view query optional string Amount of detail to render in the response
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/audio
GET /v2/audio/collections

This endpoint lists your collections of audio tracks and their basic attributes.

operationId: Audio_listCollections

Parameters

Name In Required Type Description
page query optional integer Page number
per_page query optional integer Number of results per page
embed query optional array Which sharing information to include in the response, such as a URL to the collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/audio/collections
GET /v2/audio/collections/{id}

This endpoint gets more detailed information about a collection, including the number of items in it and when it was last updated. To get the tracks in collections, use `GET /v2/audio/collections/{id}/items`.

operationId: Audio_getCollectionDetails

Parameters

Name In Required Type Description
id path required string Collection ID
embed query optional array Which sharing information to include in the response, such as a URL to the collection
share_code query optional string Code to retrieve a shared collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Collection not found
GET /v2/audio/collections/{id}
GET /v2/audio/collections/{id}/items

This endpoint lists the IDs of tracks in a collection and the date that each was added.

operationId: Audio_listCollectionItems

Parameters

Name In Required Type Description
id path required string Collection ID
page query optional integer Page number
per_page query optional integer Number of results per page
share_code query optional string Code to retrieve the contents of a shared collection
sort query optional string Sort order

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Collection not found
GET /v2/audio/collections/{id}/items
GET /v2/audio/genres

This endpoint returns a list of all audio genres.

operationId: Audio_listGenres

Parameters

Name In Required Type Description
language query optional string Which language the genres will be returned

Responses

200 OK
GET /v2/audio/genres
GET /v2/audio/instruments

This endpoint returns a list of all audio instruments.

operationId: Audio_listInstruments

Parameters

Name In Required Type Description
language query optional string Which language the instruments will be returned in

Responses

200 OK
GET /v2/audio/instruments
GET /v2/audio/licenses

This endpoint lists existing licenses. You can filter the results according to the track ID to see if you have an existing license for a specific track.

operationId: Audio_listAudioLicenses

Parameters

Name In Required Type Description
audio_id query optional string Show licenses for the specified track ID
license query optional string Restrict results by license. Prepending a `-` sign will exclude results by license
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order
username query optional string Filter licenses by username of licensee
start_date query optional string Show licenses created on or after the specified date
end_date query optional string Show licenses created before the specified date
download_availability query optional string Filter licenses by download availability
team_history query optional boolean Set to true to see license history for all members of your team.

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/audio/licenses
GET /v2/audio/moods

This endpoint returns a list of all audio moods.

operationId: Audio_listMoods

Parameters

Name In Required Type Description
language query optional string Which language the moods will be returned in

Responses

200 OK
GET /v2/audio/moods
GET /v2/audio/search

This endpoint searches for tracks. If you specify more than one search parameter, the API uses an AND condition. Array parameters can be specified multiple times; in this case, the API uses an AND or an OR condition with those values, depending on the parameter.

operationId: Audio_searchTracks

Parameters

Name In Required Type Description
artists query optional array Show tracks with one of the specified artist names or IDs
bpm query optional integer (Deprecated; use bpm_from and bpm_to instead) Show tracks with the specified beats per minute
bpm_from query optional integer Show tracks with the specified beats per minute or faster
bpm_to query optional integer Show tracks with the specified beats per minute or slower
duration query optional integer Show tracks with the specified duration in seconds
duration_from query optional integer Show tracks with the specified duration or longer in seconds
duration_to query optional integer Show tracks with the specified duration or shorter in seconds
genre query optional array Show tracks with each of the specified genres; to get the list of genres, use `GET /v2/audio/genres`
is_instrumental query optional boolean Show instrumental music only
instruments query optional array Show tracks with each of the specified instruments; to get the list of instruments, use `GET /v2/audio/instruments`
moods query optional array Show tracks with each of the specified moods; to get the list of moods, use `GET /v2/audio/moods`
page query optional integer Page number
per_page query optional integer Number of results per page
query query optional string One or more search terms separated by spaces
sort query optional string Sort by
sort_order query optional string Sort order
vocal_description query optional string Show tracks with the specified vocal description (male, female)
view query optional string Amount of detail to render in the response
fields query optional string Fields to display in the response; see the documentation for the fields parameter in the overview section
library query optional string Which library to search
language query optional string Which language to search in

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/audio/search
GET /v2/audio/{id}

This endpoint shows information about a track, including its genres, instruments, and other attributes.

operationId: Audio_getTrackDetails

Parameters

Name In Required Type Description
id path required integer Audio track ID
view query optional string Amount of detail to render in the response
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/audio/{id}

Catalog 2 endpoints

GET /v2/catalog/collections

This endpoint returns a list of catalog collections.

operationId: Catalog_listCollections

Parameters

Name In Required Type Description
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort by
shared query optional boolean Set to true to omit collections that you own and return only collections that are shared with you

Responses

200 OK
400 Invalid status value
GET /v2/catalog/collections
GET /v2/catalog/search

This endpoint searches for assets in the account's catalog. If you specify more than one search parameter, the API uses an AND condition. Array parameters can be specified multiple times; in this case, the API uses an AND or an OR condition with those values, depending on the parameter. You can also filter search terms out in the `query` parameter by prefixing the term with NOT.

operationId: Catalog_searchAssets

Parameters

Name In Required Type Description
sort query optional string Sort by
page query optional integer Page number
per_page query optional integer Number of results per page
query query optional string One or more search terms separated by spaces
collection_id query optional array Filter by collection id
asset_type query optional array Filter by asset type

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/catalog/search

Computer vision 3 endpoints

GET /v2/cv/keywords

This endpoint returns a list of suggested keywords for a media item that you specify or upload.

operationId: Computervision_listSuggestedKeywords

Parameters

Name In Required Type Description
asset_id query required The asset ID or upload ID to suggest keywords for

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
415 Unsupported Media Type
GET /v2/cv/keywords
GET /v2/cv/similar/images

This endpoint returns images that are visually similar to an image that you specify or upload.

operationId: Computervision_listSimilarImages

Parameters

Name In Required Type Description
asset_id query required string The asset ID or upload ID to find similar images for
license query optional array Show only images with the specified license
safe query optional boolean Enable or disable safe search
language query optional Language for the keywords and categories in the response
page query optional integer Page number
per_page query optional integer Number of results per page
view query optional string Amount of detail to render in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/cv/similar/images
GET /v2/cv/similar/videos

This endpoint returns videos that are visually similar to an image that you specify or upload.

operationId: Computervision_listSimilarVideos

Parameters

Name In Required Type Description
asset_id query required string The asset ID or upload ID to find similar videos for
license query optional array Show only videos with the specified license
safe query optional boolean Enable or disable safe search
language query optional Language for the keywords and categories in the response
page query optional integer Page number
per_page query optional integer Number of results per page
view query optional string Amount of detail to render in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/cv/similar/videos

Contributors 5 endpoints

GET /v2/contributors

This endpoint lists information about one or more contributors, including contributor type, equipment they use and other attributes.

operationId: Contributors_getDetailsMultiple

Parameters

Name In Required Type Description
id query required array One or more contributor IDs

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/contributors
GET /v2/contributors/{contributor_id}

This endpoint shows information about a single contributor, including contributor type, equipment they use, and other attributes.

operationId: Contributors_getDetails

Parameters

Name In Required Type Description
contributor_id path required string Contributor ID

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/contributors/{contributor_id}
GET /v2/contributors/{contributor_id}/collections

This endpoint lists collections based on contributor ID.

operationId: Contributors_listCollections

Parameters

Name In Required Type Description
contributor_id path required string Contributor ID
sort query optional string Sort order

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Contributor not found
GET /v2/contributors/{contributor_id}/collections
GET /v2/contributors/{contributor_id}/collections/{id}

This endpoint gets more detailed information about a contributor's collection, including its cover image, timestamps for its creation, and most recent update. To get the items in collections, use GET /v2/contributors/{contributor_id}/collections/{id}/items.

operationId: Contributors_getCollectionDetails

Parameters

Name In Required Type Description
contributor_id path required string Contributor ID
id path required string Collection ID that belongs to the contributor

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Set not found
GET /v2/contributors/{contributor_id}/collections/{id}
GET /v2/contributors/{contributor_id}/collections/{id}/items

This endpoint lists the IDs of items in a contributor's collection and the date that each was added.

operationId: Contributors_getCollectionItems

Parameters

Name In Required Type Description
contributor_id path required string Contributor ID
id path required string Collection ID that belongs to the contributor
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Set not found
GET /v2/contributors/{contributor_id}/collections/{id}/items

Custom music 3 endpoints

GET /v2/ai/audio/descriptors

This endpoint lists the descriptors that you can use in the audio regions in an audio render.

operationId: Custommusic_listAudioDescriptors

Parameters

Name In Required Type Description
render_speed_over query optional number Show descriptors with an average render speed that is greater than or equal to the specified value
band_id query optional string Show descriptors that contain the specified band (case-sentsitive)
band_name query optional string Show descriptors with the specified band name (case-sensitive)
page query optional integer Page number
per_page query optional integer Number of results per page
id query optional array Show descriptors with the specified IDs (case-sensitive)
instrument_name query optional string Show descriptors with the specified instrument name (case-sensitive)
instrument_id query optional string Show descriptors with the specified instrument ID (case-sensitive)
tempo query optional number Show descriptors whose tempo range includes the specified tempo in beats per minute
tempo_to query optional number Show descriptors with a tempo that is less than or equal to the specified number
tempo_from query optional number Show descriptors that have a tempo range that includes the specified tempo in beats per minute
name query optional string Show descriptors with the specified name (case-sensitive)
tag query optional string Show descriptors with the specified tag, such as Cinematic or Roomy (case-sensitive)

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
GET /v2/ai/audio/descriptors
GET /v2/ai/audio/instruments

This endpoint lists the instruments that you can include in computer audio. If you specify more than one search parameter, the API uses an AND condition.

operationId: Custommusic_listComputerAudioInstruments

Parameters

Name In Required Type Description
id query optional array Show instruments with the specified ID
per_page query optional integer Number of results per page
page query optional integer Page number
name query optional string Show instruments with the specified name (case-sensitive)
tag query optional string Show instruments with the specified tag, such as Percussion or Strings (case-sensitive)

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/ai/audio/instruments
GET /v2/ai/audio/renders

This endpoint shows the status of one or more audio renders, including download links for completed audio.

operationId: Custommusic_getAudioRendersDetails

Parameters

Name In Required Type Description
id query required array One or more render IDs

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
GET /v2/ai/audio/renders

Editorial images 8 endpoints

GET /v2/editorial/images/categories

This endpoint lists the categories that editorial images can belong to, which are separate from the categories that other types of assets can belong to.

operationId: Editorialimages_listCategories

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/editorial/images/categories
GET /v2/editorial/images/licenses

This endpoint lists existing editorial image licenses.

operationId: Editorialimages_listLicenses

Parameters

Name In Required Type Description
image_id query optional string Show licenses for the specified editorial image ID
license query optional string Show editorial images that are available with the specified license name
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order
username query optional string Filter licenses by username of licensee
start_date query optional string Show licenses created on or after the specified date
end_date query optional string Show licenses created before the specified date
download_availability query optional string Filter licenses by download availability
team_history query optional boolean Set to true to see license history for all members of your team.

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/editorial/images/licenses
GET /v2/editorial/images/livefeeds
operationId: Editorialimages_listLivefeedImages

Parameters

Name In Required Type Description
country query required string Returns only livefeeds that are available for distribution in a certain country
page query optional integer Page number
per_page query optional integer Number of results per page

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
GET /v2/editorial/images/livefeeds
GET /v2/editorial/images/livefeeds/{id}
operationId: Editorialimages_getLivefeedImages

Parameters

Name In Required Type Description
id path required string Editorial livefeed ID; must be an URI encoded string
country query required string Returns only if the livefeed is available for distribution in a certain country

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
GET /v2/editorial/images/livefeeds/{id}
GET /v2/editorial/images/livefeeds/{id}/items
operationId: Editorialimages_getLivefeedItems

Parameters

Name In Required Type Description
id path required string Editorial livefeed ID; must be an URI encoded string
country query required string Returns only if the livefeed items are available for distribution in a certain country

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
GET /v2/editorial/images/livefeeds/{id}/items
GET /v2/editorial/images/search

This endpoint searches for editorial images. If you specify more than one search parameter, the API uses an AND condition. For example, if you set the `category` parameter to "Alone,Performing" and also specify a `query` parameter, the results include only images that match the query and are in both the Alone and Performing categories. You can also filter search terms out in the `query` parameter by prefixing the term with NOT.

operationId: Editorialimages_search

Parameters

Name In Required Type Description
query query optional string One or more search terms separated by spaces
sort query optional string Sort by
category query optional string Show editorial content with each of the specified editorial categories; specify category names in a comma-separated list
country query required string Show only editorial content that is available for distribution in a certain country
supplier_code query optional array Show only editorial content from certain suppliers
date_start query optional string Show only editorial content generated on or after a specific date
date_end query optional string Show only editorial content generated on or before a specific date
per_page query optional integer Number of results per page
cursor query optional string The cursor of the page with which to start fetching results; this cursor is returned from previous requests

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
406 Not Acceptable
GET /v2/editorial/images/search
GET /v2/editorial/images/updated

This endpoint lists editorial images that have been updated in the specified time period to update content management systems (CMS) or digital asset management (DAM) systems. In most cases, use the date_updated_start and date_updated_end parameters to specify a range updates based on when the updates happened. You can also use the date_taken_start and date_taken_end parameters to specify a range of updates based on when the image was taken.

operationId: Editorialimages_listUpdatedContent

Parameters

Name In Required Type Description
type query required string Specify `addition` to return only images that were added or `edit` to return only images that were edited or deleted
date_updated_start query required string Show images images added, edited, or deleted after the specified date. Acceptable range is 1970-01-01T00:00:01 to 2038-01-19T00:00:00.
date_updated_end query required string Show images images added, edited, or deleted before the specified date. Acceptable range is 1970-01-01T00:00:01 to 2038-01-19T00:00:00.
date_taken_start query optional string Show images that were taken on or after the specified date; use this parameter if you want recently created images from the collection instead of updated older assets
date_taken_end query optional string Show images that were taken before the specified date
cursor query optional string The cursor of the page with which to start fetching results; this cursor is returned from previous requests
sort query optional string Sort by
supplier_code query optional array Show only editorial content from certain suppliers
country query required string Show only editorial content that is available for distribution in a certain country
per_page query optional integer Number of results per page

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
406 Not Acceptable
GET /v2/editorial/images/updated
GET /v2/editorial/images/{id}

This endpoint shows information about an editorial image, including a URL to a preview image and the sizes that it is available in.

operationId: Editorialimages_getImageDetails

Parameters

Name In Required Type Description
id path required string Editorial ID
country query required string Returns only if the content is available for distribution in a certain country

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
GET /v2/editorial/images/{id}

Editorial video 4 endpoints

GET /v2/editorial/videos/categories

This endpoint lists the categories that editorial videos can belong to, which are separate from the categories that other types of assets can belong to.

operationId: Editorialvideo_listVideoCategories

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/editorial/videos/categories
GET /v2/editorial/videos/licenses

This endpoint lists existing editorial video licenses.

operationId: Editorialvideo_listVideoLicenses

Parameters

Name In Required Type Description
video_id query optional string Show licenses for the specified editorial video ID
license query optional string Show editorial videos that are available with the specified license name
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order
username query optional string Filter licenses by username of licensee
start_date query optional string Show licenses created on or after the specified date
end_date query optional string Show licenses created before the specified date
download_availability query optional string Filter licenses by download availability
team_history query optional boolean Set to true to see license history for all members of your team.

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/editorial/videos/licenses
GET /v2/editorial/videos/search

This endpoint searches for editorial videos. If you specify more than one search parameter, the API uses an AND condition. For example, if you set the `category` parameter to "Alone,Performing" and also specify a `query` parameter, the results include only videos that match the query and are in both the Alone and Performing categories. You can also filter search terms out in the `query` parameter by prefixing the term with NOT.

operationId: Editorialvideo_searchVideoContent

Parameters

Name In Required Type Description
query query optional string One or more search terms separated by spaces
sort query optional string Sort by
category query optional string Show editorial content with each of the specified editorial categories; specify category names in a comma-separated list
country query required string Show only editorial video content that is available for distribution in a certain country
supplier_code query optional array Show only editorial video content from certain suppliers
date_start query optional string Show only editorial video content generated on or after a specific date
date_end query optional string Show only editorial video content generated on or before a specific date
resolution query optional string Show only editorial video content with specific resolution
fps query optional number Show only editorial video content generated with specific frames per second
per_page query optional integer Number of results per page
cursor query optional string The cursor of the page with which to start fetching results; this cursor is returned from previous requests

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
406 Not Acceptable
GET /v2/editorial/videos/search
GET /v2/editorial/videos/{id}

This endpoint shows information about an editorial image, including a URL to a preview image and the sizes that it is available in.

operationId: Editorialvideo_getContentDetails

Parameters

Name In Required Type Description
id path required string Editorial ID
country query required string Returns only if the content is available for distribution in a certain country
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
406 Not Acceptable
GET /v2/editorial/videos/{id}

Images 15 endpoints

GET /v2/images

This endpoint lists information about one or more images, including the available sizes.

operationId: Images_listInfo

Parameters

Name In Required Type Description
id query required array One or more image IDs
view query optional string Amount of detail to render in the response
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images
GET /v2/images/categories

This endpoint lists the categories (Shutterstock-assigned genres) that images can belong to.

operationId: Images_listCategories

Parameters

Name In Required Type Description
language query optional Language for the keywords and categories in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/categories
GET /v2/images/collections

This endpoint lists your collections of images and their basic attributes.

operationId: Images_listCollections

Parameters

Name In Required Type Description
embed query optional array Which sharing information to include in the response, such as a URL to the collection
page query optional integer Page number
per_page query optional integer Number of results per page

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/collections
GET /v2/images/collections/featured

This endpoint lists featured collections of specific types and a name and cover image for each collection.

operationId: Images_listFeaturedCollections

Parameters

Name In Required Type Description
embed query optional string Which sharing information to include in the response, such as a URL to the collection
type query optional array The types of collections to return
asset_hint query optional string Cover image size

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/collections/featured
GET /v2/images/collections/featured/{id}

This endpoint gets more detailed information about a featured collection, including its cover image and timestamps for its creation and most recent update. To get the images, use `GET /v2/images/collections/featured/{id}/items`.

operationId: Images_featuredCollectionDetails

Parameters

Name In Required Type Description
id path required string Collection ID
embed query optional string Which sharing information to include in the response, such as a URL to the collection
asset_hint query optional string Cover image size

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Featured collection not found
GET /v2/images/collections/featured/{id}
GET /v2/images/collections/featured/{id}/items

This endpoint lists the IDs of images in a featured collection and the date that each was added.

operationId: Images_getCollectionItems

Parameters

Name In Required Type Description
id path required string Collection ID
page query optional integer Page number
per_page query optional integer Number of results per page

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Featured collection not found
GET /v2/images/collections/featured/{id}/items
GET /v2/images/collections/{id}

This endpoint gets more detailed information about a collection, including its cover image and timestamps for its creation and most recent update. To get the images in collections, use `GET /v2/images/collections/{id}/items`.

operationId: Images_getCollectionDetails

Parameters

Name In Required Type Description
id path required string Collection ID
embed query optional array Which sharing information to include in the response, such as a URL to the collection
share_code query optional string Code to retrieve a shared collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Collection not found
GET /v2/images/collections/{id}
GET /v2/images/collections/{id}/items

This endpoint lists the IDs of images in a collection and the date that each was added.

operationId: Images_getCollectionItems

Parameters

Name In Required Type Description
id path required string Collection ID
page query optional integer Page number
per_page query optional integer Number of results per page
share_code query optional string Code to retrieve the contents of a shared collection
sort query optional string Sort order

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Collection not found
GET /v2/images/collections/{id}/items
GET /v2/images/licenses

This endpoint lists existing licenses.

operationId: Images_listLicenses

Parameters

Name In Required Type Description
image_id query optional string Show licenses for the specified image ID
license query optional string Show images that are available with the specified license, such as `standard` or `enhanced`; prepending a `-` sign excludes results from that license
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order
username query optional string Filter licenses by username of licensee
start_date query optional string Show licenses created on or after the specified date
end_date query optional string Show licenses created before the specified date
download_availability query optional string Filter licenses by download availability
team_history query optional boolean Set to true to see license history for all members of your team.

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/licenses
GET /v2/images/recommendations

This endpoint returns images that customers put in the same collection as the specified image IDs.

operationId: Images_listRecommendedImages

Parameters

Name In Required Type Description
id query required array Image IDs
max_items query optional integer Maximum number of results returned in the response
safe query optional boolean Restrict results to safe images

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/recommendations
GET /v2/images/search

This endpoint searches for images. If you specify more than one search parameter, the API uses an AND condition. Array parameters can be specified multiple times; in this case, the API uses an AND or an OR condition with those values, depending on the parameter. You can also filter search terms out in the `query` parameter by prefixing the term with NOT. Free API accounts show results only from a limited library of media, not the full Shutterstock media library. Also, the number of search fields they can use in a request is limited.

operationId: Images_searchImages

Parameters

Name In Required Type Description
added_date query optional string Show images added on the specified date
added_date_start query optional string Show images added on or after the specified date
aspect_ratio_min query optional number Show images with the specified aspect ratio or higher, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
aspect_ratio_max query optional number Show images with the specified aspect ratio or lower, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
aspect_ratio query optional number Show images with the specified aspect ratio, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
ai_search query optional boolean Set to true and specify the `ai_objective` and `ai_industry` parameters to use AI-powered search; the API returns information about how well images meet the objective for the industry
ai_labels_limit query optional integer For AI-powered search, specify the maximum number of labels to return
ai_industry query optional string For AI-powered search, specify the industry to target; requires that the `ai_search` parameter is set to true
ai_objective query optional string For AI-powered search, specify the goal of the media; requires that the `ai_search` parameter is set to true
added_date_end query optional string Show images added before the specified date
category query optional string Show images with the specified Shutterstock-defined category; specify a category name or ID
color query optional string Specify either a hexadecimal color in the format '4F21EA' or 'grayscale'; the API returns images that use similar colors
contributor query optional array Show images with the specified contributor names or IDs, allows multiple
contributor_country query optional Show images from contributors in one or more specified countries, or start with NOT to exclude a country from the search
fields query optional string Fields to display in the response; see the documentation for the fields parameter in the overview section
height query optional integer (Deprecated; use height_from and height_to instead) Show images with the specified height
height_from query optional integer Show images with the specified height or larger, in pixels
height_to query optional integer Show images with the specified height or smaller, in pixels
image_type query optional array Show images of the specified type
keyword_safe_search query optional boolean Hide results with potentially unsafe keywords
language query optional Set query and result language (uses Accept-Language header if not set)
license query optional array Show only images with the specified license
model query optional array Show image results with the specified model IDs
orientation query optional string Show image results with horizontal or vertical orientation
page query optional integer Page number
per_page query optional integer Number of results per page
people_model_released query optional boolean Show images of people with a signed model release
people_age query optional string Show images that feature people of the specified age category
people_ethnicity query optional array Show images with people of the specified ethnicities, or start with NOT to show images without those ethnicities
people_gender query optional string Show images with people of the specified gender
people_number query optional integer Show images with the specified number of people
query query optional string One or more search terms separated by spaces; you can use NOT to filter out images that match a term
region query optional Raise or lower search result rankings based on the result's relevance to a specified region; you can provide a country code or an IP address from which the API infers a country
safe query optional boolean Enable or disable safe search
sort query optional string Sort by
spellcheck_query query optional boolean Spellcheck the search query and return results on suggested spellings
view query optional string Amount of detail to render in the response
width query optional integer (Deprecated; use width_from and width_to instead) Show images with the specified width
width_from query optional integer Show images with the specified width or larger, in pixels
width_to query optional integer Show images with the specified width or smaller, in pixels

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/search
GET /v2/images/search/suggestions

This endpoint provides autocomplete suggestions for partial search terms.

operationId: Images_getSearchSuggestions

Parameters

Name In Required Type Description
query query required string Search term for which you want keyword suggestions
limit query optional integer Limit the number of suggestions

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/search/suggestions
GET /v2/images/updated

This endpoint lists images that have been updated in the specified time period to update content management systems (CMS) or digital asset management (DAM) systems. In most cases, use the `interval` parameter to show images that were updated recently, but you can also use the `start_date` and `end_date` parameters to specify a range of no more than three days. Do not use the `interval` parameter with either `start_date` or `end_date`.

operationId: Images_listUpdatedContent

Parameters

Name In Required Type Description
type query optional array Show images that were added, deleted, or edited; by default, the endpoint returns images that were updated in any of these ways
start_date query optional string Show images updated on or after the specified date
end_date query optional string Show images updated before the specified date
interval query optional string Show images updated in the specified time period, where the time period is an interval (like SQL INTERVAL) such as 1 DAY, 6 HOUR, or 30 MINUTE; the default is 1 HOUR, which shows images that were updated in the hour preceding the request
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order

Responses

200 OK
GET /v2/images/updated
GET /v2/images/{id}

This endpoint shows information about an image, including a URL to a preview image and the sizes that it is available in.

operationId: Images_getDetails

Parameters

Name In Required Type Description
id path required string Image ID
language query optional Language for the keywords and categories in the response
view query optional string Amount of detail to render in the response
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/{id}
GET /v2/images/{id}/similar

This endpoint returns images that are visually similar to an image that you specify.

operationId: Images_listSimilarImages

Parameters

Name In Required Type Description
id path required string Image ID
language query optional Language for the keywords and categories in the response
page query optional integer Page number
per_page query optional integer Number of results per page
view query optional string Amount of detail to render in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/images/{id}/similar

Oauth 1 endpoints

GET /v2/oauth/authorize

This endpoint returns a redirect URI (in the 'Location' header) that the customer uses to authorize your application and, together with POST /v2/oauth/access_token, generate an access token that represents that authorization.

operationId: Oauth_authorizeApplications

Parameters

Name In Required Type Description
client_id query required string Client ID (Consumer Key) of your application
realm query optional string User type to be authorized (usually 'customer')
redirect_uri query required string The callback URI to send the request to after authorization; must use a host name that is registered with your application
response_type query required string Type of temporary authorization code that will be used to generate an access code; the only valid value is 'code'
scope query optional string Space-separated list of scopes to be authorized
state query required string Unique value used by the calling app to verify the request

Responses

200 OK
302 Redirect user to authenticate with Shutterstock
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/oauth/authorize

Sound effects 4 endpoints

GET /v2/sfx

This endpoint shows information about sound effects.

operationId: Soundeffects_listDetails

Parameters

Name In Required Type Description
id query required array One or more sound effect IDs
view query optional string Amount of detail to render in the response
language query optional Language for the keywords and categories in the response
library query optional string Which library to fetch from
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/sfx
GET /v2/sfx/licenses

This endpoint lists existing licenses.

operationId: Soundeffects_listLicenses

Parameters

Name In Required Type Description
sfx_id query optional string Show licenses for the specified sound effects ID
license query optional string Show sound effects that are available with the specified license, such as `standard` or `enhanced`; prepending a `-` sign excludes results from that license
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort order
username query optional string Filter licenses by username of licensee
start_date query optional string Show licenses created on or after the specified date
end_date query optional string Show licenses created before the specified date
license_id query optional string Filter by the license ID
download_availability query optional string Filter licenses by download availability
team_history query optional boolean Set to true to see license history for all members of your team.

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/sfx/licenses
GET /v2/sfx/search

This endpoint searches for sound effects. If you specify more than one search parameter, the API uses an AND condition.

operationId: Soundeffects_searchSoundEffects

Parameters

Name In Required Type Description
added_date query optional string Show sound effects added on the specified date
added_date_start query optional string Show sound effects added on or after the specified date
added_date_end query optional string Show sound effects added before the specified date
duration query optional integer Show sound effects with the specified duration in seconds
duration_from query optional integer Show sound effects with the specified duration or longer in seconds
duration_to query optional integer Show sound effects with the specified duration or shorter in seconds
page query optional integer Page number
per_page query optional integer Number of results per page
query query optional string One or more search terms separated by spaces
safe query optional boolean Enable or disable safe search
sort query optional string Sort by
view query optional string Amount of detail to render in the response
language query optional Set query and result language (uses Accept-Language header if not set)

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
503 Service Unavailable
GET /v2/sfx/search
GET /v2/sfx/{id}

This endpoint shows information about a sound effect.

operationId: Soundeffects_getDetails

Parameters

Name In Required Type Description
id path required integer Audio track ID
language query optional Language for the keywords and categories in the response
view query optional string Amount of detail to render in the response
library query optional string Which library to fetch from
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
503 Service Unavailable
GET /v2/sfx/{id}

Test 2 endpoints

GET /v2/test
operationId: Test_echoText

Parameters

Name In Required Type Description
text query optional string Text to echo

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/test
GET /v2/test/validate
operationId: Test_inputValidation

Parameters

Name In Required Type Description
id query required integer Integer ID
tag query optional array List of tags
user-agent header optional string User agent

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/test/validate

Users 3 endpoints

GET /v2/user
operationId: Users_getUserDetails

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/user
GET /v2/user/access_token
operationId: Users_getAccessTokenDetails

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/user/access_token
GET /v2/user/subscriptions
operationId: Users_listSubscriptions

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/user/subscriptions

Videos 14 endpoints

GET /v2/videos

This endpoint lists information about one or more videos, including the aspect ratio and URLs to previews.

operationId: Videos_listVideo

Parameters

Name In Required Type Description
id query required array One or more video IDs
view query optional string Amount of detail to render in the response
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos
GET /v2/videos/categories

This endpoint lists the categories (Shutterstock-assigned genres) that videos can belong to.

operationId: Videos_listCategories

Parameters

Name In Required Type Description
language query optional Language for the keywords and categories in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos/categories
GET /v2/videos/collections

This endpoint lists your collections of videos and their basic attributes.

operationId: Videos_listCollections

Parameters

Name In Required Type Description
page query optional integer Page number
per_page query optional integer Number of results per page
embed query optional array Which sharing information to include in the response, such as a URL to the collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos/collections
GET /v2/videos/collections/featured

This endpoint lists featured video collections and a name and cover video for each collection.

operationId: Videos_listFeaturedVideoCollections

Parameters

Name In Required Type Description
embed query optional string What information to include in the response, such as a URL to the collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos/collections/featured
GET /v2/videos/collections/featured/{id}

This endpoint gets more detailed information about a featured video collection, including its cover video and timestamps for its creation and most recent update. To get the videos, use `GET /v2/videos/collections/featured/{id}/items`.

operationId: Videos_collectionDetailsGet

Parameters

Name In Required Type Description
id path required string Collection ID
embed query optional string What information to include in the response, such as a URL to the collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Featured collection not found
GET /v2/videos/collections/featured/{id}
GET /v2/videos/collections/featured/{id}/items

This endpoint lists the IDs of videos in a featured collection and the date that each was added.

operationId: Videos_getFeaturedCollectionItems

Parameters

Name In Required Type Description
id path required string Collection ID
page query optional integer Page number
per_page query optional integer Number of results per page

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Featured collection not found
GET /v2/videos/collections/featured/{id}/items
GET /v2/videos/collections/{id}

This endpoint gets more detailed information about a collection, including the timestamp for its creation and the number of videos in it. To get the videos in collections, use GET /v2/videos/collections/{id}/items.

operationId: Videos_collectionDetailsGet

Parameters

Name In Required Type Description
id path required string The ID of the collection to return
embed query optional array Which sharing information to include in the response, such as a URL to the collection
share_code query optional string Code to retrieve a shared collection

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Collection not found
GET /v2/videos/collections/{id}
GET /v2/videos/collections/{id}/items

This endpoint lists the IDs of videos in a collection and the date that each was added.

operationId: Videos_getCollectionItems

Parameters

Name In Required Type Description
id path required string Collection ID
page query optional integer Page number
per_page query optional integer Number of results per page
share_code query optional string Code to retrieve the contents of a shared collection
sort query optional string Sort order

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Collection not found
GET /v2/videos/collections/{id}/items
GET /v2/videos/licenses

This endpoint lists existing licenses.

operationId: Videos_listLicenses

Parameters

Name In Required Type Description
video_id query optional string Show licenses for the specified video ID
license query optional string Show videos that are available with the specified license, such as `standard` or `enhanced`; prepending a `-` sign excludes results from that license
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort by oldest or newest videos first
username query optional string Filter licenses by username of licensee
start_date query optional string Show licenses created on or after the specified date
end_date query optional string Show licenses created before the specified date
download_availability query optional string Filter licenses by download availability
team_history query optional boolean Set to true to see license history for all members of your team.

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos/licenses
GET /v2/videos/search

This endpoint searches for videos. If you specify more than one search parameter, the API uses an AND condition. Array parameters can be specified multiple times; in this case, the API uses an AND or an OR condition with those values, depending on the parameter. You can also filter search terms out in the `query` parameter by prefixing the term with NOT.

operationId: Videos_searchVideo

Parameters

Name In Required Type Description
added_date query optional string Show videos added on the specified date
added_date_start query optional string Show videos added on or after the specified date
added_date_end query optional string Show videos added before the specified date
aspect_ratio query optional string Show videos with the specified aspect ratio
category query optional string Show videos with the specified Shutterstock-defined category; specify a category name or ID
contributor query optional array Show videos with the specified artist names or IDs
contributor_country query optional array Show videos from contributors in one or more specified countries
duration query optional integer (Deprecated; use duration_from and duration_to instead) Show videos with the specified duration in seconds
duration_from query optional integer Show videos with the specified duration or longer in seconds
duration_to query optional integer Show videos with the specified duration or shorter in seconds
fps query optional number (Deprecated; use fps_from and fps_to instead) Show videos with the specified frames per second
fps_from query optional number Show videos with the specified frames per second or more
fps_to query optional number Show videos with the specified frames per second or fewer
keyword_safe_search query optional boolean Hide results with potentially unsafe keywords
language query optional Set query and result language (uses Accept-Language header if not set)
license query optional array Show only videos with the specified license or licenses
model query optional array Show videos with each of the specified models
page query optional integer Page number
per_page query optional integer Number of results per page
people_age query optional string Show videos that feature people of the specified age range
people_ethnicity query optional array Show videos with people of the specified ethnicities
people_gender query optional string Show videos with people with the specified gender
people_number query optional integer Show videos with the specified number of people
people_model_released query optional boolean Show only videos of people with a signed model release
query query optional string One or more search terms separated by spaces; you can use NOT to filter out videos that match a term
resolution query optional string Show videos with the specified resolution
safe query optional boolean Enable or disable safe search
sort query optional string Sort by one of these categories
view query optional string Amount of detail to render in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not found
GET /v2/videos/search
GET /v2/videos/search/suggestions

This endpoint provides autocomplete suggestions for partial search terms.

operationId: Videos_searchSuggestions

Parameters

Name In Required Type Description
query query required string Search term for which you want keyword suggestions
limit query optional integer Limit the number of the suggestions

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos/search/suggestions
GET /v2/videos/updated

This endpoint lists videos that have been updated in the specified time period to update content management systems (CMS) or digital asset management (DAM) systems. In most cases, use the `interval` parameter to show videos that were updated recently, but you can also use the `start_date` and `end_date` parameters to specify a range of no more than three days. Do not use the `interval` parameter with either `start_date` or `end_date`.

operationId: Videos_listUpdatedVideos

Parameters

Name In Required Type Description
start_date query optional string Show videos updated on or after the specified date
end_date query optional string Show videos updated before the specified date
interval query optional string Show videos updated in the specified time period, where the time period is an interval (like SQL INTERVAL) such as 1 DAY, 6 HOUR, or 30 MINUTE; the default is 1 HOUR, which shows videos that were updated in the hour preceding the request
page query optional integer Page number
per_page query optional integer Number of results per page
sort query optional string Sort by oldest or newest videos first

Responses

200 OK
GET /v2/videos/updated
GET /v2/videos/{id}

This endpoint shows information about a video, including URLs to previews and the sizes that it is available in.

operationId: Videos_videoDetails

Parameters

Name In Required Type Description
id path required string Video ID
language query optional Language for the keywords and categories in the response
view query optional string Amount of detail to render in the response
search_id query optional string The ID of the search that is related to this request

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not found
GET /v2/videos/{id}
GET /v2/videos/{id}/similar

This endpoint searches for videos that are similar to a video that you specify.

operationId: Videos_findSimilar

Parameters

Name In Required Type Description
id path required string The ID of a video for which similar videos should be returned
language query optional Language for the keywords and categories in the response
page query optional integer Page number
per_page query optional integer Number of results per page
view query optional string Amount of detail to render in the response

Responses

200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
GET /v2/videos/{id}/similar

Schemas

object AccessTokenDetails
{
  "type": "object",
  "example": {
    "realm": "customer",
    "scopes": [
      "collections.edit",
      "collections.view",
      "licenses.create",
      "licenses.view",
      "purchases.view",
      "user.view"
    ],
    "user_id": "123456789",
    "username": "jdoe",
    "client_id": "c456b-26230-fa8ed-d19ab-05ce2-bf0aa",
    "expires_in": 3600,
    "customer_id": "123456789"
  },
  "properties": {
    "realm": {
      "enum": [
        "customer",
        "contributor"
      ],
      "type": "string",
      "description": "Type of access token"
    },
    "scopes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Scopes that this access token provides when used as authentication"
    },
    "user_id": {
      "type": "string",
      "description": "User ID that is associated with the user"
    },
    "username": {
      "type": "string",
      "description": "User name that is associated with the user"
    },
    "client_id": {
      "type": "string",
      "description": "Client ID that is associated with the user"
    },
    "expires_in": {
      "type": "integer",
      "description": "Number of seconds until the access token expires; no expiration if this value is null"
    },
    "customer_id": {
      "type": "string",
      "description": "Customer ID that is associated with the user"
    },
    "contributor_id": {
      "type": "string",
      "description": "Contributor ID that is associated with the user"
    },
    "organization_id": {
      "type": "string",
      "description": "Organization ID that is associated with the user"
    }
  },
  "description": "Access token details that are currently associated with this user"
}
object Album
{
  "type": "object",
  "example": {
    "id": "1234567",
    "title": "Happy Music"
  },
  "required": [
    "id",
    "title"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The album ID"
    },
    "title": {
      "type": "string",
      "description": "The album title"
    }
  },
  "description": "Album metadata"
}
object Allotment
{
  "type": "object",
  "example": {
    "end_time": "2020-05-29T17:10:22.000Z",
    "start_time": "2020-05-29T17:10:22.000Z",
    "downloads_left": 5,
    "downloads_limit": 10
  },
  "properties": {
    "end_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date the subscription ends"
    },
    "start_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date the subscription started"
    },
    "downloads_left": {
      "type": "integer",
      "description": "Number of credits remaining in the subscription"
    },
    "downloads_limit": {
      "type": "integer",
      "description": "Total number of credits available to this subscription"
    }
  },
  "description": "An allotment of credits as part of a subscription"
}
object Artist
{
  "type": "object",
  "example": {
    "name": "The Happy Tunes Band"
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The artist's name"
    }
  },
  "description": "Metadata about the artist that created the media"
}
object Audio
{
  "type": "object",
  "example": {
    "id": "442583X",
    "bpm": 110,
    "url": "",
    "isrc": "",
    "moods": [
      "Bright",
      "Confident",
      "Fun",
      "Happy",
      "Inspiring",
      "Optimistic",
      "Playful",
      "Sophisticated",
      "Stylish",
      "Uplifting"
    ],
    "title": "Another Tomorrow",
    "assets": {
      "waveform": {
        "url": "https://ak.picdn.net/shutterstock/audio/442583/waveform/waveform.png",
        "file_size": 18778
      },
      "clean_audio": {
        "file_size": 35188408
      },
      "preview_mp3": {
        "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.mp3",
        "file_size": 4400203
      },
      "preview_ogg": {
        "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.ogg",
        "file_size": 4453197
      }
    },
    "genres": [
      "Dance/Electronic",
      "Electro Pop",
      "Pop/Rock"
    ],
    "lyrics": "",
    "artists": [
      {
        "name": "Klimenko Music"
      }
    ],
    "duration": 183,
    "is_adult": false,
    "keywords": [
      "celebratory",
      "chic",
      "euphoric",
      "good times",
      "hip",
      "optimistic",
      "party",
      "soaring",
      "upbeat"
    ],
    "language": "en",
    "releases": [],
    "added_date": "2016-08-16T00:00:00.000Z",
    "media_type": "audio",
    "contributor": {
      "id": "2847971"
    },
    "description": "Pulsing and feel-good, featuring soaring synthesizer, groovy synth bass drums and synth drums that create a euphoric, upbeat mood.",
    "instruments": [
      "Piano",
      "Synth bass",
      "Synth drums",
      "Synthesizer"
    ],
    "updated_time": "2016-08-18T21:59:33.000Z",
    "published_time": "2016-08-16T18:30:03.000Z",
    "is_instrumental": true,
    "similar_artists": [],
    "recording_version": "",
    "vocal_description": ""
  },
  "required": [
    "id",
    "media_type",
    "contributor"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Shutterstock ID of this track"
    },
    "bpm": {
      "type": "integer",
      "description": "BPM (beats per minute) of this track"
    },
    "url": {
      "type": "string",
      "description": ""
    },
    "isrc": {
      "type": "string",
      "description": ""
    },
    "album": {
      "$ref": "#/components/schemas/Album"
    },
    "moods": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Mood of this track"
      },
      "description": "List of all moods of this track"
    },
    "title": {
      "type": "string",
      "description": "Title of this track"
    },
    "assets": {
      "$ref": "#/components/schemas/AudioAssets"
    },
    "genres": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Genre that is associated with this track"
      },
      "description": "List of all genres for this track"
    },
    "lyrics": {
      "type": "string",
      "description": "Lyrics of this track"
    },
    "artists": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Artist"
      },
      "description": "List of artists"
    },
    "duration": {
      "type": "number",
      "description": "Duration of this track in seconds"
    },
    "is_adult": {
      "type": "boolean",
      "description": "Whether or not this track contains adult content"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Keyword for this track"
      },
      "description": "List of all keywords for this track"
    },
    "language": {
      "type": "string",
      "description": "Language of this track's lyrics"
    },
    "releases": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Release of this track"
      },
      "description": "List of all releases of this track"
    },
    "added_date": {
      "type": "string",
      "format": "date",
      "description": "Date this track was added to the Shutterstock library"
    },
    "media_type": {
      "type": "string",
      "description": "Media type of this track; should always be \"audio\""
    },
    "contributor": {
      "$ref": "#/components/schemas/Contributor"
    },
    "description": {
      "type": "string",
      "description": "Description of this track"
    },
    "instruments": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Instrument that appears in this track"
      },
      "description": "List of all instruments that appear in this track"
    },
    "deleted_time": {
      "type": "string",
      "format": "date-time"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "Time this track was last updated"
    },
    "affiliate_url": {
      "type": "string",
      "description": "Affiliate referral link; appears only for registered affiliate partners"
    },
    "model_releases": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ModelRelease"
      },
      "description": "List of all model releases for this track"
    },
    "published_time": {
      "type": "string",
      "format": "date-time",
      "description": "Time this track was published"
    },
    "submitted_time": {
      "type": "string",
      "format": "date-time",
      "description": "Time this track was submitted"
    },
    "is_instrumental": {
      "type": "boolean",
      "description": "Whether or not this track is purely instrumental (lacking lyrics)"
    },
    "similar_artists": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Artist"
      },
      "description": "List of all similar artists of this track"
    },
    "recording_version": {
      "type": "string",
      "description": "Recording version of this track"
    },
    "vocal_description": {
      "type": "string",
      "description": "Vocal description of this track"
    }
  },
  "description": "Audio metadata"
}
object AudioAssetDetails
{
  "type": "object",
  "example": {
    "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.mp3",
    "file_size": 4453197
  },
  "properties": {
    "url": {
      "type": "string",
      "description": "URL the track is available at"
    },
    "file_size": {
      "type": "integer",
      "description": "File size of the track"
    }
  },
  "description": "Information about a file that is part of an audio asset"
}
object AudioAssets
{
  "type": "object",
  "example": {
    "waveform": {
      "url": "https://ak.picdn.net/shutterstock/audio/442583/waveform/waveform.png",
      "file_size": 18778
    },
    "clean_audio": {
      "file_size": 35188408
    },
    "preview_mp3": {
      "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.mp3",
      "file_size": 4400203
    },
    "preview_ogg": {
      "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.ogg",
      "file_size": 4453197
    }
  },
  "properties": {
    "waveform": {
      "$ref": "#/components/schemas/AudioAssetDetails"
    },
    "album_art": {
      "$ref": "#/components/schemas/AudioAssetDetails"
    },
    "clean_audio": {
      "$ref": "#/components/schemas/AudioAssetDetails"
    },
    "preview_mp3": {
      "$ref": "#/components/schemas/AudioAssetDetails"
    },
    "preview_ogg": {
      "$ref": "#/components/schemas/AudioAssetDetails"
    },
    "original_audio": {
      "$ref": "#/components/schemas/AudioAssetDetails"
    },
    "shorts_loops_stems": {
      "$ref": "#/components/schemas/ShortsLoopsStems"
    }
  },
  "description": "Files that are available as part of an audio asset"
}
object AudioDataList
{
  "example": {
    "data": [
      {
        "id": "434750",
        "bpm": 100,
        "isrc": "",
        "moods": [
          "Bright",
          "Confident",
          "Fun",
          "Happy",
          "Inspiring",
          "Optimistic",
          "Playful",
          "Sophisticated",
          "Stylish",
          "Uplifting"
        ],
        "title": "Fresh Love",
        "assets": {
          "waveform": {
            "url": "https://ak.picdn.net/shutterstock/audio/434750/waveform/waveform.png",
            "file_size": 19822
          },
          "clean_audio": {
            "file_size": 30760372
          },
          "preview_mp3": {
            "url": "https://ak.picdn.net/shutterstock/audio/434750/preview/preview.mp3",
            "file_size": 3846606
          },
          "preview_ogg": {
            "url": "https://ak.picdn.net/shutterstock/audio/434750/preview/preview.ogg",
            "file_size": 4402608
          }
        },
        "genres": [
          "Dance/Electronic",
          "Electro Pop",
          "Pop/Rock"
        ],
        "lyrics": "",
        "artists": [
          {
            "name": "Fin Productions"
          }
        ],
        "duration": 160,
        "is_adult": false,
        "keywords": [
          "breezy",
          "celebration",
          "festive",
          "good times",
          "hopeful",
          "optimistic",
          "party",
          "positive",
          "reflective"
        ],
        "language": "en",
        "releases": [],
        "added_date": "2016-04-12T00:00:00.000Z",
        "media_type": "audio",
        "contributor": {
          "id": "2847971X"
        },
        "description": "Pulsing and feel-good, featuring slick electric guitar, synthesizer, bass, electronic drum pads and drums that create a positive, celebratory mood.",
        "instruments": [
          "Bass",
          "Drums",
          "Electric guitar",
          "Pads",
          "Percussion",
          "Synthesizer"
        ],
        "updated_time": "2016-08-18T22:03:11.000Z",
        "published_time": "2016-04-12T21:45:29.000Z",
        "is_instrumental": true,
        "similar_artists": [],
        "recording_version": "",
        "vocal_description": ""
      }
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Audio"
      },
      "description": "Tracks"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of tracks"
}
object AudioRenderResult
{
  "type": "object",
  "example": {
    "id": "2yZp13IhLqnjfh2KquDTOHUHzTiP",
    "files": [],
    "preset": "MASTER_MP3",
    "status": "WAITING_COMPOSE",
    "timeline": {},
    "created_date": "2021-07-13T20:19:30.000Z",
    "updated_date": "2021-07-13T20:19:30.000Z",
    "progress_percent": 0
  },
  "required": [
    "id",
    "timeline",
    "status"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The alphanumeric ID of the simple render"
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRendersFilesList"
      },
      "description": "The files associated with the render"
    },
    "preset": {
      "enum": [
        "MASTER_MP3",
        "MASTER_WAV",
        "STEMS_WAV"
      ],
      "type": "string",
      "description": "The file format preset"
    },
    "status": {
      "enum": [
        "WAITING_COMPOSE",
        "RUNNING_COMPOSE",
        "WAITING_RENDER",
        "RUNNING_RENDER",
        "CREATED",
        "FAILED_CREATE"
      ],
      "type": "string",
      "description": "A coarse progress indicator"
    },
    "timeline": {
      "$ref": "#/components/schemas/AudioRenderTimeline"
    },
    "created_date": {
      "type": "string",
      "format": "date-time",
      "description": "The time the render was submitted to the API"
    },
    "updated_date": {
      "type": "string",
      "format": "date-time",
      "description": "The time that the audio output was uploaded"
    },
    "progress_percent": {
      "type": "integer",
      "description": "The current progress of the render as a percentage"
    }
  },
  "description": "The output of an audio render in WAV or MP3 format"
}
object AudioRenderTimeline
{
  "type": "object",
  "example": {
    "spans": [
      {
        "id": 123456,
        "time": 5,
        "tempo": 12345,
        "regions": [
          {
            "id": 123456,
            "key": {
              "tonic_note": "c",
              "tonic_quality": "major",
              "tonic_accidental": "double flat"
            },
            "beat": 12,
            "region": "music",
            "end_type": {
              "beat": 12,
              "type": "ringout",
              "event": "ending"
            },
            "descriptor": "The descriptor ID needed to compose the music"
          }
        ],
        "span_type": "metered",
        "tempo_changes": [
          {
            "time": 5,
            "tempo": 12345
          }
        ],
        "instrument_groups": [
          {
            "statuses": [
              {
                "beat": 12,
                "status": "active"
              }
            ],
            "instrument_group": "The instrument ID"
          }
        ]
      }
    ]
  },
  "properties": {
    "spans": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRenderTimelineSpan"
      },
      "description": "A span object that represents the beginning of a period of absolute time"
    }
  },
  "description": "A timeline object that represents either a request for music to be created or an entire music composition"
}
object AudioRenderTimelineSpan
{
  "type": "object",
  "example": {
    "id": 111,
    "time": 0,
    "tempo": 76,
    "regions": [
      {
        "id": 222,
        "key": {
          "tonic_note": "c",
          "tonic_quality": "major"
        },
        "beat": 12,
        "region": "music",
        "end_type": {
          "beat": 24,
          "type": "ringout",
          "event": "ending"
        },
        "descriptor": "cinematic_minimal_tense"
      }
    ],
    "span_type": "metered"
  },
  "required": [
    "span_type",
    "time"
  ],
  "properties": {
    "id": {
      "type": "number",
      "description": "An identifier which must be unique within the parent span"
    },
    "time": {
      "type": "integer",
      "description": "The absolute time, in seconds, at which the span starts"
    },
    "tempo": {
      "type": "integer",
      "description": "The tempo, in beats per minute, at the start of the span; if not provided, the API selects a random tempo"
    },
    "regions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRenderTimelineSpanRegion"
      },
      "description": "An array of region objects within the span"
    },
    "span_type": {
      "enum": [
        "metered",
        "unmetered"
      ],
      "type": "string",
      "description": "Type of span; metered spans represent a pariod of time with music, and unmetered spans denote the end of the prior metered span"
    },
    "tempo_changes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRenderTimelineSpanTempoChanges"
      },
      "description": "Two or more inflection points in a tempo curve; the API creates a smoothly changing tempo by using a linear interpolation of the time between each tempo change"
    },
    "instrument_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRenderTimelineSpanInstrumentGroup"
      },
      "description": "An array of instrument_group objects that are used in this span"
    }
  },
  "description": "The beginning of a non-overlapping period of absolute time"
}
object AudioRenderTimelineSpanInstrumentGroup
{
  "type": "object",
  "example": {
    "statuses": [
      {
        "beat": 12,
        "status": "active"
      }
    ],
    "instrument_group": "bright_roomy_kit"
  },
  "required": [
    "instrument_group"
  ],
  "properties": {
    "statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRenderTimelineSpanInstrumentGroupStatus"
      },
      "description": "An array of status objects"
    },
    "instrument_group": {
      "type": "string",
      "description": "The instrument ID"
    }
  },
  "description": "An instrument and the status objects that specify when that instrument plays"
}
object AudioRenderTimelineSpanInstrumentGroupStatus
{
  "type": "object",
  "example": {
    "beat": 12,
    "status": "active"
  },
  "required": [
    "beat",
    "status"
  ],
  "properties": {
    "beat": {
      "type": "number",
      "description": "The beat, relative to the span, at which the status begins"
    },
    "status": {
      "enum": [
        "active",
        "inactive"
      ],
      "type": "string",
      "description": "Whether the instrument is playing or not"
    }
  },
  "description": "The status of an instrument at a specific beat"
}
object AudioRenderTimelineSpanRegion
{
  "type": "object",
  "example": {
    "id": 222,
    "key": {
      "tonic_note": "c",
      "tonic_quality": "major"
    },
    "beat": 12,
    "region": "music",
    "end_type": {
      "beat": 24,
      "type": "ringout",
      "event": "ending"
    },
    "descriptor": "cinematic_minimal_tense"
  },
  "required": [
    "id",
    "region",
    "descriptor",
    "beat"
  ],
  "properties": {
    "id": {
      "type": "number",
      "description": "An identifier which must be unique within the parent span"
    },
    "key": {
      "type": "object",
      "properties": {
        "tonic_note": {
          "enum": [
            "c",
            "d",
            "e",
            "f",
            "g",
            "a",
            "b"
          ],
          "type": "string",
          "description": "A text representation of the musical note; if this field is specified, the tonic_accidental field should also be specified"
        },
        "tonic_quality": {
          "enum": [
            "major",
            "natural_minor",
            "harmonic_minor",
            "melodic_minor",
            "ionian",
            "dorian",
            "phrygian",
            "lydian",
            "mixolydian",
            "aeolian",
            "locrian"
          ],
          "type": "string",
          "example": "major",
          "description": "The scale quality; if this field is not specified, the API selects the quality automatically"
        },
        "tonic_accidental": {
          "enum": [
            "double flat",
            "flat",
            "natural",
            "sharp",
            "double sharp"
          ],
          "type": "string",
          "description": "A text representation of the accidental; if this field is specified, the tonic_note field should also be specified"
        }
      },
      "description": "The key signature active at the beginning of the region"
    },
    "beat": {
      "type": "integer",
      "description": "The beat, relative to the span, at which the region object's music begins"
    },
    "region": {
      "enum": [
        "music",
        "silence"
      ],
      "type": "string",
      "description": "The type of region"
    },
    "end_type": {
      "type": "object",
      "required": [
        "beat",
        "event",
        "type"
      ],
      "properties": {
        "beat": {
          "type": "number",
          "description": "The beat, relative to the start of the active region, at which the end_type begins; in other words, the ending starts on this beat of the region"
        },
        "type": {
          "enum": [
            "ringout",
            "cut"
          ],
          "type": "string",
          "description": "The specific action to perform; if the event type is \"ending\" then this must be \"ringout\" and if event type is \"transition\" this must be \"cut\""
        },
        "event": {
          "enum": [
            "ending",
            "transition"
          ],
          "type": "string",
          "description": "The type of event"
        }
      },
      "description": "A high-level description of how a region ends"
    },
    "descriptor": {
      "type": "string",
      "description": "The descriptor ID needed to compose the music"
    }
  },
  "description": "A period of music or silence, measured in beats"
}
object AudioRenderTimelineSpanTempoChanges
{
  "type": "object",
  "example": {
    "time": 5,
    "tempo": 86
  },
  "required": [
    "time",
    "tempo"
  ],
  "properties": {
    "time": {
      "type": "number",
      "description": "The time, in seconds, at which the tempo exists"
    },
    "tempo": {
      "type": "number",
      "description": "The tempo, in beats per minute, active at this time"
    }
  },
  "description": "An inflection point in a tempo curve; the API creates the overall tempo by using a linear interpolation of the time between each tempo change"
}
object AudioRendersFilesList
{
  "type": "object",
  "example": {
    "tracks": [
      "master"
    ],
    "filename": "My_audio_ai.mp3",
    "size_bytes": 481556,
    "bits_sample": 16,
    "content_type": "audio/mp3",
    "download_url": "https://s3.amazonaws.com/prod-amper-inferno-ephemeral/renders/2021/07/13/amper-api-QwAgKqXQAzr622KuXYZ25C9WRH3a/0.mp3",
    "frequency_hz": 44100,
    "kbits_second": 192
  },
  "required": [
    "filename",
    "bits_sample",
    "content_type",
    "download_url",
    "frequency_hz",
    "kbits_second",
    "size_bytes",
    "tracks"
  ],
  "properties": {
    "tracks": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of track names included in the file"
    },
    "filename": {
      "type": "string",
      "description": "The user-specified file name suggestion from the render request; this file name becomes the filename property of the Content-Disposition header when the user downloads the rendered audio file"
    },
    "size_bytes": {
      "type": "number",
      "description": "Size of the file in bytes"
    },
    "bits_sample": {
      "type": "number",
      "description": "The bit depth of the audio files in bits/sample"
    },
    "content_type": {
      "type": "string",
      "description": "The content-type of the file"
    },
    "download_url": {
      "type": "string",
      "description": "The internet-accessible URL from which the file can be downloaded. Any redirects encountered when using this URL must be followed"
    },
    "frequency_hz": {
      "type": "number",
      "description": "The Sample rate of the audio files in Hertz (Hz)"
    },
    "kbits_second": {
      "type": "number",
      "description": "The data rate of the audio files in kilobits/second"
    }
  },
  "description": "Files associated with the render"
}
object AudioRendersListResults
{
  "example": {
    "audio_renders": [
      {
        "id": "2yZp13IhLqnjfh2KquDTOHUHzTiPX",
        "files": [],
        "preset": "MASTER_MP3",
        "status": "WAITING_COMPOSE",
        "timeline": {},
        "created_date": "2021-07-13T20:19:30.000Z",
        "updated_date": "2021-07-13T20:19:30.000Z",
        "progress_percent": 20
      },
      {
        "id": "QwAgKqXQAzr622KuXYZ25C9WRH3a",
        "files": [
          {
            "tracks": [
              "master"
            ],
            "filename": "My_audio_ai.mp3",
            "size_bytes": 481556,
            "bits_sample": 16,
            "content_type": "audio/mp3",
            "download_url": "https://s3.amazonaws.com/prod-amper-inferno-ephemeral/renders/2021/07/13/amper-api-QwAgKqXQAzr622KuXYZ25C9WRH3a/0.mp3",
            "frequency_hz": 44100,
            "kbits_second": 192
          },
          {
            "tracks": [
              "master"
            ],
            "filename": "render.json",
            "size_bytes": 4420,
            "bits_sample": 0,
            "content_type": "application/vnd.amper.waveform+json",
            "download_url": "https://s3.amazonaws.com/prod-amper-inferno-ephemeral/renders/2021/07/13/amper-api-QwAgKqXQAzr622KuXYZ25C9WRH3a/1.json",
            "frequency_hz": 42,
            "kbits_second": 0
          }
        ],
        "preset": "MASTER_MP3",
        "status": "CREATED",
        "timeline": {},
        "created_date": "2021-07-12T20:39:59.000Z",
        "updated_date": "2021-07-12T20:46:26.000Z",
        "progress_percent": 100
      }
    ]
  },
  "required": [
    "audio_renders"
  ],
  "properties": {
    "audio_renders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AudioRenderResult"
      },
      "description": "Audio render results"
    }
  },
  "description": "Audio render data"
}
object AudioSearchResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "442583X",
        "bpm": 110,
        "url": "",
        "isrc": "",
        "moods": [
          "Bright",
          "Confident",
          "Fun",
          "Happy",
          "Inspiring",
          "Optimistic",
          "Playful",
          "Sophisticated",
          "Stylish",
          "Uplifting"
        ],
        "title": "Another Tomorrow",
        "assets": {
          "waveform": {
            "url": "https://ak.picdn.net/shutterstock/audio/442583/waveform/waveform.png",
            "file_size": 18778
          },
          "clean_audio": {
            "file_size": 35188408
          },
          "preview_mp3": {
            "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.mp3",
            "file_size": 4400203
          },
          "preview_ogg": {
            "url": "https://ak.picdn.net/shutterstock/audio/442583/preview/preview.ogg",
            "file_size": 4453197
          }
        },
        "genres": [
          "Dance/Electronic",
          "Electro Pop",
          "Pop/Rock"
        ],
        "lyrics": "",
        "artists": [
          {
            "name": "Klimenko Music"
          }
        ],
        "duration": 183,
        "is_adult": false,
        "keywords": [
          "celebratory",
          "chic",
          "euphoric",
          "good times",
          "hip",
          "optimistic",
          "party",
          "soaring",
          "upbeat"
        ],
        "language": "en",
        "releases": [],
        "added_date": "2016-08-16T00:00:00.000Z",
        "media_type": "audio",
        "contributor": {
          "id": "2847971X"
        },
        "description": "Pulsing and feel-good, featuring soaring synthesizer, groovy synth bass drums and synth drums that create a euphoric, upbeat mood.",
        "instruments": [
          "Piano",
          "Synth bass",
          "Synth drums",
          "Synthesizer"
        ],
        "updated_time": "2016-08-18T21:59:33.000Z",
        "published_time": "2016-08-16T18:30:03.000Z",
        "is_instrumental": true,
        "similar_artists": [],
        "recording_version": "",
        "vocal_description": ""
      }
    ],
    "page": 1,
    "per_page": 5,
    "search_id": "749090bb-2967-4a20-b22e-c800dc845e10",
    "total_count": 123455
  },
  "required": [
    "data",
    "total_count",
    "search_id"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Audio"
      },
      "description": "List of tracks"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "Audio search results"
}
object AudioUrl
{
  "type": "object",
  "example": {
    "$ref": "#/components/schemas/Url/example"
  },
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "URL that can be used to download the unwatermarked, licensed asset"
    },
    "shorts_loops_stems": {
      "type": "string",
      "description": "URL that can be used to download the .zip file containing shorts, loops, and stems"
    }
  },
  "description": "Audio License URL object"
}
string AuthorizeResponse
{
  "type": "string",
  "example": "Moved temporarily. Redirecting to https://accounts.shutterstock.com/login?next=%2Foauth%2Fauthorize%3Fresponse_type%3Dcode%26state%3D1539619928633%26scope%3Dlicenses.create%20licenses.view%20purchases.view%26client_id%3D6d097450b209c6dcd859%26redirect_uri%3Dhttp%3A%2F%2Flocalhost%3A3000%2Fmyapp%2Fauth%2Fcallback%26realm%3Dcustomer",
  "description": "HTML redirect URL that contains the application authorization 'code'"
}
object Bands
{
  "type": "object",
  "example": {
    "id": "1234567X",
    "name": "The Happy Tunes Band"
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "The ID of the band"
    },
    "name": {
      "type": "string",
      "description": "The name of the band"
    }
  },
  "description": "A band that can be used to generate music"
}
array BulkImageSearchRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/SearchImage"
  },
  "example": [
    {
      "sort": "popular",
      "query": "cat",
      "license": [
        "editorial"
      ]
    },
    {
      "query": "dog",
      "orientation": "horizontal"
    }
  ],
  "maxItems": 5,
  "description": "List of searches"
}
object BulkImageSearchResults
{
  "type": "object",
  "example": {
    "results": [
      {
        "data": [
          {
            "id": "1572478477",
            "aspect": 1.5,
            "assets": {
              "preview": {
                "url": "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
                "width": 450,
                "height": 300
              },
              "huge_thumb": {
                "url": "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
                "width": 390,
                "height": 260
              },
              "large_thumb": {
                "url": "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
                "width": 150,
                "height": 100
              },
              "small_thumb": {
                "url": "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
                "width": 100,
                "height": 67
              },
              "preview_1000": {
                "url": "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
                "width": 1000,
                "height": 667
              },
              "preview_1500": {
                "url": "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
                "width": 1500,
                "height": 1000
              }
            },
            "image_type": "photo",
            "media_type": "image",
            "contributor": {
              "id": "250738318"
            },
            "description": "cropped image of woman gardening",
            "has_model_release": true
          }
        ],
        "page": 1,
        "per_page": 5,
        "search_id": "749090bb-2967-4a20-b22e-c800dc845e10",
        "total_count": 45,
        "spellcheck_info": {}
      },
      {
        "data": [],
        "page": 1,
        "per_page": 5,
        "search_id": "749090bb-2967-4a20-b22e-c800dc845e11",
        "total_count": 0,
        "spellcheck_info": {}
      }
    ]
  },
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ImageSearchResults"
      },
      "description": "List of image search results"
    },
    "bulk_search_id": {
      "type": "string",
      "description": "Unique identifier for the search request"
    }
  },
  "description": "List of search results for each given query"
}
object CatalogCollection
{
  "type": "object",
  "example": {
    "id": "126351028",
    "name": "My collection",
    "visibility": "public",
    "cover_asset": {
      "id": "123",
      "asset": {
        "id": "1690105108",
        "name": "Young couple playing tennis at the court",
        "type": "image"
      },
      "created_time": "2021-06-10T17:26:09.000Z"
    },
    "created_time": "2021-05-20T20:15:22.000Z",
    "updated_time": "2021-06-10T17:26:09.000Z",
    "role_assignments": {
      "roles": {
        "owners": [
          {
            "id": "321",
            "type": "USER",
            "email": "userOne@org.com"
          }
        ],
        "editors": [
          {
            "id": "987",
            "type": "USER",
            "email": "userTwo@org.com"
          }
        ],
        "viewers": []
      },
      "collection_id": "126351028"
    },
    "total_item_count": 2
  },
  "required": [
    "id",
    "name",
    "total_item_count",
    "created_time",
    "updated_time",
    "visibility",
    "role_assignments"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "visibility": {
      "enum": [
        "private",
        "public"
      ],
      "type": "string"
    },
    "cover_asset": {
      "$ref": "#/components/schemas/CatalogCollectionItem"
    },
    "created_time": {
      "type": "string",
      "format": "date-time"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time"
    },
    "role_assignments": {
      "$ref": "#/components/schemas/CatalogCollectionRoleAssignments"
    },
    "total_item_count": {
      "type": "number"
    }
  },
  "description": "Catalog collection"
}
object CatalogCollectionDataList
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "126351028X",
        "name": "My collection",
        "visibility": "public",
        "cover_asset": {
          "id": "123X",
          "asset": {
            "id": "1690105108X",
            "name": "Young couple playing tennis at the court",
            "type": "image"
          },
          "created_time": "2021-06-10T17:26:09.000Z"
        },
        "created_time": "2021-05-20T20:15:22.000Z",
        "updated_time": "2021-06-10T17:26:09.000Z",
        "role_assignments": {
          "roles": {
            "owners": [
              {
                "id": "321X",
                "type": "USER",
                "email": "userOne@org.com"
              }
            ],
            "editors": [
              {
                "id": "987X",
                "type": "USER",
                "email": "userTwo@org.com"
              }
            ],
            "viewers": []
          },
          "collection_id": "126351028"
        },
        "total_item_count": 2
      }
    ],
    "page": 1,
    "per_page": 20,
    "total_count": 1
  },
  "required": [
    "page",
    "per_page",
    "total_count",
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CatalogCollection"
      },
      "description": "List of catalog collections"
    },
    "page": {
      "type": "number"
    },
    "per_page": {
      "type": "number"
    },
    "total_count": {
      "type": "number"
    }
  },
  "description": "List of catalog collections"
}
object CatalogCollectionItem
{
  "type": "object",
  "example": {
    "id": "123X",
    "asset": {
      "id": "1690105108X",
      "name": "Young couple playing tennis at the court",
      "type": "image"
    },
    "created_time": "2021-06-10T17:26:09.000Z",
    "collection_ids": [
      "126351028"
    ]
  },
  "required": [
    "id",
    "asset",
    "created_time"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "asset": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "enum": [
            "image",
            "video",
            "audio",
            "editorial-image",
            "editorial-video"
          ],
          "type": "string"
        }
      }
    },
    "created_time": {
      "type": "string",
      "format": "date-time"
    },
    "collection_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The collection IDs that this asset belongs to"
    }
  },
  "description": "Metadata about an item that is part of a collection"
}
object CatalogCollectionItemDataList
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "123X",
        "asset": {
          "id": "1690105108X",
          "name": "Young couple playing tennis at the court",
          "type": "image"
        },
        "created_time": "2021-06-10T17:26:09.000Z",
        "collection_ids": [
          "126351028"
        ]
      }
    ],
    "page": 1,
    "per_page": 1,
    "total_count": 82
  },
  "required": [
    "page",
    "per_page",
    "total_count",
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CatalogCollectionItem"
      },
      "description": "List of catalog collection items"
    },
    "page": {
      "type": "number"
    },
    "per_page": {
      "type": "number"
    },
    "total_count": {
      "type": "number"
    }
  },
  "description": "List of catalog collection items"
}
object CatalogCollectionRole
{
  "type": "object",
  "example": {
    "id": "123X",
    "type": "USER",
    "email": "user123@org.com"
  },
  "required": [
    "id",
    "type",
    "email"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "enum": [
        "USER"
      ],
      "type": "string"
    },
    "email": {
      "type": "string"
    }
  },
  "description": "A user that has access to a catalog collection"
}
object CatalogCollectionRoleAssignments
{
  "type": "object",
  "example": {
    "roles": {
      "owners": [
        {
          "id": "321X",
          "type": "USER",
          "email": "userOne@org.com"
        }
      ],
      "editors": [
        {
          "id": "987X",
          "type": "USER",
          "email": "userTwo@org.com"
        }
      ],
      "viewers": []
    },
    "collection_id": "126351028"
  },
  "required": [
    "collection_id",
    "roles"
  ],
  "properties": {
    "roles": {
      "type": "object",
      "properties": {
        "owners": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CatalogCollectionRole"
          }
        },
        "editors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CatalogCollectionRole"
          }
        },
        "viewers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CatalogCollectionRole"
          }
        }
      }
    },
    "collection_id": {
      "type": "string"
    }
  },
  "description": "List of role assignments for a catalog collection"
}
object Category
{
  "type": "object",
  "example": {
    "id": "1",
    "name": "Animals/Wildlife"
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "Category ID"
    },
    "name": {
      "type": "string",
      "description": "Category name"
    }
  },
  "description": "Category information"
}
object CategoryDataList
{
  "example": {
    "data": [
      {
        "id": "1X",
        "name": "Animals/Wildlife"
      },
      {
        "id": "11",
        "name": "The Arts"
      }
    ],
    "page": 1,
    "per_page": 2,
    "total_count": 13
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Category"
      },
      "description": "Categories"
    },
    "page": {
      "type": "integer",
      "description": "The current page of results"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "The number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "The total number of results across all pages"
    }
  },
  "description": "List of categories that images can belong to"
}
object Collection
{
  "type": "object",
  "example": {
    "id": "293542904",
    "name": "My collection",
    "cover_item": {
      "id": "297886754"
    },
    "total_item_count": 85,
    "items_updated_time": "2021-05-20T20:15:22.000Z"
  },
  "required": [
    "id",
    "name",
    "total_item_count"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The collection ID"
    },
    "name": {
      "type": "string",
      "description": "The name of the collection"
    },
    "share_url": {
      "type": "string",
      "description": "The browser URL that can be used to share the collection (optional)"
    },
    "cover_item": {
      "$ref": "#/components/schemas/CollectionItem"
    },
    "share_code": {
      "type": "string",
      "description": "A code that can be used to share the collection (optional)"
    },
    "created_time": {
      "type": "string",
      "format": "date-time",
      "description": "When the collection was created"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "The last time the collection was update (other than changes to the items in it)"
    },
    "total_item_count": {
      "type": "integer",
      "description": "The number of items in the collection"
    },
    "items_updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "The last time this collection's items were updated"
    }
  },
  "description": "Metadata about a collection of assets"
}
object CollectionCreateRequest
{
  "type": "object",
  "example": {
    "name": "Test Collection 19cf"
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the collection"
    }
  },
  "description": "Collection creation request"
}
object CollectionCreateResponse
{
  "type": "object",
  "example": {
    "id": "48433105"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the new collection"
    }
  },
  "description": "Collection creation response"
}
object CollectionDataList
{
  "example": {
    "data": [
      {
        "id": "293542904X",
        "name": "My collection",
        "cover_item": {
          "id": "297886754X"
        },
        "total_item_count": 85,
        "items_updated_time": "2021-05-20T20:15:22.000Z"
      }
    ],
    "page": 1,
    "per_page": 100,
    "total_count": 1
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Collection"
      },
      "description": "Collections"
    },
    "page": {
      "type": "integer",
      "description": "The current page of results"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "The number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "The total number of results across all pages"
    }
  },
  "description": "List of collections"
}
object CollectionItem
{
  "type": "object",
  "example": {
    "id": "1690105108X",
    "added_time": "2020-05-29T17:10:22.000Z",
    "media_type": "image"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the item"
    },
    "added_time": {
      "type": "string",
      "format": "date-time",
      "description": "The date the item was added to the collection"
    },
    "media_type": {
      "type": "string",
      "description": "The media type of the item, such as image, video, or audio"
    }
  },
  "description": "Metadata about an item that is part of a collection"
}
object CollectionItemDataList
{
  "example": {
    "data": [
      {
        "id": "1690105108X",
        "added_time": "2021-07-08T12:33:37.000Z",
        "media_type": "image"
      },
      {
        "id": "1468703072",
        "added_time": "2021-07-08T12:31:43.000Z",
        "media_type": "image"
      }
    ],
    "page": 1,
    "per_page": 2,
    "total_count": 82
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CollectionItem"
      },
      "description": "Assets in the collection"
    },
    "page": {
      "type": "integer",
      "description": "The current page of results"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "The number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "The total number of results across all pages"
    }
  },
  "description": "List of items in a collection"
}
object CollectionItemRequest
{
  "type": "object",
  "example": {
    "items": [
      {
        "id": "1690105108X",
        "added_time": "2020-05-29T17:10:22.000Z",
        "media_type": "image"
      }
    ]
  },
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CollectionItem"
      },
      "description": "List of items"
    }
  },
  "description": "Request to get a list of items in a collection"
}
object CollectionUpdateRequest
{
  "type": "object",
  "example": {
    "name": "My collection with a new name"
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The new name of the collection"
    }
  },
  "description": "Collection update request"
}
object ComputerVisionImageCreateResponse
{
  "type": "object",
  "example": {
    "upload_id": "Udb14e1c3540bdbf82b4b3fe12d3a44f2"
  },
  "required": [
    "upload_id"
  ],
  "properties": {
    "upload_id": {
      "type": "string"
    }
  },
  "description": "Asset upload information"
}
object Contributor
{
  "type": "object",
  "example": {
    "id": "12345678"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the contributor"
    }
  },
  "description": "Information about a contributor"
}
object ContributorProfile
{
  "type": "object",
  "example": {
    "id": "12345678X",
    "about": "John Doe's photographs",
    "styles": [
      "landscape",
      "nature",
      "footage_travel"
    ],
    "website": "http://example.com/profiles/jdoe",
    "location": "US",
    "subjects": [
      "animals",
      "landmarks",
      "nature",
      "objects",
      "recreation"
    ],
    "equipment": [
      "Nikon",
      "Fuji"
    ],
    "display_name": "John Doe",
    "social_media": {
      "tumblr": "http://example.com/jdoe",
      "twitter": "http://example.com/jdoe",
      "facebook": "http://example.com/jdoe",
      "linkedin": "http://example.com/jdoe",
      "pinterest": "http://example.com/jdoe",
      "google_plus": "http://example.com/jdoe"
    },
    "portfolio_url": "https://www.shutterstock.com/g/jdoe",
    "contributor_type": [
      "photographer"
    ]
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Contributor ID"
    },
    "about": {
      "type": "string",
      "description": "Short description of the contributors' library"
    },
    "styles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of styles that the contributor specializes in (lifestyle, mixed media, etc)"
    },
    "website": {
      "type": "string",
      "description": "Personal website for the contributor"
    },
    "location": {
      "type": "string",
      "description": "Country code representing the contributor's locale"
    },
    "subjects": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Generic list of subjects for contributors' work (food_and_drink, holiday, people, etc)"
    },
    "equipment": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of equipment used by the contributor (Canon EOS 5D Mark II, etc)"
    },
    "display_name": {
      "type": "string",
      "description": "Preferred name to be displayed for the contributor"
    },
    "social_media": {
      "$ref": "#/components/schemas/ContributorProfileSocialMedia"
    },
    "portfolio_url": {
      "type": "string",
      "description": "Web URL for the contributors' profile"
    },
    "contributor_type": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Type of content that the contributor specializes in (photographer, illustrator, etc)"
    }
  },
  "description": "Contributor profile data"
}
object ContributorProfileDataList
{
  "example": {
    "data": [
      {
        "id": "12345678X",
        "about": "John Doe's photographs",
        "styles": [
          "landscape",
          "nature",
          "footage_travel"
        ],
        "website": "http://example.com/profiles/jdoe",
        "location": "US",
        "subjects": [
          "animals",
          "landmarks",
          "nature",
          "objects",
          "recreation"
        ],
        "equipment": [
          "Nikon",
          "Fuji"
        ],
        "display_name": "John Doe",
        "social_media": {
          "tumblr": "http://example.com/jdoe",
          "twitter": "http://example.com/jdoe",
          "facebook": "http://example.com/jdoe",
          "linkedin": "http://example.com/jdoe",
          "pinterest": "http://example.com/jdoe",
          "google_plus": "http://example.com/jdoe"
        },
        "portfolio_url": "https://www.shutterstock.com/g/jdoe",
        "contributor_type": [
          "photographer"
        ]
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 15
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ContributorProfile"
      },
      "description": "Conributor profiles"
    },
    "page": {
      "type": "integer",
      "description": "Page of response"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of contributors per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of contributors for this request"
    }
  },
  "description": "List of contributor profiles"
}
object ContributorProfileSocialMedia
{
  "type": "object",
  "example": {
    "tumblr": "http://example.com/jdoe",
    "twitter": "http://example.com/jdoe",
    "facebook": "http://example.com/jdoe",
    "linkedin": "http://example.com/jdoe",
    "pinterest": "http://example.com/jdoe",
    "google_plus": "http://example.com/jdoe"
  },
  "properties": {
    "tumblr": {
      "type": "string",
      "description": "Tumblr link for contributor"
    },
    "twitter": {
      "type": "string",
      "description": "Twitter link for contributor"
    },
    "facebook": {
      "type": "string",
      "description": "Facebook link for contributor"
    },
    "linkedin": {
      "type": "string",
      "description": "LinkedIn link for contributor"
    },
    "pinterest": {
      "type": "string",
      "description": "Pinterest page for contributor"
    },
    "google_plus": {
      "type": "string",
      "description": "Google+ link for contributor"
    }
  },
  "description": "Contributor profile social media links"
}
object Cookie
{
  "type": "object",
  "example": {
    "name": "The name of the cookie",
    "value": "The value of the cookie"
  },
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the cookie"
    },
    "value": {
      "type": "string",
      "description": "The value of the cookie"
    }
  },
  "description": "Cookie object"
}
object CreateAudioRender
{
  "type": "object",
  "example": {
    "preset": "MASTER_MP3",
    "filename": "My Project.mp3",
    "timeline": {
      "spans": [
        {
          "id": 111,
          "time": 5,
          "tempo": 76,
          "regions": [
            {
              "id": 222,
              "key": {
                "tonic_note": "c",
                "tonic_quality": "major"
              },
              "beat": 12,
              "region": "music",
              "end_type": {
                "beat": 24,
                "type": "ringout",
                "event": "ending"
              },
              "descriptor": "cinematic_minimal_tense"
            }
          ],
          "span_type": "metered",
          "tempo_changes": [
            {
              "time": 5,
              "tempo": 86
            }
          ],
          "instrument_groups": [
            {
              "statuses": [
                {
                  "beat": 12,
                  "status": "active"
                }
              ],
              "instrument_group": "roomy_kit"
            }
          ]
        },
        {
          "time": 20,
          "span_type": "unmetered"
        }
      ]
    }
  },
  "required": [
    "preset",
    "timeline",
    "filename"
  ],
  "properties": {
    "preset": {
      "enum": [
        "MASTER_MP3",
        "MASTER_WAV",
        "STEMS_WAV"
      ],
      "type": "string",
      "example": "MASTER_MP3",
      "description": "File format, such as MP3 file, combined WAV file, or individual track WAV files"
    },
    "filename": {
      "type": "string",
      "example": "My Project.mp3",
      "description": "A user-specified file name suggestion; this file name becomes the filename property of the Content-Disposition header when the user downloads the rendered audio file"
    },
    "timeline": {
      "$ref": "#/components/schemas/AudioRenderTimeline",
      "description": "The timeline data with which to generate the render"
    }
  },
  "description": "Data required to create an audio render"
}
object CreateAudioRendersRequest
{
  "type": "object",
  "example": {
    "audio_renders": [
      {
        "preset": "MASTER_MP3",
        "filename": "My Project.mp3",
        "timeline": {
          "spans": [
            {
              "id": 111,
              "time": 5,
              "tempo": 76,
              "regions": [
                {
                  "id": 222,
                  "key": {
                    "tonic_note": "c",
                    "tonic_quality": "major"
                  },
                  "beat": 12,
                  "region": "music",
                  "end_type": {
                    "beat": 24,
                    "type": "ringout",
                    "event": "ending"
                  },
                  "descriptor": "cinematic_minimal_tense"
                }
              ],
              "span_type": "metered",
              "tempo_changes": [
                {
                  "time": 5,
                  "tempo": 86
                }
              ],
              "instrument_groups": [
                {
                  "statuses": [
                    {
                      "beat": 12,
                      "status": "active"
                    }
                  ],
                  "instrument_group": "roomy_kit"
                }
              ]
            },
            {
              "time": 20,
              "span_type": "unmetered"
            }
          ]
        }
      }
    ]
  },
  "required": [
    "audio_renders"
  ],
  "properties": {
    "audio_renders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateAudioRender"
      },
      "description": "Parameters to create computer audio renders"
    }
  },
  "description": "Render request data"
}
object CreateCatalogCollection
{
  "type": "object",
  "example": {
    "name": "New Collection",
    "items": [
      {
        "asset": {
          "id": "1690105108X",
          "type": "image"
        }
      }
    ],
    "visibility": "public"
  },
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100000,
      "minLength": 1
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCatalogCollectionItem"
      },
      "maxItems": 50
    },
    "visibility": {
      "enum": [
        "private",
        "public"
      ],
      "type": "string",
      "default": "private"
    }
  }
}
object CreateCatalogCollectionItem
{
  "type": "object",
  "example": {
    "asset": {
      "id": "1690105108X",
      "type": "image"
    }
  },
  "required": [
    "asset"
  ],
  "properties": {
    "asset": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    }
  }
}
object CreateCatalogCollectionItems
{
  "type": "object",
  "example": {
    "items": [
      {
        "asset": {
          "id": "1690105108X",
          "type": "image"
        }
      }
    ]
  },
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCatalogCollectionItem"
      },
      "maxItems": 50,
      "minItems": 1
    }
  }
}
object CustomSizeDimensions
{
  "type": "object",
  "example": {
    "width": 800,
    "height": 600
  },
  "properties": {
    "width": {
      "type": "integer",
      "minimum": 100,
      "description": "Custom width to resize the image to"
    },
    "height": {
      "type": "integer",
      "minimum": 100,
      "description": "Custom height to resize the image to"
    }
  },
  "description": "A custom height or a custom width to resize the image to, but not both (experimental)"
}
object Descriptors
{
  "type": "object",
  "example": {
    "id": "cinematic_minimal_tense",
    "name": "Cinematic Minimal Tense",
    "tags": [
      "Tense",
      "Cinematic",
      "Negative",
      "Simple Meter",
      "4/4",
      "Natural Minor",
      "Dorian",
      "Minimal",
      "Adagio",
      "Single Region",
      "Main",
      "Entertainment",
      "Politics",
      "Keys",
      "Mid Pads",
      "Fast",
      "Slow",
      "Slow",
      "Voice",
      "Medium Bright",
      "Non Noisy",
      "Medium Thick",
      "Angelic",
      "Direct",
      "Percussion",
      "Perc FX",
      "Misc",
      "Acoustic Pianos",
      "Grand",
      "Nice",
      "Roomy",
      "Pop",
      "Upright",
      "Clean",
      "Classic",
      "Keyboards",
      "Digital Keyboard",
      "Strings",
      "Synth Basses",
      "Fast",
      "Dark",
      "Thick",
      "Sub",
      "Synth Mallets",
      "Dull",
      "Mid Synth Beds",
      "Slow",
      "None",
      "Medium Noisy",
      "Harsh",
      "Fast",
      "Airy",
      "Long Textures",
      "Ambience",
      "Synth Texture",
      "Ethereal",
      "Set Kicks",
      "Processed",
      "Hubcap Mallet",
      "Wide",
      "Tickie",
      "Airy",
      "Chamber",
      "Thin",
      "Organ",
      "Cello Ensemble",
      "Sweet",
      "Big",
      "Di",
      "Raw",
      "Bright",
      "Tight",
      "Chorus",
      "Buzzy",
      "Huge",
      "Warm",
      "Jazz",
      "Brass",
      "String",
      "Hollow",
      "Woodwind",
      "Breathy",
      "Crystal",
      "Rhodes",
      "Synth Piano",
      "Noisy",
      "Woody",
      "Metallic",
      "Reverse Piano",
      "Full",
      "Foley",
      "Piano",
      "Clean",
      "Delayed",
      "Reverb",
      "Low Passed",
      "Large",
      "Medium",
      "Small"
    ],
    "bands": [
      {
        "id": "cinematic_minimal_tense_band_1",
        "name": "Cinematic Minimal Tense Band 1"
      },
      {
        "id": "cinematic_minimal_tense_band_2",
        "name": "Cinematic Minimal Tense Band 2"
      }
    ],
    "previews": [
      {
        "url": "https://public-cdn.ampermusic.com/bands/previews/cinematic_minimal_tense_band_1_v1.mp3",
        "content_type": "audio/mp3"
      },
      {
        "url": "https://public-cdn.ampermusic.com/bands/previews/cinematic_minimal_tense_band_2_v1.mp3",
        "content_type": "audio/mp3"
      }
    ],
    "max_tempo": 76,
    "min_tempo": 58,
    "instruments": [
      {
        "id": "blue_synth_pad",
        "name": "Warm Pad - Lush"
      },
      {
        "id": "direct_round_1_synth_bass",
        "name": "Direct Round 1 Synth Bass"
      },
      {
        "id": "direct_crystal_breath_mid_pad",
        "name": "Direct Crystal Breath Mid Pad"
      }
    ],
    "average_render_speed": 8.242664029014177
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "The ID of the descriptor"
    },
    "name": {
      "type": "string",
      "description": "The name of the descriptor"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags that describe the descriptor"
    },
    "bands": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Bands"
      },
      "description": "The bands that are available to use this descriptor"
    },
    "previews": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Preview"
      },
      "description": "Preview of the descriptor"
    },
    "max_tempo": {
      "type": "number",
      "description": "The maximum beats per minute that the descriptor is intended to be used with"
    },
    "min_tempo": {
      "type": "number",
      "description": "The minimum beats per minute that the descriptor is intended to be used with"
    },
    "instruments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Instruments"
      },
      "description": "The instruments that can play with this descriptor"
    },
    "average_render_speed": {
      "type": "number",
      "description": "The average ratio of the length of the music to the time it takes to render; for example, a render speed of 3.0 generates 30 seconds of music in about 10 seconds"
    }
  },
  "description": "Information about a descriptor"
}
object DescriptorsListResult
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "cinematic_minimal_tenseX",
        "name": "Cinematic Minimal Tense",
        "tags": [
          "Tense",
          "Cinematic",
          "Negative",
          "Simple Meter",
          "4/4",
          "Natural Minor",
          "Dorian",
          "Minimal",
          "Adagio",
          "Single Region",
          "Main",
          "Entertainment",
          "Politics",
          "Keys",
          "Mid Pads",
          "Fast",
          "Slow",
          "Slow",
          "Voice",
          "Medium Bright",
          "Non Noisy",
          "Medium Thick",
          "Angelic",
          "Direct",
          "Percussion",
          "Perc FX",
          "Misc",
          "Acoustic Pianos",
          "Grand",
          "Nice",
          "Roomy",
          "Pop",
          "Upright",
          "Clean",
          "Classic",
          "Keyboards",
          "Digital Keyboard",
          "Strings",
          "Synth Basses",
          "Fast",
          "Dark",
          "Thick",
          "Sub",
          "Synth Mallets",
          "Dull",
          "Mid Synth Beds",
          "Slow",
          "None",
          "Medium Noisy",
          "Harsh",
          "Fast",
          "Airy",
          "Long Textures",
          "Ambience",
          "Synth Texture",
          "Ethereal",
          "Set Kicks",
          "Processed",
          "Hubcap Mallet",
          "Wide",
          "Tickie",
          "Airy",
          "Chamber",
          "Thin",
          "Organ",
          "Cello Ensemble",
          "Sweet",
          "Big",
          "Di",
          "Raw",
          "Bright",
          "Tight",
          "Chorus",
          "Buzzy",
          "Huge",
          "Warm",
          "Jazz",
          "Brass",
          "String",
          "Hollow",
          "Woodwind",
          "Breathy",
          "Crystal",
          "Rhodes",
          "Synth Piano",
          "Noisy",
          "Woody",
          "Metallic",
          "Reverse Piano",
          "Full",
          "Foley",
          "Piano",
          "Clean",
          "Delayed",
          "Reverb",
          "Low Passed",
          "Large",
          "Medium",
          "Small"
        ],
        "bands": [
          {
            "id": "cinematic_minimal_tense_band_1X",
            "name": "Cinematic Minimal Tense Band 1"
          },
          {
            "id": "cinematic_minimal_tense_band_2X",
            "name": "Cinematic Minimal Tense Band 2"
          }
        ],
        "previews": [
          {
            "url": "https://public-cdn.ampermusic.com/bands/previews/cinematic_minimal_tense_band_1_v1.mp3",
            "content_type": "audio/mp3"
          },
          {
            "url": "https://public-cdn.ampermusic.com/bands/previews/cinematic_minimal_tense_band_2_v1.mp3",
            "content_type": "audio/mp3"
          }
        ],
        "max_tempo": 76,
        "min_tempo": 58,
        "instruments": [
          {
            "id": "blue_synth_padX",
            "name": "Warm Pad - Lush"
          },
          {
            "id": "direct_round_1_synth_bassX",
            "name": "Direct Round 1 Synth Bass"
          },
          {
            "id": "direct_crystal_breath_mid_padX",
            "name": "Direct Crystal Breath Mid Pad"
          }
        ],
        "average_render_speed": 8.242664029014177
      }
    ],
    "page": 1,
    "per_page": 1
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Descriptors"
      },
      "description": "List of descriptors"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    }
  },
  "description": "List Descriptors results"
}
object DownloadHistory
{
  "type": "object",
  "example": {
    "id": "a24499ca3ccd912a6d8316d45f953ef092",
    "user": {
      "username": "jdoe"
    },
    "image": {
      "id": "1234567X",
      "format": {
        "size": "medium"
      }
    },
    "license": "standard",
    "download_time": "2021-05-20T20:31:46.000Z",
    "is_downloadable": true,
    "subscription_id": "s12345678"
  },
  "required": [
    "id",
    "download_time",
    "license"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the download"
    },
    "user": {
      "$ref": "#/components/schemas/DownloadHistoryUserDetails"
    },
    "audio": {
      "$ref": "#/components/schemas/DownloadHistoryMediaDetails"
    },
    "image": {
      "$ref": "#/components/schemas/DownloadHistoryMediaDetails"
    },
    "video": {
      "$ref": "#/components/schemas/DownloadHistoryMediaDetails"
    },
    "license": {
      "type": "string",
      "description": "The name of the license of this download"
    },
    "metadata": {
      "type": "object",
      "description": "The metadata that was passed in the original licensing request"
    },
    "revshare": {
      "$ref": "#/components/schemas/DownloadHistoryRevshareDetails"
    },
    "download_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date the media was downloaded the first time"
    },
    "is_downloadable": {
      "type": "boolean",
      "description": "Specifies if the media is downloadable via its respective downloads endpoint"
    },
    "subscription_id": {
      "type": "string",
      "description": "ID of the subscription used to perform this download"
    }
  },
  "description": "Information about a downloaded media item. Applicable for all media types, only one of 'audio', 'image' or 'video' will be in a single DownloadHistory object"
}
object DownloadHistoryDataList
{
  "example": {
    "data": [
      {
        "id": "e1eba3833793e77188d22caae8bac9f2cd",
        "user": {
          "username": "editorial_test_account_002"
        },
        "image": {
          "id": "9763363ao",
          "format": {
            "size": "original"
          }
        },
        "license": "premier_editorial_all_digital",
        "metadata": {
          "job": "Important project",
          "other": "Important media",
          "client": "Company A",
          "purchase_order": "123456"
        },
        "download_time": "2021-07-15T15:46:34.000Z",
        "is_downloadable": false,
        "subscription_id": "s12345678"
      }
    ],
    "page": 1,
    "per_page": 1,
    "total_count": 2890
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DownloadHistory"
      },
      "description": "Download events"
    },
    "page": {
      "type": "integer",
      "description": "The current page of results"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "The number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "The total number of results across all pages"
    }
  },
  "description": "List of download events"
}
object DownloadHistoryFormatDetails
{
  "type": "object",
  "example": {
    "size": "medium",
    "format": "jpg"
  },
  "properties": {
    "size": {
      "type": "string",
      "description": "The size of the downloaded media"
    },
    "format": {
      "type": "string",
      "description": "The format of the downloaded media"
    }
  },
  "description": "Information about the format of a download"
}
object DownloadHistoryMediaDetails
{
  "type": "object",
  "example": {
    "id": "1234567X",
    "format": {
      "size": "medium",
      "format": "jpg"
    }
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the download history media details"
    },
    "format": {
      "$ref": "#/components/schemas/DownloadHistoryFormatDetails"
    }
  },
  "description": "Information about the downloaded media"
}
object DownloadHistoryRevshareDetails
{
  "type": "object",
  "example": {
    "purchase_amount": "8.65",
    "purchase_currency": "USD"
  },
  "required": [
    "purchase_amount",
    "purchase_currency"
  ],
  "properties": {
    "purchase_amount": {
      "type": "string",
      "description": "The amount charged for the license"
    },
    "purchase_currency": {
      "type": "string",
      "description": "The currency the amount was charged in"
    }
  },
  "description": "Pricing information for revenue-sharing transactions"
}
object DownloadHistoryUserDetails
{
  "type": "object",
  "example": {
    "username": "jdoe"
  },
  "required": [
    "username"
  ],
  "properties": {
    "username": {
      "type": "string",
      "description": "The name of the user who downloaded the item"
    }
  },
  "description": "Information about a user"
}
object EditorialAssets
{
  "type": "object",
  "example": {
    "original": {
      "width": 5985,
      "height": 3693,
      "display_name": "Original",
      "is_licensable": true
    },
    "small_jpg": {
      "width": 500,
      "height": 309,
      "display_name": "Small",
      "is_licensable": true
    },
    "thumb_170": {
      "url": "https://editorial01.qa.shuttercorp.net/thumb/10687730b/272a999e/Shutterstock_10687730b.jpg",
      "width": 170,
      "height": 105
    },
    "thumb_220": {
      "url": "https://editorial01.qa.shuttercorp.net/thumb-220/10687730b/927a6ebe/Shutterstock_10687730b.jpg",
      "width": 220,
      "height": 136
    },
    "medium_jpg": {
      "width": 1000,
      "height": 617,
      "display_name": "Med",
      "is_licensable": true
    },
    "watermark_450": {
      "url": "https://editorial01.qa.shuttercorp.net/wm-preview-450/10687730b/ff2443ad/Shutterstock_10687730b.jpg",
      "width": 450,
      "height": 278
    },
    "watermark_1500": {
      "url": "https://editorial01.qa.shuttercorp.net/wm-preview-1500/10687730b/ee2d7ae1/Shutterstock_10687730b.jpg",
      "width": 1500,
      "height": 926
    }
  },
  "properties": {
    "original": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "small_jpg": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "thumb_170": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "thumb_220": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "medium_jpg": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "watermark_450": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "watermark_1500": {
      "$ref": "#/components/schemas/Thumbnail"
    }
  },
  "description": "Asset information, including size and thumbnail URLs"
}
object EditorialCategory
{
  "type": "object",
  "example": {
    "name": "Awards"
  },
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "description": "Name of an editorial category"
}
object EditorialCategoryResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "name": "Animal"
      },
      {
        "name": "Awards"
      },
      {
        "name": "Art"
      }
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialCategory"
      },
      "description": "List of editorial categories"
    }
  },
  "description": "List of editorial categories"
}
object EditorialContent
{
  "type": "object",
  "example": {
    "id": "10687730b",
    "title": "Soccer Premier League, Manchester, United Kingdom - 11 May 2021",
    "aspect": 1.621,
    "assets": {
      "original": {
        "width": 5985,
        "height": 3693,
        "display_name": "Original",
        "is_licensable": true
      },
      "small_jpg": {
        "width": 500,
        "height": 309,
        "display_name": "Small",
        "is_licensable": true
      },
      "thumb_170": {
        "url": "https://editorial01.qa.shuttercorp.net/thumb/10687730b/272a999e/Shutterstock_10687730b.jpg",
        "width": 170,
        "height": 105
      },
      "thumb_220": {
        "url": "https://editorial01.qa.shuttercorp.net/thumb-220/10687730b/927a6ebe/Shutterstock_10687730b.jpg",
        "width": 220,
        "height": 136
      },
      "medium_jpg": {
        "width": 1000,
        "height": 617,
        "display_name": "Med",
        "is_licensable": true
      },
      "watermark_450": {
        "url": "https://editorial01.qa.shuttercorp.net/wm-preview-450/10687730b/ff2443ad/Shutterstock_10687730b.jpg",
        "width": 450,
        "height": 278
      },
      "watermark_1500": {
        "url": "https://editorial01.qa.shuttercorp.net/wm-preview-1500/10687730b/ee2d7ae1/Shutterstock_10687730b.jpg",
        "width": 1500,
        "height": 926
      }
    },
    "byline": "Jon Super/AP/Shutterstock",
    "caption": "",
    "keywords": [
      "england",
      "europe",
      "leicester city fc",
      "manchester",
      "manchester united fc",
      "men's soccer",
      "men's sports",
      "premier league",
      "professional soccer",
      "soccer",
      "sports",
      "united kingdom",
      "western europe",
      "wsoc"
    ],
    "categories": [
      {
        "name": "Sport"
      }
    ],
    "date_taken": "2021-05-11T00:00:00.000Z",
    "description": "Security and stewards stand outside the Old Trafford stadium in Manchester, England, ahead of the English Premier League soccer match between Manchester United and Leicester City. This is the first Manchester United home match since fans protested against American owner Joel Glazer, forcing the postponement of the team's Premier League game against Liverpool. The protests prompted Glazer to publish a letter in which he pledged to accelerate discussions with fans about supporters being able to have a greater say at the club"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "aspect": {
      "type": "number"
    },
    "assets": {
      "$ref": "#/components/schemas/EditorialAssets"
    },
    "byline": {
      "type": "string"
    },
    "caption": {
      "type": "string"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialCategory"
      },
      "description": "List of categories"
    },
    "date_taken": {
      "type": "string",
      "format": "date"
    },
    "description": {
      "type": "string"
    },
    "special_instructions": {
      "type": "string"
    }
  },
  "description": "Metadata about editorial content"
}
object EditorialContentDataList
{
  "example": {
    "data": [
      {
        "id": "10687730bX",
        "title": "Soccer Premier League, Manchester, United Kingdom - 11 May 2021",
        "aspect": 1.621,
        "assets": {
          "original": {
            "width": 5985,
            "height": 3693,
            "display_name": "Original",
            "is_licensable": true
          },
          "small_jpg": {
            "width": 500,
            "height": 309,
            "display_name": "Small",
            "is_licensable": true
          },
          "thumb_170": {
            "url": "https://editorial01.qa.shuttercorp.net/thumb/10687730b/272a999e/Shutterstock_10687730b.jpg",
            "width": 170,
            "height": 105
          },
          "thumb_220": {
            "url": "https://editorial01.qa.shuttercorp.net/thumb-220/10687730b/927a6ebe/Shutterstock_10687730b.jpg",
            "width": 220,
            "height": 136
          },
          "medium_jpg": {
            "width": 1000,
            "height": 617,
            "display_name": "Med",
            "is_licensable": true
          },
          "watermark_450": {
            "url": "https://editorial01.qa.shuttercorp.net/wm-preview-450/10687730b/ff2443ad/Shutterstock_10687730b.jpg",
            "width": 450,
            "height": 278
          },
          "watermark_1500": {
            "url": "https://editorial01.qa.shuttercorp.net/wm-preview-1500/10687730b/ee2d7ae1/Shutterstock_10687730b.jpg",
            "width": 1500,
            "height": 926
          }
        },
        "byline": "Jon Super/AP/Shutterstock",
        "caption": "",
        "keywords": [
          "england",
          "europe",
          "leicester city fc",
          "manchester",
          "manchester united fc",
          "men's soccer",
          "men's sports",
          "premier league",
          "professional soccer",
          "soccer",
          "sports",
          "united kingdom",
          "western europe",
          "wsoc"
        ],
        "categories": [
          {
            "name": "Sport"
          }
        ],
        "date_taken": "2021-05-11T00:00:00.000Z",
        "description": "Security and stewards stand outside the Old Trafford stadium in Manchester, England, ahead of the English Premier League soccer match between Manchester United and Leicester City. This is the first Manchester United home match since fans protested against American owner Joel Glazer, forcing the postponement of the team's Premier League game against Liverpool. The protests prompted Glazer to publish a letter in which he pledged to accelerate discussions with fans about supporters being able to have a greater say at the club"
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 16
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialContent"
      },
      "description": "Editorial items"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "List of editorial items"
}
object EditorialCoverItem
{
  "type": "object",
  "example": {
    "id": "9763363q",
    "url": "https://editorial01.qa.shuttercorp.net/thumb/9763363q/51e28f39/Shutterstock_9763363q.jpg",
    "width": 170,
    "height": 117
  },
  "required": [
    "id",
    "url"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "width": {
      "type": "integer"
    },
    "height": {
      "type": "integer"
    }
  },
  "description": "Cover image for editorial livefeed"
}
object EditorialImageCategoryResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "name": "Animal"
      },
      {
        "name": "Awards"
      },
      {
        "name": "Art"
      },
      {
        "name": "Film Stills"
      }
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialCategory"
      }
    }
  },
  "description": "List of editorial categories"
}
object EditorialImageContentDataList
{
  "example": {
    "data": [
      {
        "id": "10687730bX",
        "title": "Soccer Premier League, Manchester, United Kingdom - 11 May 2021",
        "aspect": 1.621,
        "assets": {
          "original": {
            "width": 5985,
            "height": 3693,
            "display_name": "Original",
            "is_licensable": true
          },
          "small_jpg": {
            "width": 500,
            "height": 309,
            "display_name": "Small",
            "is_licensable": true
          },
          "thumb_170": {
            "url": "https://editorial01.qa.shuttercorp.net/thumb/10687730b/272a999e/Shutterstock_10687730b.jpg",
            "width": 170,
            "height": 105
          },
          "thumb_220": {
            "url": "https://editorial01.qa.shuttercorp.net/thumb-220/10687730b/927a6ebe/Shutterstock_10687730b.jpg",
            "width": 220,
            "height": 136
          },
          "medium_jpg": {
            "width": 1000,
            "height": 617,
            "display_name": "Med",
            "is_licensable": true
          },
          "watermark_450": {
            "url": "https://editorial01.qa.shuttercorp.net/wm-preview-450/10687730b/ff2443ad/Shutterstock_10687730b.jpg",
            "width": 450,
            "height": 278
          },
          "watermark_1500": {
            "url": "https://editorial01.qa.shuttercorp.net/wm-preview-1500/10687730b/ee2d7ae1/Shutterstock_10687730b.jpg",
            "width": 1500,
            "height": 926
          }
        },
        "byline": "Jon Super/AP/Shutterstock",
        "caption": "",
        "keywords": [
          "england",
          "europe",
          "leicester city fc",
          "manchester",
          "manchester united fc",
          "men's soccer",
          "men's sports",
          "premier league",
          "professional soccer",
          "soccer",
          "sports",
          "united kingdom",
          "western europe",
          "wsoc"
        ],
        "categories": [
          {
            "name": "Sport"
          }
        ],
        "date_taken": "2021-05-11T00:00:00.000Z",
        "description": "Security and stewards stand outside the Old Trafford stadium in Manchester, England, ahead of the English Premier League soccer match between Manchester United and Leicester City. This is the first Manchester United home match since fans protested against American owner Joel Glazer, forcing the postponement of the team's Premier League game against Liverpool. The protests prompted Glazer to publish a letter in which he pledged to accelerate discussions with fans about supporters being able to have a greater say at the club"
      }
    ],
    "page": 1,
    "per_page": 1,
    "total_count": 23
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialContent"
      },
      "description": "Editorial items"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "List of editorial items"
}
object EditorialImageLivefeed
{
  "type": "object",
  "example": {
    "id": "2018%2F07%2F17%2FPrince%20Charles%20and%20Camilla%20Duchess%20of%20Cornwall%20visit%20to%20Cornwall%2C%20Day%202",
    "name": "Prince Charles and Camilla Duchess of Cornwall visit to Cornwall, Day 2",
    "cover_item": {
      "id": "9763363qX",
      "url": "https://editorial01.qa.shuttercorp.net/thumb/9763363q/51e28f39/Shutterstock_9763363q.jpg",
      "width": 170,
      "height": 117
    },
    "created_time": "2018-07-17T12:42:03.000Z",
    "total_item_count": 38
  },
  "required": [
    "id",
    "name",
    "total_item_count"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Livefeed ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the livefeed"
    },
    "cover_item": {
      "$ref": "#/components/schemas/EditorialCoverItem"
    },
    "created_time": {
      "type": "string",
      "format": "date-time",
      "description": "When the livefeed was initially created"
    },
    "total_item_count": {
      "type": "integer",
      "description": "Total count of items in the livefeed"
    }
  },
  "description": "Metadata about editorial livefeed"
}
object EditorialImageLivefeedList
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "2018%2F07%2F17%2FPrince%20Charles%20and%20Camilla%20Duchess%20of%20Cornwall%20visit%20to%20Cornwall%2C%20Day%202X",
        "name": "Prince Charles and Camilla Duchess of Cornwall visit to Cornwall, Day 2",
        "cover_item": {
          "id": "9763363qX",
          "url": "https://editorial01.qa.shuttercorp.net/thumb/9763363q/51e28f39/Shutterstock_9763363q.jpg",
          "width": 170,
          "height": 117
        },
        "created_time": "2018-07-17T12:42:03.000Z",
        "total_item_count": 38
      }
    ],
    "page": 1,
    "per_page": 1,
    "total_count": 5300
  },
  "required": [
    "data",
    "total_count"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialLivefeed"
      },
      "description": "Editorial livefeeds"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "List of editorial livefeeds"
}
object EditorialLivefeed
{
  "type": "object",
  "example": {
    "id": "2018%2F07%2F17%2FPrince%20Charles%20and%20Camilla%20Duchess%20of%20Cornwall%20visit%20to%20Cornwall%2C%20Day%202X",
    "name": "Prince Charles and Camilla Duchess of Cornwall visit to Cornwall, Day 2",
    "cover_item": {
      "id": "9763363qX",
      "url": "https://editorial01.qa.shuttercorp.net/thumb/9763363q/51e28f39/Shutterstock_9763363q.jpg",
      "width": 170,
      "height": 117
    },
    "created_time": "2018-07-17T12:42:03.000Z",
    "total_item_count": 38
  },
  "required": [
    "id",
    "name",
    "total_item_count"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Livefeed ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the livefeed"
    },
    "cover_item": {
      "$ref": "#/components/schemas/EditorialCoverItem"
    },
    "created_time": {
      "type": "string",
      "format": "date-time",
      "description": "When the livefeed was initially created"
    },
    "total_item_count": {
      "type": "integer",
      "description": "Total count of items in the livefeed"
    }
  },
  "description": "Metadata about editorial livefeed"
}
object EditorialLivefeedList
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "2018%2F07%2F17%2FPrince%20Charles%20and%20Camilla%20Duchess%20of%20Cornwall%20visit%20to%20Cornwall%2C%20Day%202X",
        "name": "Prince Charles and Camilla Duchess of Cornwall visit to Cornwall, Day 2",
        "cover_item": {
          "id": "9763363qX",
          "url": "https://editorial01.qa.shuttercorp.net/thumb/9763363q/51e28f39/Shutterstock_9763363q.jpg",
          "width": 170,
          "height": 117
        },
        "created_time": "2018-07-17T12:42:03.000Z",
        "total_item_count": 38
      }
    ],
    "page": 1,
    "per_page": 1,
    "total_count": 56
  },
  "required": [
    "data",
    "total_count"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialLivefeed"
      },
      "description": "Editorial livefeeds"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "List of editorial livefeeds"
}
object EditorialSearchResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "10687730bX",
        "title": "Soccer Premier League, Manchester, United Kingdom - 11 May 2021",
        "aspect": 1.621,
        "assets": {
          "original": {
            "width": 5985,
            "height": 3693,
            "display_name": "Original",
            "is_licensable": true
          },
          "small_jpg": {
            "width": 500,
            "height": 309,
            "display_name": "Small",
            "is_licensable": true
          },
          "thumb_170": {
            "url": "https://editorial01.qa.shuttercorp.net/thumb/10687730b/272a999e/Shutterstock_10687730b.jpg",
            "width": 170,
            "height": 105
          },
          "thumb_220": {
            "url": "https://editorial01.qa.shuttercorp.net/thumb-220/10687730b/927a6ebe/Shutterstock_10687730b.jpg",
            "width": 220,
            "height": 136
          },
          "medium_jpg": {
            "width": 1000,
            "height": 617,
            "display_name": "Med",
            "is_licensable": true
          },
          "watermark_450": {
            "url": "https://editorial01.qa.shuttercorp.net/wm-preview-450/10687730b/ff2443ad/Shutterstock_10687730b.jpg",
            "width": 450,
            "height": 278
          },
          "watermark_1500": {
            "url": "https://editorial01.qa.shuttercorp.net/wm-preview-1500/10687730b/ee2d7ae1/Shutterstock_10687730b.jpg",
            "width": 1500,
            "height": 926
          }
        },
        "byline": "Jon Super/AP/Shutterstock",
        "caption": "",
        "keywords": [
          "england",
          "europe",
          "leicester city fc",
          "manchester",
          "manchester united fc",
          "men's soccer",
          "men's sports",
          "premier league",
          "professional soccer",
          "soccer",
          "sports",
          "united kingdom",
          "western europe",
          "wsoc"
        ],
        "categories": [
          {
            "name": "Sport"
          }
        ],
        "date_taken": "2021-05-11T00:00:00.000Z",
        "description": "Security and stewards stand outside the Old Trafford stadium in Manchester, England, ahead of the English Premier League soccer match between Manchester United and Leicester City. This is the first Manchester United home match since fans protested against American owner Joel Glazer, forcing the postponement of the team's Premier League game against Liverpool. The protests prompted Glazer to publish a letter in which he pledged to accelerate discussions with fans about supporters being able to have a greater say at the club"
      }
    ],
    "next": "eyJ2IjoyLCJzIjoxLCJwIjpbMF19",
    "prev": "",
    "per_page": 1,
    "search_id": "BaMzOAkpHIvfnuWVRFs1ag",
    "total_count": 46845
  },
  "required": [
    "data",
    "total_count"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialContent"
      },
      "description": "Editorial items"
    },
    "next": {
      "type": "string",
      "description": "Cursor value that represents the next page of results"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "prev": {
      "type": "string",
      "description": "Cursor value that represents the previous page of results"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "search_id": {
      "type": "string",
      "description": "Unique identifier for the search request"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "Editorial search results"
}
object EditorialUpdatedContent
{
  "type": "object",
  "example": {
    "id": "9804979n",
    "title": "Hong Kong kicks off international e-Sports competition, China - 24 Aug 2018",
    "aspect": 1.481,
    "assets": {
      "original": {
        "width": 4831,
        "height": 3263,
        "display_name": "Original",
        "is_licensable": true
      },
      "small_jpg": {
        "width": 500,
        "height": 337,
        "display_name": "Small",
        "is_licensable": true
      },
      "thumb_170": {
        "url": "https://editorial01.shutterstock.com/thumb/9804979n/c4377a53/Shutterstock_9804979n.jpg",
        "width": 170,
        "height": 115
      },
      "thumb_220": {
        "url": "https://editorial01.shutterstock.com/thumb-220/9804979n/c57a68c7/Shutterstock_9804979n.jpg",
        "width": 220,
        "height": 149
      },
      "medium_jpg": {
        "width": 1000,
        "height": 675,
        "display_name": "Med",
        "is_licensable": true
      },
      "watermark_450": {
        "url": "https://editorial01.shutterstock.com/wm-preview-450/9804979n/37d19dce/Shutterstock_9804979n.jpg",
        "width": 450,
        "height": 304
      },
      "watermark_1500": {
        "url": "https://editorial01.shutterstock.com/wm-preview-1500/9933285a/ab82fea4/Shutterstock_9933285a.jpg",
        "width": 1040,
        "height": 1500
      }
    },
    "byline": "ALEX HOFFORD/EPA-EFE/Shutterstock",
    "rights": {
      "countries": "CAN,+DEU,+GBR,+USA,-*"
    },
    "caption": "",
    "updates": [
      "addition"
    ],
    "keywords": [],
    "categories": [],
    "date_taken": "2018-08-24T00:00:00.000Z",
    "description": "Members of the TyLoo e-Sports team from China prepare to face off against the Kinguin e-Sports team from Poland at the ICBC (Asia) e-Sports and Music Festival Hong Kong 2018, Hong Kong, China, 24 August 2018. The festival runs from 24 to 26 August with professional gamers from around the world competing in international e-sports tournaments.",
    "updated_time": "2019-07-16T00:04:44.000Z",
    "supplier_code": "EPA",
    "commercial_status": {
      "status": "available"
    }
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "aspect": {
      "type": "number"
    },
    "assets": {
      "$ref": "#/components/schemas/EditorialAssets"
    },
    "byline": {
      "type": "string"
    },
    "rights": {
      "type": "object",
      "properties": {
        "countries": {
          "type": "string"
        }
      }
    },
    "caption": {
      "type": "string"
    },
    "updates": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialCategory"
      },
      "description": "List of categories"
    },
    "date_taken": {
      "type": "string",
      "format": "date"
    },
    "description": {
      "type": "string"
    },
    "created_time": {
      "type": "string",
      "format": "date-time"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time"
    },
    "supplier_code": {
      "type": "string"
    },
    "commercial_status": {
      "properties": {
        "reason": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "special_instructions": {
      "type": "string"
    }
  },
  "description": "Metadata about updated editorial content"
}
object EditorialUpdatedResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "9804979nX",
        "title": "Hong Kong kicks off international e-Sports competition, China - 24 Aug 2018",
        "aspect": 1.481,
        "assets": {
          "original": {
            "width": 4831,
            "height": 3263,
            "display_name": "Original",
            "is_licensable": true
          },
          "small_jpg": {
            "width": 500,
            "height": 337,
            "display_name": "Small",
            "is_licensable": true
          },
          "thumb_170": {
            "url": "https://editorial01.shutterstock.com/thumb/9804979n/c4377a53/Shutterstock_9804979n.jpg",
            "width": 170,
            "height": 115
          },
          "thumb_220": {
            "url": "https://editorial01.shutterstock.com/thumb-220/9804979n/c57a68c7/Shutterstock_9804979n.jpg",
            "width": 220,
            "height": 149
          },
          "medium_jpg": {
            "width": 1000,
            "height": 675,
            "display_name": "Med",
            "is_licensable": true
          },
          "watermark_450": {
            "url": "https://editorial01.shutterstock.com/wm-preview-450/9804979n/37d19dce/Shutterstock_9804979n.jpg",
            "width": 450,
            "height": 304
          },
          "watermark_1500": {
            "url": "https://editorial01.shutterstock.com/wm-preview-1500/9933285a/ab82fea4/Shutterstock_9933285a.jpg",
            "width": 1040,
            "height": 1500
          }
        },
        "byline": "ALEX HOFFORD/EPA-EFE/Shutterstock",
        "rights": {
          "countries": "CAN,+DEU,+GBR,+USA,-*"
        },
        "caption": "",
        "updates": [
          "addition"
        ],
        "keywords": [],
        "categories": [],
        "date_taken": "2018-08-24T00:00:00.000Z",
        "description": "Members of the TyLoo e-Sports team from China prepare to face off against the Kinguin e-Sports team from Poland at the ICBC (Asia) e-Sports and Music Festival Hong Kong 2018, Hong Kong, China, 24 August 2018. The festival runs from 24 to 26 August with professional gamers from around the world competing in international e-sports tournaments.",
        "updated_time": "2019-07-16T00:04:44.000Z",
        "supplier_code": "EPA",
        "commercial_status": {
          "status": "available"
        }
      }
    ],
    "next": "eyJ2IjoxLCJzIjoxfQ==",
    "prev": "",
    "per_page": 1
  },
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialUpdatedContent"
      },
      "description": "Editorial updated items"
    },
    "next": {
      "type": "string",
      "description": "Cursor value that represents the next page of results"
    },
    "prev": {
      "type": "string",
      "description": "Cursor value that represents the previous page of results"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    }
  },
  "description": "Editorial updated results"
}
object EditorialVideoAssets
{
  "type": "object",
  "example": {
    "original": {
      "fps": 30,
      "width": 1080,
      "format": "avc1",
      "height": 1080,
      "file_size": 82233387,
      "display_name": "HD",
      "is_licensable": true
    },
    "thumb_jpg": {
      "url": "https://qa.editorial-cdn.shuttercorp.net/thumb-1/10679854a/M5TcAf30Ncjcge2eMTI4NjY=/Shutterstock_10679854a.jpg"
    },
    "preview_mp4": {
      "url": "https://qa.editorial-cdn.shuttercorp.net/wm-preview-mp4/10679854a/M0T7A13aNej2g82bMTI4NjY=/Shutterstock_10679854a.mp4"
    },
    "preview_webm": {
      "url": "https://qa.editorial-cdn.shuttercorp.net/wm-preview-webm/10679854a/M4T6A63fN2j5g929MTI4NjY=/Shutterstock_10679854a.webm"
    }
  },
  "properties": {
    "original": {
      "$ref": "#/components/schemas/VideoSizeDetails"
    },
    "thumb_jpg": {
      "$ref": "#/components/schemas/VideoPreviewUrl"
    },
    "preview_mp4": {
      "$ref": "#/components/schemas/VideoPreviewUrl"
    },
    "preview_webm": {
      "$ref": "#/components/schemas/VideoPreviewUrl"
    }
  },
  "description": "Asset information, including size and thumbnail URLs"
}
object EditorialVideoCategoryResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "name": "Animal"
      },
      {
        "name": "Awards"
      },
      {
        "name": "Art"
      },
      {
        "name": "Film Stills"
      }
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialCategory"
      }
    }
  },
  "description": "List of editorial video categories"
}
object EditorialVideoContent
{
  "type": "object",
  "example": {
    "id": "10679854a",
    "title": "Peeps the Goose Has a Blast on a Jet Ski, Prior Lake, Minnesota, USA - 13 Nov 2020",
    "aspect": 1,
    "assets": {
      "original": {
        "fps": 30,
        "width": 1080,
        "format": "avc1",
        "height": 1080,
        "file_size": 82233387,
        "display_name": "HD",
        "is_licensable": true
      },
      "thumb_jpg": {
        "url": "https://qa.editorial-cdn.shuttercorp.net/thumb-1/10679854a/M5TcAf30Ncjcge2eMTI4NjY=/Shutterstock_10679854a.jpg"
      },
      "preview_mp4": {
        "url": "https://qa.editorial-cdn.shuttercorp.net/wm-preview-mp4/10679854a/M0T7A13aNej2g82bMTI4NjY=/Shutterstock_10679854a.mp4"
      },
      "preview_webm": {
        "url": "https://qa.editorial-cdn.shuttercorp.net/wm-preview-webm/10679854a/M4T6A63fN2j5g929MTI4NjY=/Shutterstock_10679854a.webm"
      }
    },
    "byline": "ViralHog/Shutterstock",
    "caption": "",
    "keywords": [
      "2020",
      "adorable",
      "birds",
      "bizarre",
      "canadian goose",
      "cute",
      "domesticated animals",
      "entertainment",
      "feel good",
      "flew",
      "flies",
      "fly",
      "flying",
      "fun",
      "goose",
      "jet skis",
      "nature",
      "odd",
      "pets",
      "played",
      "playing",
      "plays",
      "prior lake",
      "sports",
      "strange",
      "sweet",
      "usa",
      "viralhog",
      "virals",
      "water sports",
      "weird"
    ],
    "categories": [],
    "date_taken": "2020-11-13T00:00:00.000Z",
    "description": "Info from Licensor: \"Peeps the Canadian Goose has been raised with our family since a gosling. Peeps has made appearances on our local news channels, TV shows, and local newspapers. He has been trained to fly next to four wheelers, jet ski's, and boats. He has brought joy to many people during the pandemic including those with cancer.\""
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "aspect": {
      "type": "number"
    },
    "assets": {
      "$ref": "#/components/schemas/EditorialVideoAssets"
    },
    "byline": {
      "type": "string"
    },
    "caption": {
      "type": "string"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialCategory"
      },
      "description": "List of categories"
    },
    "date_taken": {
      "type": "string",
      "format": "date"
    },
    "description": {
      "type": "string"
    }
  },
  "description": "Metadata about editorial content"
}
object EditorialVideoSearchResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "10679854aX",
        "title": "Peeps the Goose Has a Blast on a Jet Ski, Prior Lake, Minnesota, USA - 13 Nov 2020",
        "aspect": 1,
        "assets": {
          "original": {
            "fps": 30,
            "width": 1080,
            "format": "avc1",
            "height": 1080,
            "file_size": 82233387,
            "display_name": "HD",
            "is_licensable": true
          },
          "thumb_jpg": {
            "url": "https://qa.editorial-cdn.shuttercorp.net/thumb-1/10679854a/M5TcAf30Ncjcge2eMTI4NjY=/Shutterstock_10679854a.jpg"
          },
          "preview_mp4": {
            "url": "https://qa.editorial-cdn.shuttercorp.net/wm-preview-mp4/10679854a/M0T7A13aNej2g82bMTI4NjY=/Shutterstock_10679854a.mp4"
          },
          "preview_webm": {
            "url": "https://qa.editorial-cdn.shuttercorp.net/wm-preview-webm/10679854a/M4T6A63fN2j5g929MTI4NjY=/Shutterstock_10679854a.webm"
          }
        },
        "byline": "ViralHog/Shutterstock",
        "caption": "",
        "keywords": [
          "2020",
          "adorable",
          "birds",
          "bizarre",
          "canadian goose",
          "cute",
          "domesticated animals",
          "entertainment",
          "feel good",
          "flew",
          "flies",
          "fly",
          "flying",
          "fun",
          "goose",
          "jet skis",
          "nature",
          "odd",
          "pets",
          "played",
          "playing",
          "plays",
          "prior lake",
          "sports",
          "strange",
          "sweet",
          "usa",
          "viralhog",
          "virals",
          "water sports",
          "weird"
        ],
        "categories": [],
        "date_taken": "2020-11-13T00:00:00.000Z",
        "description": "Info from Licensor: \"Peeps the Canadian Goose has been raised with our family since a gosling. Peeps has made appearances on our local news channels, TV shows, and local newspapers. He has been trained to fly next to four wheelers, jet ski's, and boats. He has brought joy to many people during the pandemic including those with cancer.\""
      }
    ],
    "next": "eyJ2IjoyLCJzIjoyMCwicCI6WzBdfQ==",
    "prev": "",
    "per_page": 1,
    "search_id": "zhmz9zLmpQehdTPvg8cacQ",
    "total_count": 331
  },
  "required": [
    "data",
    "total_count"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EditorialVideoContent"
      },
      "description": "Editorial items"
    },
    "next": {
      "type": "string",
      "description": "Cursor value that represents the next page of results"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "prev": {
      "type": "string",
      "description": "Cursor value that represents the previous page of results"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "search_id": {
      "type": "string",
      "description": "Unique identifier for the search request"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "Editorial search results"
}
object Error
{
  "type": "object",
  "example": {
    "code": "VALIDATION_INVALID_TYPE",
    "data": "'10'",
    "path": "$.query.page",
    "message": "Invalid type: string should be integer"
  },
  "required": [
    "message"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "The error code of this error"
    },
    "data": {
      "type": "string",
      "description": "Debugging information about the error"
    },
    "path": {
      "type": "string",
      "description": "Internal code reference to the source of the error"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "A list of items that produced the error"
    },
    "message": {
      "type": "string",
      "description": "Specific details about this error"
    }
  },
  "description": "Error object"
}
object FeaturedCollection
{
  "type": "object",
  "example": {
    "id": "19853",
    "name": "Exercise & Fitness",
    "cover_item": {
      "url": "https://ak.picdn.net/assets/cms/b467415246debdab45825d915a548f8f79b57882-Collection_1_Thumnail.jpg"
    },
    "created_time": "2021-07-07T13:10:24.000Z",
    "updated_time": "2021-07-07T13:10:24.000Z",
    "total_item_count": 82,
    "items_updated_time": "2021-07-08T12:33:37.000Z"
  },
  "required": [
    "id",
    "name",
    "total_item_count"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Collection ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the collection"
    },
    "hero_item": {
      "$ref": "#/components/schemas/FeaturedCollectionCoverItem",
      "description": "Top-level item that is meant as a cover asset, as the first asset seen to represent the collection"
    },
    "share_url": {
      "type": "string",
      "description": "Unique share url for the collection"
    },
    "cover_item": {
      "$ref": "#/components/schemas/FeaturedCollectionCoverItem"
    },
    "created_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date that the collection was created"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date that the collection was last modified"
    },
    "total_item_count": {
      "type": "integer",
      "description": "Total number of items in the collection"
    },
    "items_updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date that an item in the collection was last added or removed"
    }
  },
  "description": "Metadata about a featured collection"
}
object FeaturedCollectionCoverItem
{
  "type": "object",
  "example": {
    "url": "https://ak.picdn.net/assets/cms/b467415246debdab45825d915a548f8f79b57882-Collection_1_Thumnail.jpg"
  },
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "URL of the collection cover item"
    }
  },
  "description": "Featured collection cover item metadata"
}
object FeaturedCollectionDataList
{
  "example": {
    "data": [
      {
        "id": "19853X",
        "name": "Exercise & Fitness",
        "cover_item": {
          "url": "https://ak.picdn.net/assets/cms/b467415246debdab45825d915a548f8f79b57882-Collection_1_Thumnail.jpg"
        },
        "created_time": "2021-07-07T13:10:24.000Z",
        "updated_time": "2021-07-07T13:10:24.000Z",
        "total_item_count": 82,
        "items_updated_time": "2021-07-08T12:33:37.000Z"
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 123455
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FeaturedCollection"
      },
      "description": "Featured collections"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of featured collections"
}
object GenreList
{
  "type": "object",
  "example": {
    "data": [
      "Rock",
      "Pop > Singer-Songwriter",
      "Pop > Synth Pop",
      "Production / Film Scores"
    ]
  },
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of genres"
    }
  },
  "description": "List of audio genres"
}
object ISOCountryCode
{
  "oneOf": [
    {
      "enum": [
        "ABW",
        "AFG",
        "AGO",
        "AIA",
        "ALA",
        "ALB",
        "AND",
        "ARE",
        "ARG",
        "ARM",
        "ASM",
        "ATA",
        "ATF",
        "ATG",
        "AUS",
        "AUT",
        "AZE",
        "BDI",
        "BEL",
        "BEN",
        "BES",
        "BFA",
        "BGD",
        "BGR",
        "BHR",
        "BHS",
        "BIH",
        "BLM",
        "BLR",
        "BLZ",
        "BMU",
        "BOL",
        "BRA",
        "BRB",
        "BRN",
        "BTN",
        "BVT",
        "BWA",
        "CAF",
        "CAN",
        "CCK",
        "CHE",
        "CHL",
        "CHN",
        "CIV",
        "CMR",
        "COD",
        "COG",
        "COK",
        "COL",
        "COM",
        "CPV",
        "CRI",
        "CUB",
        "CUW",
        "CXR",
        "CYM",
        "CYP",
        "CZE",
        "DEU",
        "DJI",
        "DMA",
        "DNK",
        "DOM",
        "DZA",
        "ECU",
        "EGY",
        "ERI",
        "ESH",
        "ESP",
        "EST",
        "ETH",
        "FIN",
        "FJI",
        "FLK",
        "FRA",
        "FRO",
        "FSM",
        "GAB",
        "GBR",
        "GEO",
        "GGY",
        "GHA",
        "GIB",
        "GIN",
        "GLP",
        "GMB",
        "GNB",
        "GNQ",
        "GRC",
        "GRD",
        "GRL",
        "GTM",
        "GUF",
        "GUM",
        "GUY",
        "HKG",
        "HMD",
        "HND",
        "HRV",
        "HTI",
        "HUN",
        "IDN",
        "IMN",
        "IND",
        "IOT",
        "IRL",
        "IRN",
        "IRQ",
        "ISL",
        "ISR",
        "ITA",
        "JAM",
        "JEY",
        "JOR",
        "JPN",
        "KAZ",
        "KEN",
        "KGZ",
        "KHM",
        "KIR",
        "KNA",
        "KOR",
        "KWT",
        "LAO",
        "LBN",
        "LBR",
        "LBY",
        "LCA",
        "LIE",
        "LKA",
        "LSO",
        "LTU",
        "LUX",
        "LVA",
        "MAC",
        "MAF",
        "MAR",
        "MCO",
        "MDA",
        "MDG",
        "MDV",
        "MEX",
        "MHL",
        "MKD",
        "MLI",
        "MLT",
        "MMR",
        "MNE",
        "MNG",
        "MNP",
        "MOZ",
        "MRT",
        "MSR",
        "MTQ",
        "MUS",
        "MWI",
        "MYS",
        "MYT",
        "NAM",
        "NCL",
        "NER",
        "NFK",
        "NGA",
        "NIC",
        "NIU",
        "NLD",
        "NOR",
        "NPL",
        "NRU",
        "NZL",
        "OMN",
        "PAK",
        "PAN",
        "PCN",
        "PER",
        "PHL",
        "PLW",
        "PNG",
        "POL",
        "PRI",
        "PRK",
        "PRT",
        "PRY",
        "PSE",
        "PYF",
        "QAT",
        "REU",
        "ROU",
        "RUS",
        "RWA",
        "SAU",
        "SDN",
        "SEN",
        "SGP",
        "SGS",
        "SHN",
        "SJM",
        "SLB",
        "SLE",
        "SLV",
        "SMR",
        "SOM",
        "SPM",
        "SRB",
        "SSD",
        "STP",
        "SUR",
        "SVK",
        "SVN",
        "SWE",
        "SWZ",
        "SXM",
        "SYC",
        "SYR",
        "TCA",
        "TCD",
        "TGO",
        "THA",
        "TJK",
        "TKL",
        "TKM",
        "TLS",
        "TON",
        "TTO",
        "TUN",
        "TUR",
        "TUV",
        "TWN",
        "TZA",
        "UGA",
        "UKR",
        "UMI",
        "URY",
        "USA",
        "UZB",
        "VAT",
        "VCT",
        "VEN",
        "VGB",
        "VIR",
        "VNM",
        "VUT",
        "WLF",
        "WSM",
        "YEM",
        "ZAF",
        "ZMB",
        "ZWE"
      ],
      "type": "string",
      "format": "country-code-3"
    },
    {
      "enum": [
        "AF",
        "AX",
        "AL",
        "DZ",
        "AS",
        "AD",
        "AO",
        "AI",
        "AQ",
        "AG",
        "AR",
        "AM",
        "AW",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "BY",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "BO",
        "BA",
        "BW",
        "BV",
        "BR",
        "IO",
        "BN",
        "BG",
        "BF",
        "BI",
        "KH",
        "CM",
        "CA",
        "CV",
        "KY",
        "CF",
        "TD",
        "CL",
        "CN",
        "CX",
        "CC",
        "CO",
        "KM",
        "CG",
        "CD",
        "CK",
        "CR",
        "CI",
        "HR",
        "CU",
        "CY",
        "CZ",
        "DK",
        "DJ",
        "DM",
        "DO",
        "EC",
        "EG",
        "SV",
        "GQ",
        "ER",
        "EE",
        "ET",
        "FK",
        "FO",
        "FJ",
        "FI",
        "FR",
        "GF",
        "PF",
        "TF",
        "GA",
        "GM",
        "GE",
        "DE",
        "GH",
        "GI",
        "GR",
        "GL",
        "GD",
        "GP",
        "GU",
        "GT",
        "GG",
        "GN",
        "GW",
        "GY",
        "HT",
        "HM",
        "VA",
        "HN",
        "HK",
        "HU",
        "IS",
        "IN",
        "ID",
        "IR",
        "IQ",
        "IE",
        "IM",
        "IL",
        "IT",
        "JM",
        "JP",
        "JE",
        "JO",
        "KZ",
        "KE",
        "KI",
        "KR",
        "KW",
        "KG",
        "LA",
        "LV",
        "LB",
        "LS",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MK",
        "MG",
        "MW",
        "MY",
        "MV",
        "ML",
        "MT",
        "MH",
        "MQ",
        "MR",
        "MU",
        "YT",
        "MX",
        "FM",
        "MD",
        "MC",
        "MN",
        "ME",
        "MS",
        "MA",
        "MZ",
        "MM",
        "NA",
        "NR",
        "NP",
        "NL",
        "AN",
        "NC",
        "NZ",
        "NI",
        "NE",
        "NG",
        "NU",
        "NF",
        "MP",
        "NO",
        "OM",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PH",
        "PN",
        "PL",
        "PT",
        "PR",
        "QA",
        "RE",
        "RO",
        "RU",
        "RW",
        "BL",
        "SH",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "WS",
        "SM",
        "ST",
        "SA",
        "SN",
        "RS",
        "SC",
        "SL",
        "SG",
        "SK",
        "SI",
        "SB",
        "SO",
        "ZA",
        "GS",
        "ES",
        "LK",
        "SD",
        "SR",
        "SJ",
        "SZ",
        "SE",
        "CH",
        "SY",
        "TW",
        "TJ",
        "TZ",
        "TH",
        "TL",
        "TG",
        "TK",
        "TO",
        "TT",
        "TN",
        "TR",
        "TM",
        "TC",
        "TV",
        "UG",
        "UA",
        "AE",
        "GB",
        "US",
        "UM",
        "UY",
        "UZ",
        "VU",
        "VE",
        "VN",
        "VG",
        "VI",
        "WF",
        "EH",
        "YE",
        "ZM",
        "ZW"
      ],
      "type": "string",
      "format": "country-code-2"
    }
  ],
  "example": "USA",
  "description": "A valid ISO 3166-1 Alpha-2 or ISO 3166-1 Alpha-3 code."
}
object Image
{
  "type": "object",
  "example": {
    "id": "1572478477X",
    "aspect": 1.5,
    "assets": {
      "mosaic": {
        "url": "https://image.shutterstock.com/image-photo/stock-photo-cropped-image-of-woman-gardening-250nw-1572478477.jpg",
        "width": 250,
        "height": 167
      },
      "preview": {
        "url": "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width": 450,
        "height": 300
      },
      "huge_thumb": {
        "url": "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
        "width": 390,
        "height": 260
      },
      "large_thumb": {
        "url": "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width": 150,
        "height": 100
      },
      "small_thumb": {
        "url": "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width": 100,
        "height": 67
      },
      "preview_1000": {
        "url": "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
        "width": 1000,
        "height": 667
      },
      "preview_1500": {
        "url": "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width": 1500,
        "height": 1000
      }
    },
    "image_type": "photo",
    "media_type": "image",
    "contributor": {
      "id": "250738318X"
    },
    "description": "cropped image of woman gardening",
    "has_model_release": true,
    "original_filename": "123.jpg"
  },
  "required": [
    "id",
    "media_type",
    "contributor"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Image ID"
    },
    "url": {
      "type": "string",
      "description": "Link to image information page; included only for certain accounts"
    },
    "aspect": {
      "type": "number",
      "description": "Aspect ratio of the image in decimal format, such as 0.6667"
    },
    "assets": {
      "$ref": "#/components/schemas/ImageAssets",
      "description": "Image asset information"
    },
    "models": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Model"
      },
      "description": "List of models"
    },
    "insights": {
      "type": "object",
      "properties": {
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "AI-powered insights about how the asset will perform for the objective and audience"
    },
    "is_adult": {
      "type": "boolean",
      "description": "Whether or not this image contains adult content"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Keywords associated with the content of this image"
    },
    "releases": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of all releases of this image"
    },
    "added_date": {
      "type": "string",
      "format": "date",
      "description": "Date that the image was added by the contributor"
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Category"
      },
      "description": "Categories that this image is a part of"
    },
    "image_type": {
      "type": "string",
      "description": "Type of image"
    },
    "media_type": {
      "type": "string",
      "description": "Media type of this image, should always be \"image\""
    },
    "contributor": {
      "$ref": "#/components/schemas/Contributor"
    },
    "description": {
      "type": "string",
      "description": "Detailed description of the image"
    },
    "is_editorial": {
      "type": "boolean",
      "description": "Whether or not this image is editorial content"
    },
    "affiliate_url": {
      "type": "string",
      "format": "uri",
      "description": "Affiliate referral link; appears only for registered affiliate partners"
    },
    "model_releases": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ModelRelease"
      },
      "description": "List of model releases"
    },
    "is_illustration": {
      "type": "boolean",
      "description": "Whether or not this image is an illustration"
    },
    "has_model_release": {
      "type": "boolean",
      "description": "Indicates whether there are model releases for the image"
    },
    "has_property_release": {
      "type": "boolean",
      "description": "Indicates whether there are property releases for the image"
    }
  },
  "description": "Information about an image"
}
object ImageAssets
{
  "type": "object",
  "example": {
    "preview": {
      "url": "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width": 450,
      "height": 300
    },
    "huge_thumb": {
      "url": "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
      "width": 390,
      "height": 260
    },
    "large_thumb": {
      "url": "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width": 150,
      "height": 100
    },
    "small_thumb": {
      "url": "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width": 100,
      "height": 67
    },
    "preview_1000": {
      "url": "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
      "width": 1000,
      "height": 667
    },
    "preview_1500": {
      "url": "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width": 1500,
      "height": 1000
    }
  },
  "properties": {
    "preview": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "huge_jpg": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "small_jpg": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "huge_thumb": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "medium_jpg": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "vector_eps": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    },
    "large_thumb": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "small_thumb": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "preview_1000": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "preview_1500": {
      "$ref": "#/components/schemas/Thumbnail"
    },
    "supersize_jpg": {
      "$ref": "#/components/schemas/ImageSizeDetails"
    }
  },
  "description": "Information about the assets that are part of an image"
}
object ImageCreateRequest
{
  "type": "object",
  "example": {
    "base64_image": "R0lGODlhgACAAPcAAEwiBLyaLOzNUNmWFNjOrNSuN7x6PPzqeOTMgfKSDMyuTPzwsdi2dHwuBPzbVu"
  },
  "required": [
    "base64_image"
  ],
  "properties": {
    "base64_image": {
      "type": "string",
      "description": "A Base 64 encoded jpeg or png; images can be no larger than 10mb and can be no larger than 10,000 pixels in width or height"
    }
  },
  "description": "Request to upload an image"
}
object ImageCreateResponse
{
  "type": "object",
  "example": {
    "id": "Udb14e1c3540bdbf82b4b3fe12d3a44f2"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "description": "Image upload information"
}
object ImageDataList
{
  "example": {
    "data": [
      {
        "id": "1572478477X",
        "aspect": 1.5,
        "assets": {
          "preview": {
            "url": "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 450,
            "height": 300
          },
          "huge_thumb": {
            "url": "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
            "width": 390,
            "height": 260
          },
          "large_thumb": {
            "url": "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 150,
            "height": 100
          },
          "small_thumb": {
            "url": "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 100,
            "height": 67
          },
          "preview_1000": {
            "url": "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
            "width": 1000,
            "height": 667
          },
          "preview_1500": {
            "url": "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 1500,
            "height": 1000
          }
        },
        "image_type": "photo",
        "media_type": "image",
        "contributor": {
          "id": "250738318X"
        },
        "description": "cropped image of woman gardening",
        "has_model_release": true
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 123455
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Image"
      },
      "description": "Images"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of images"
}
object ImageSearchResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "1572478477X",
        "aspect": 1.5,
        "assets": {
          "mosaic": {
            "url": "https://image.shutterstock.com/image-photo/stock-photo-cropped-image-of-woman-gardening-250nw-1572478477.jpg",
            "width": 250,
            "height": 167
          },
          "preview": {
            "url": "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 450,
            "height": 300
          },
          "huge_thumb": {
            "url": "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
            "width": 390,
            "height": 260
          },
          "large_thumb": {
            "url": "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 150,
            "height": 100
          },
          "small_thumb": {
            "url": "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 100,
            "height": 67
          },
          "preview_1000": {
            "url": "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
            "width": 1000,
            "height": 667
          },
          "preview_1500": {
            "url": "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
            "width": 1500,
            "height": 1000
          }
        },
        "image_type": "photo",
        "media_type": "image",
        "contributor": {
          "id": "250738318X"
        },
        "description": "cropped image of woman gardening",
        "has_model_release": true
      }
    ],
    "page": 1,
    "per_page": 5,
    "search_id": "749090bb-2967-4a20-b22e-c800dc845e10",
    "total_count": 45,
    "spellcheck_info": {}
  },
  "required": [
    "data",
    "total_count",
    "search_id"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Image"
      },
      "description": "List of images"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "insights": {
      "$ref": "#/components/schemas/Insights"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "search_id": {
      "type": "string",
      "description": "Unique identifier for the search request"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    },
    "spellcheck_info": {
      "type": "object",
      "description": "Returns information if search phrase has potentially been mistyped or another query would lead to better search results"
    }
  },
  "description": "Image search results"
}
object ImageSizeDetails
{
  "type": "object",
  "example": {
    "dpi": 300,
    "width": 1000,
    "format": "jpg",
    "height": 667,
    "file_size": 860200,
    "display_name": "Med",
    "is_licensable": true
  },
  "properties": {
    "dpi": {
      "type": "integer"
    },
    "width": {
      "type": "integer",
      "description": "Width of this image size"
    },
    "format": {
      "type": "string",
      "description": "Format of this image size"
    },
    "height": {
      "type": "integer",
      "description": "Height of this image size"
    },
    "file_size": {
      "type": "integer",
      "description": "File size (in bytes) of this image size"
    },
    "display_name": {
      "type": "string",
      "description": "Display name of this image size"
    },
    "is_licensable": {
      "type": "boolean",
      "description": "Whether or not this image can be licensed in this image size"
    }
  },
  "description": "Image size information"
}
object Insights
{
  "type": "object",
  "example": {
    "label_performance": [
      {
        "name": "Nature",
        "percentile_performance": 98.82123565673828
      },
      {
        "name": "Outdoors",
        "percentile_performance": 98.63294982910156
      }
    ]
  },
  "required": [
    "label_performance"
  ],
  "properties": {
    "label_performance": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "percentile_performance": {
            "type": "number"
          }
        }
      },
      "description": "How effective the AI thinks an asset in the category is for the specified audience and objective, expressed as a percentile compared to other images"
    }
  },
  "description": "AI-powered insights about an asset, based on the specified audience and objective"
}
object Instrument
{
  "type": "object",
  "example": {
    "id": "bright_roomy_kit",
    "name": "Bright Roomy Kit",
    "tags": [
      "Percussion",
      "Aux Percs",
      "Set Cymbals",
      "Crash",
      "Open",
      "Ride",
      "Set Hi-Hat",
      "Set Kicks",
      "Stick Snare",
      "Quad Toms",
      "Roto Toms"
    ],
    "previews": [
      {
        "url": "https://public-cdn.ampermusic.com/instruments/previews/bright_roomy_kit_v1.mp3",
        "content_type": "audio/mp3"
      }
    ]
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "The id of the instrument"
    },
    "name": {
      "type": "string",
      "description": "Name of the instrument"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of tags"
    },
    "previews": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Preview"
      },
      "description": "Preview of the instrument"
    }
  },
  "description": "Information about an musical instrument"
}
object InstrumentList
{
  "type": "object",
  "example": {
    "data": [
      "Orchestra",
      "Organ",
      "Oud",
      "Pads",
      "Electric Guitar"
    ]
  },
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of instruments"
    }
  },
  "description": "List of instruments"
}
object Instruments
{
  "type": "object",
  "example": {
    "id": "bright_roomy_kitX",
    "name": "Bright Roomy Kit"
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "The string id of the instrument"
    },
    "name": {
      "type": "string",
      "description": "The string name of the instrument"
    }
  },
  "description": "Instruments"
}
object InstrumentsListResult
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "bright_roomy_kitX",
        "name": "Bright Roomy Kit",
        "tags": [
          "Percussion",
          "Aux Percs",
          "Set Cymbals",
          "Crash",
          "Open",
          "Ride",
          "Set Hi-Hat",
          "Set Kicks",
          "Stick Snare",
          "Quad Toms",
          "Roto Toms"
        ],
        "previews": [
          {
            "url": "https://public-cdn.ampermusic.com/instruments/previews/bright_roomy_kit_v1.mp3",
            "content_type": "audio/mp3"
          }
        ]
      }
    ],
    "page": 1,
    "per_page": 5
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Instrument"
      },
      "description": "List of instrumnets"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    }
  },
  "description": "Image search results"
}
object KeywordDataList
{
  "example": {
    "data": [
      "nature",
      "wildlife",
      "animal",
      "cute",
      "bamboo",
      "panda",
      "china",
      "wild",
      "endangered",
      "black",
      "bear"
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Keywords"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    }
  },
  "description": "List of keywords"
}
string Language
{
  "enum": [
    "ar",
    "bg",
    "bn",
    "cs",
    "da",
    "de",
    "el",
    "en",
    "es",
    "fi",
    "fr",
    "gu",
    "he",
    "hi",
    "hr",
    "hu",
    "id",
    "it",
    "ja",
    "kn",
    "ko",
    "ml",
    "mr",
    "nb",
    "nl",
    "or",
    "pl",
    "pt",
    "ro",
    "ru",
    "sk",
    "sl",
    "sv",
    "ta",
    "te",
    "th",
    "tr",
    "uk",
    "ur",
    "vi",
    "zh",
    "zh-Hant"
  ],
  "type": "string",
  "title": "language",
  "example": "cs",
  "description": "Language code"
}
object LicenseAudio
{
  "type": "object",
  "example": {
    "license": "audio_platform",
    "audio_id": "123456789",
    "search_id": "987654321"
  },
  "required": [
    "audio_id"
  ],
  "properties": {
    "license": {
      "enum": [
        "audio_platform",
        "premier_music_basic",
        "premier_music_extended",
        "premier_music_pro",
        "premier_music_comp",
        "asset_all_music"
      ],
      "type": "string",
      "description": "Type of license"
    },
    "audio_id": {
      "type": "string",
      "description": "ID of the track being licensed"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search that led to this licensing event"
    }
  },
  "description": "An audio track in a licensing request"
}
object LicenseAudioRequest
{
  "type": "object",
  "example": {
    "audio": [
      {
        "license": "audio_platform",
        "audio_id": "591623",
        "metadata": {
          "customer_id": "12345"
        }
      }
    ]
  },
  "required": [
    "audio"
  ],
  "properties": {
    "audio": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseAudio"
      },
      "maxItems": 50,
      "description": "List of audio tracks to license"
    }
  },
  "description": "Audio license request data"
}
object LicenseAudioResult
{
  "type": "object",
  "example": {
    "audio_id": "123456789",
    "download": {
      "url": "http://download2.dev.shutterstock.com/gatekeeper/abc/original.wav"
    },
    "license_id": "abcdef123456789ghijklmn",
    "allotment_charge": 1
  },
  "required": [
    "audio_id"
  ],
  "properties": {
    "error": {
      "type": "string",
      "description": "Error information if applicable"
    },
    "audio_id": {
      "type": "string",
      "description": "ID of the track that was licensed"
    },
    "download": {
      "$ref": "#/components/schemas/AudioUrl"
    },
    "license_id": {
      "type": "string",
      "description": "ID of the license event"
    },
    "allotment_charge": {
      "type": "number",
      "description": "Number of credits that this licensing event used"
    }
  },
  "description": "The response to a licensing request for an audio track"
}
object LicenseAudioResultDataList
{
  "example": {
    "data": [
      {
        "audio_id": "123456789",
        "download": {
          "url": "http://download2.dev.shutterstock.com/gatekeeper/abc/original.wav"
        },
        "license_id": "abcdef123456789ghijklmn",
        "allotment_charge": 1
      }
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseAudioResult"
      },
      "description": "License results"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of audio license results"
}
object LicenseEditorialContent
{
  "type": "object",
  "example": {
    "size": "original",
    "license": "premier_editorial_comp",
    "metadata": {
      "customer_id": "12345",
      "search_term": "dog",
      "geo_location": "US",
      "number_viewed": "15"
    },
    "editorial_id": "10687730b"
  },
  "required": [
    "editorial_id",
    "license"
  ],
  "properties": {
    "size": {
      "enum": [
        "small",
        "medium",
        "original"
      ],
      "type": "string",
      "default": "original",
      "description": "Asset size to download"
    },
    "license": {
      "type": "string",
      "description": "License agreement to use for licensing"
    },
    "metadata": {
      "$ref": "#/components/schemas/LicenseRequestMetadata"
    },
    "editorial_id": {
      "type": "string",
      "description": "Editorial ID"
    }
  },
  "description": "Individual editorial content to license"
}
object LicenseEditorialContentRequest
{
  "type": "object",
  "example": {
    "country": "USA",
    "editorial": [
      {
        "size": "original",
        "license": "premier_editorial_comp",
        "metadata": {
          "customer_id": "12345",
          "search_term": "dog",
          "geo_location": "US",
          "number_viewed": "15"
        },
        "editorial_id": "10687730b"
      }
    ]
  },
  "required": [
    "country",
    "editorial"
  ],
  "properties": {
    "country": {
      "$ref": "#/components/schemas/ISOCountryCode",
      "example": "USA",
      "description": "Mandatory country code for where the editorial content will be distributed; this value is used for rights checks"
    },
    "editorial": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseEditorialContent"
      },
      "description": "Editorial content to license"
    }
  },
  "description": "License editorial content request"
}
object LicenseEditorialContentResult
{
  "type": "object",
  "example": {
    "download": {
      "url": "https://s3-eu-west-1.amazonaws.com/api-downloads.rexfeatures.com/[random-characters].jpg?Expires=1524717323"
    },
    "editorial_id": "69656358",
    "allotment_charge": 1
  },
  "required": [
    "editorial_id"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "download": {
      "$ref": "#/components/schemas/Url",
      "description": "Information that is needed to download the image"
    },
    "editorial_id": {
      "type": "string",
      "description": "Editorial ID"
    },
    "allotment_charge": {
      "type": "integer",
      "description": "For pre-paid plans, how many credits were used for the item license"
    }
  },
  "description": "The response to a licensing request for editorial content"
}
object LicenseEditorialContentResults
{
  "example": {
    "data": [
      {
        "download": {
          "url": "https://s3-eu-west-1.amazonaws.com/api-downloads.rexfeatures.com/[random-characters].jpg?Expires=1524717323"
        },
        "editorial_id": "69656358",
        "allotment_charge": 1
      }
    ],
    "page": 1,
    "per_page": 1,
    "total_count": 12
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseEditorialContentResult"
      },
      "description": "License results"
    },
    "page": {
      "type": "integer",
      "description": "Current page of the response"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results"
    }
  },
  "description": "List of editorial license results"
}
object LicenseEditorialVideoContent
{
  "type": "object",
  "example": {
    "size": "original",
    "license": "premier_editorial_video_digital_only",
    "metadata": {
      "purchase_order": "12345"
    },
    "editorial_id": "10679854a"
  },
  "required": [
    "editorial_id",
    "license"
  ],
  "properties": {
    "size": {
      "enum": [
        "original"
      ],
      "type": "string",
      "default": "original",
      "description": "Asset size to download"
    },
    "license": {
      "enum": [
        "premier_editorial_video_digital_only",
        "premier_editorial_video_all_media",
        "premier_editorial_video_all_media_single_territory",
        "premier_editorial_video_comp"
      ],
      "type": "string",
      "description": "License agreement to use for licensing"
    },
    "metadata": {
      "$ref": "#/components/schemas/LicenseRequestMetadata"
    },
    "editorial_id": {
      "type": "string",
      "description": "Editorial ID"
    }
  },
  "description": "Individual editorial video content to license"
}
object LicenseEditorialVideoContentRequest
{
  "type": "object",
  "example": {
    "country": "USA",
    "editorial": [
      {
        "size": "original",
        "license": "premier_editorial_video_digital_only",
        "metadata": {
          "purchase_order": "12345"
        },
        "editorial_id": "10679854a"
      }
    ]
  },
  "required": [
    "country",
    "editorial"
  ],
  "properties": {
    "country": {
      "$ref": "#/components/schemas/ISOCountryCode",
      "example": "USA",
      "description": "Mandatory country code for where the editorial content will be distributed; this value is used for rights checks"
    },
    "editorial": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseEditorialVideoContent"
      },
      "description": "Editorial content to license"
    }
  },
  "description": "License editorial video content request"
}
object LicenseFormat
{
  "type": "object",
  "example": {
    "size": "medium",
    "format": "jpg",
    "media_type": "image",
    "description": "Med",
    "min_resolution": 1000
  },
  "properties": {
    "size": {
      "type": "string",
      "description": "Keyword that details the size of the media, such as hd or sd for video, huge or vector for images"
    },
    "format": {
      "type": "string",
      "description": "Format or extension of the media, such as mpeg for videos or jpeg for images"
    },
    "media_type": {
      "enum": [
        "image",
        "video",
        "audio",
        "editorial"
      ],
      "type": "string",
      "description": "Media type of the license"
    },
    "description": {
      "type": "string",
      "description": "Description of the license"
    },
    "min_resolution": {
      "type": "integer",
      "description": "Width of the media, in pixels, allowed by this license"
    }
  },
  "description": "Description of a license"
}
object LicenseImage
{
  "type": "object",
  "example": {
    "size": "small",
    "price": 12.34,
    "format": "jpg",
    "image_id": "123456789",
    "metadata": {
      "customer_id": "12345",
      "search_term": "dog",
      "geo_location": "US",
      "number_viewed": "15"
    },
    "show_modal": true,
    "subscription_id": "s12345678",
    "editorial_acknowledgement": true
  },
  "required": [
    "image_id"
  ],
  "properties": {
    "size": {
      "enum": [
        "small",
        "medium",
        "huge",
        "custom"
      ],
      "type": "string",
      "description": "Image size to download"
    },
    "price": {
      "type": "number",
      "description": "For revenue-sharing transactions, the final cost to the end customer as a floating-point number in the transaction currency, such as 12.34"
    },
    "format": {
      "enum": [
        "jpg"
      ],
      "type": "string",
      "default": "jpg",
      "description": "(Deprecated) Image format to download"
    },
    "image_id": {
      "type": "string",
      "description": "Image ID"
    },
    "metadata": {
      "$ref": "#/components/schemas/LicenseRequestMetadata"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search that led to this licensing transaction"
    },
    "show_modal": {
      "type": "boolean",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "auth_cookie": {
      "$ref": "#/components/schemas/Cookie",
      "description": "Cookie object"
    },
    "subscription_id": {
      "type": "string",
      "description": "ID of the subscription to use for the download."
    },
    "custom_dimensions": {
      "$ref": "#/components/schemas/CustomSizeDimensions"
    },
    "verification_code": {
      "type": "string",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "editorial_acknowledgement": {
      "type": "boolean",
      "description": "Set to true to acknowledge the editorial agreement"
    }
  },
  "description": "Data required to license an image"
}
object LicenseImageRequest
{
  "type": "object",
  "example": {
    "images": [
      {
        "size": "small",
        "price": 12.34,
        "format": "jpg",
        "image_id": "123456789",
        "metadata": {
          "customer_id": "12345",
          "search_term": "dog",
          "geo_location": "US",
          "number_viewed": "15"
        },
        "show_modal": true,
        "subscription_id": "s12345678",
        "editorial_acknowledgement": true
      }
    ]
  },
  "required": [
    "images"
  ],
  "properties": {
    "images": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/LicenseImage"
          },
          {
            "$ref": "#/components/schemas/LicenseImageVector"
          }
        ]
      },
      "maxItems": 50,
      "description": "Images to create licenses for"
    }
  },
  "description": "Image license request data"
}
object LicenseImageResult
{
  "type": "object",
  "example": {
    "price": {
      "local_amount": 12.34,
      "local_currency": "EUR"
    },
    "download": {
      "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.jpg"
    },
    "image_id": "59656357",
    "allotment_charge": 1
  },
  "required": [
    "image_id"
  ],
  "properties": {
    "error": {
      "type": "string",
      "description": "Error message, appears only if there was an error"
    },
    "price": {
      "$ref": "#/components/schemas/Price",
      "description": "Wholesale price information; only for rev-share partners"
    },
    "download": {
      "$ref": "#/components/schemas/Url",
      "description": "Information that is needed to download the image"
    },
    "image_id": {
      "type": "string",
      "description": "Image ID that was licensed"
    },
    "license_id": {
      "type": "string",
      "description": "ID of the license event"
    },
    "allotment_charge": {
      "type": "integer",
      "description": "Number of credits that this licensing event used"
    }
  },
  "description": "The response to a licensing request for an image"
}
object LicenseImageResultDataList
{
  "example": {
    "data": [
      {
        "download": {
          "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.jpg"
        },
        "image_id": "59656357",
        "allotment_charge": 1
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 23
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseImageResult"
      },
      "description": "License results"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of information about licensed images"
}
object LicenseImageVector
{
  "type": "object",
  "example": {
    "size": "vector",
    "price": 12.34,
    "format": "eps",
    "image_id": "123456789",
    "metadata": {
      "customer_id": "12345",
      "search_term": "dog",
      "geo_location": "US",
      "number_viewed": "15"
    },
    "show_modal": true,
    "subscription_id": "s12345678",
    "editorial_acknowledgement": true
  },
  "required": [
    "image_id"
  ],
  "properties": {
    "size": {
      "enum": [
        "vector"
      ],
      "type": "string",
      "description": "Image size to download"
    },
    "price": {
      "type": "number",
      "description": "For revenue-sharing transactions, the final cost to the end customer as a floating-point number in the transaction currency, such as 12.34"
    },
    "format": {
      "enum": [
        "eps"
      ],
      "type": "string",
      "default": "eps",
      "description": "(Deprecated) Image format to download"
    },
    "image_id": {
      "type": "string",
      "description": "Image ID"
    },
    "metadata": {
      "$ref": "#/components/schemas/LicenseRequestMetadata"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search that led to this licensing transaction"
    },
    "show_modal": {
      "type": "boolean",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "auth_cookie": {
      "$ref": "#/components/schemas/Cookie",
      "description": "Cookie object"
    },
    "subscription_id": {
      "type": "string",
      "description": "ID of the subscription to use for the download."
    },
    "verification_code": {
      "type": "string",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "editorial_acknowledgement": {
      "type": "boolean",
      "description": "Set to true to acknowledge the editorial agreement"
    }
  },
  "description": "Data required to license an image"
}
object LicenseRequestMetadata
{
  "type": "object",
  "example": {
    "customer_id": "12345",
    "search_term": "dog",
    "geo_location": "US",
    "number_viewed": "15"
  },
  "properties": {},
  "description": "Additional information for license requests for enterprise accounts and API subscriptions, 4 fields maximum; which fields are required is set by the account holder",
  "maxProperties": 4
}
object LicenseSFX
{
  "type": "object",
  "example": {
    "size": "ambisonic",
    "format": "wav",
    "sfx_id": "123456789",
    "metadata": {
      "customer_id": "12345",
      "search_term": "dog",
      "geo_location": "US",
      "number_viewed": "15"
    },
    "show_modal": true,
    "subscription_id": "s12345678"
  },
  "required": [
    "sfx_id",
    "subscription_id"
  ],
  "properties": {
    "format": {
      "enum": [
        "wav",
        "mp3"
      ],
      "type": "string"
    },
    "sfx_id": {
      "type": "string",
      "description": "ID of the sounds effect being licensed"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search that led to this licensing event"
    },
    "audio_layout": {
      "enum": [
        "ambisonic",
        "5.1",
        "stereo"
      ],
      "type": "string"
    },
    "subscription_id": {
      "type": "string",
      "description": "ID of the subscription to use for the download."
    }
  },
  "description": ""
}
object LicenseSFXRequest
{
  "type": "object",
  "example": {
    "sound_effects": [
      {
        "size": "ambisonic",
        "format": "wav",
        "sfx_id": "123456789",
        "metadata": {
          "customer_id": "12345",
          "search_term": "dog",
          "geo_location": "US",
          "number_viewed": "15"
        },
        "show_modal": true,
        "subscription_id": "s12345678"
      }
    ]
  },
  "required": [
    "sound_effects"
  ],
  "properties": {
    "sound_effects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseSFX"
      },
      "description": "Sound effects to license for"
    }
  },
  "description": "License sounds effect asset request body"
}
object LicenseSFXResult
{
  "type": "object",
  "example": {
    "sfx_id": "59656357",
    "download": {
      "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.wav"
    },
    "allotment_charge": 1
  },
  "required": [
    "sfx_id"
  ],
  "properties": {
    "error": {
      "type": "string",
      "description": "Error message, appears only if there was an error"
    },
    "sfx_id": {
      "type": "string",
      "description": "Sound effects ID that was licensed"
    },
    "download": {
      "$ref": "#/components/schemas/Url",
      "description": "Information that is needed to download the sound effects"
    },
    "license_id": {
      "type": "string",
      "description": "ID of the license event"
    },
    "allotment_charge": {
      "type": "integer",
      "description": "Number of credits that this licensing event used"
    }
  },
  "description": "The response to a licensing request for an sound effects"
}
object LicenseSFXResultDataList
{
  "example": {
    "data": [
      {
        "sfx_id": "123456789",
        "download": {
          "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.mp3"
        },
        "allotment_charge": 1
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 123455
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseSFXResult"
      },
      "description": "Sound effects license results"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    }
  },
  "description": "List of information about licensed sound effects"
}
object LicenseVideo
{
  "type": "object",
  "example": {
    "size": "hd",
    "video_id": "2140697",
    "subscription_id": "s12345678"
  },
  "required": [
    "video_id"
  ],
  "properties": {
    "size": {
      "enum": [
        "web",
        "sd",
        "hd",
        "4k"
      ],
      "type": "string",
      "description": "Size of the video being licensed"
    },
    "price": {
      "type": "number",
      "description": "Retail price amount as a floating-point number in the transaction currency, such as 12.34; only for rev-share partners"
    },
    "metadata": {
      "$ref": "#/components/schemas/LicenseRequestMetadata"
    },
    "video_id": {
      "type": "string",
      "description": "ID of the video being licensed"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search that led to this licensing event"
    },
    "show_modal": {
      "type": "boolean",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "auth_cookie": {
      "$ref": "#/components/schemas/Cookie"
    },
    "subscription_id": {
      "type": "string",
      "description": "ID of the subscription used for this license"
    },
    "editorial_acknowledgement": {
      "type": "boolean",
      "description": "Whether or not this item is editorial content"
    }
  },
  "description": "Data required to license a video"
}
object LicenseVideoRequest
{
  "type": "object",
  "example": {
    "videos": [
      {
        "size": "hd",
        "video_id": "2140697",
        "subscription_id": "s12345678"
      }
    ]
  },
  "required": [
    "videos"
  ],
  "properties": {
    "videos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseVideo"
      },
      "maxItems": 50,
      "description": "Videos to license"
    }
  },
  "description": "List of videos to license"
}
object LicenseVideoResult
{
  "type": "object",
  "example": {
    "price": {
      "local_amount": 12.34,
      "local_currency": "EUR"
    },
    "download": {
      "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.mp4"
    },
    "video_id": "123456789",
    "allotment_charge": 1
  },
  "required": [
    "video_id"
  ],
  "properties": {
    "error": {
      "type": "string",
      "description": "Potential error that occurred during licensing"
    },
    "price": {
      "$ref": "#/components/schemas/Price",
      "description": "Wholesale price information; only for rev-share partners only"
    },
    "download": {
      "$ref": "#/components/schemas/Url"
    },
    "video_id": {
      "type": "string",
      "description": "ID of the video that was licensed"
    },
    "license_id": {
      "type": "string",
      "description": "ID of the license event"
    },
    "allotment_charge": {
      "type": "integer",
      "description": "Number of credits that this licensing event used"
    }
  },
  "description": "The response to a licensing request for a video"
}
object LicenseVideoResultDataList
{
  "example": {
    "data": [
      {
        "price": {
          "local_amount": 12.34,
          "local_currency": "EUR"
        },
        "download": {
          "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.mp4"
        },
        "video_id": "123456789",
        "allotment_charge": 1
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 123455
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseVideoResult"
      },
      "description": "License results"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of video license results"
}
object Model
{
  "type": "object",
  "example": {
    "id": "123456789"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the model"
    }
  },
  "description": "Information about a human model or property that appears in media; used to search for assets that this model is in"
}
object ModelRelease
{
  "type": "object",
  "example": {
    "id": "123456789X"
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the model or property release"
    }
  },
  "description": "Model and property release metadata"
}
object MoodList
{
  "type": "object",
  "example": {
    "data": [
      "Action / Sports",
      "Adventure / Discovery",
      "Aerobics / Workout",
      "Aggressive"
    ]
  },
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of audio moods"
    }
  },
  "description": "List of audio moods"
}
object OauthAccessTokenResponse
{
  "type": "object",
  "example": {
    "token_type": "Bearer",
    "access_token": "v2/NmQwOTc0NTBiMjA5YzZkY2Q4NTkvMTA4OTg1MDk5L2N1c3RvbWVyLzIvZjB2a0RseGo4Rkt6ZjRmVWJNMm10V2VzcHh1NTBlZWJ6andUQU1NeTVYYnNFTDVWOFRJakItS2RnZTlmbEY1Y3haNWdXLUtYc2JhaXo5djk0V0p2QzZUUWZ4c2FNWm41NkdLYUgyVWlCaVUtQTNVMV9YQWpzd3lpblI3SlZEem8wSG1qQ2NzSkJlX3VQTnNXenBIdkd4SXViVi1rRGJTVENCV0g1U3U0RXRJSV9rSm5lQkl5QXlvbm5JN241UUhv"
  },
  "required": [
    "access_token",
    "token_type"
  ],
  "properties": {
    "expires_in": {
      "type": "integer",
      "description": "Number of seconds before token expires, only present for expiring tokens"
    },
    "token_type": {
      "type": "string",
      "default": "Bearer",
      "description": "Type of token"
    },
    "user_token": {
      "type": "string",
      "description": "Metadata about the access_token, only present for expiring tokens"
    },
    "access_token": {
      "type": "string",
      "description": "Access token that can be used for future requests"
    },
    "refresh_token": {
      "type": "string",
      "description": "A refresh token that can be used to renew the access_token when it expires, only present for expiring tokens"
    }
  },
  "description": "Access token response to client apps"
}
object OauthGetUserAccessTokenRequest
{
  "type": "object",
  "required": [
    "client_id",
    "grant_type"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "Response code from the /oauth/authorize flow; required if grant_type=authorization_code"
    },
    "realm": {
      "enum": [
        "customer",
        "contributor"
      ],
      "type": "string",
      "default": "customer",
      "description": "User type to be authorized (usually 'customer')"
    },
    "expires": {
      "type": "boolean",
      "default": false,
      "description": "Whether or not the token expires, expiring tokens come with a refresh_token to renew the access_token"
    },
    "client_id": {
      "type": "string",
      "description": "Client ID (Consumer Key) of your application"
    },
    "grant_type": {
      "enum": [
        "authorization_code",
        "client_credentials",
        "refresh_token"
      ],
      "type": "string",
      "description": "Grant type: authorization_code generates user tokens, client_credentials generates short-lived client grants"
    },
    "client_secret": {
      "type": "string",
      "description": "Client Secret (Consumer Secret) of your application"
    },
    "refresh_token": {
      "type": "string",
      "description": "Pass this along with grant_type=refresh_token to get a fresh access token"
    }
  }
}
object OauthGetUserAccessTokenRequest1
{
  "type": "object",
  "required": [
    "client_id",
    "grant_type"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "Response code from the /oauth/authorize flow; required if grant_type=authorization_code"
    },
    "realm": {
      "enum": [
        "customer",
        "contributor"
      ],
      "type": "string",
      "default": "customer",
      "description": "User type to be authorized (usually 'customer')"
    },
    "expires": {
      "enum": [
        "true",
        "false"
      ],
      "type": "string",
      "default": "false",
      "description": "Whether or not the token expires, expiring tokens come with a refresh_token to renew the access_token"
    },
    "client_id": {
      "type": "string",
      "description": "Client ID (Consumer Key) of your application"
    },
    "grant_type": {
      "enum": [
        "authorization_code",
        "client_credentials",
        "refresh_token"
      ],
      "type": "string",
      "description": "Grant type: authorization_code generates user tokens, client_credentials generates short-lived client grants"
    },
    "client_secret": {
      "type": "string",
      "description": "Client Secret (Consumer Secret) of your application"
    },
    "refresh_token": {
      "type": "string",
      "description": "Pass this along with grant_type=refresh_token to get a fresh access token"
    }
  }
}
object Preview
{
  "type": "object",
  "example": {
    "url": "https://public-cdn.ampermusic.com/instruments/previews/roomy_kit_v1.mp3",
    "content_type": "audio/mp3"
  },
  "properties": {
    "url": {
      "type": "string",
      "description": "Url of the instrument's preview file"
    },
    "content_type": {
      "enum": [
        "audio/mp3"
      ],
      "type": "string",
      "description": "Content type of the preview, currently audio/mp3"
    }
  },
  "description": "Preview information"
}
object Price
{
  "type": "object",
  "example": {
    "local_amount": 12.34,
    "local_currency": "EUR"
  },
  "properties": {
    "local_amount": {
      "type": "number",
      "description": "Floating-point amount of the calculated rev-share price in the currency local_currency"
    },
    "local_currency": {
      "type": "string",
      "description": "Currency of the rev-share price that was calculated"
    }
  },
  "description": "Price"
}
object Recommendation
{
  "type": "object",
  "example": {
    "id": "123456789X"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Media ID"
    }
  },
  "description": "Media Recommendation"
}
object RecommendationDataList
{
  "example": {
    "data": [
      {
        "id": "123456789X"
      },
      {
        "id": "99379946"
      },
      {
        "id": "133918412"
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 12
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Recommendation"
      },
      "description": "Recommended images"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of recommended images"
}
object RedownloadImage
{
  "type": "object",
  "example": {
    "size": "small"
  },
  "properties": {
    "size": {
      "enum": [
        "small",
        "medium",
        "huge",
        "supersize",
        "vector"
      ],
      "type": "string",
      "description": "Size of the image"
    },
    "show_modal": {
      "type": "boolean",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "auth_cookie": {
      "$ref": "#/components/schemas/Cookie",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "verification_code": {
      "type": "string",
      "deprecated": true,
      "description": "(Deprecated)"
    }
  },
  "description": "Data required to redownload an image"
}
object RedownloadVideo
{
  "type": "object",
  "example": {
    "size": "web"
  },
  "properties": {
    "size": {
      "enum": [
        "web",
        "sd",
        "hd",
        "4k"
      ],
      "type": "string",
      "description": "Size of the video"
    },
    "show_modal": {
      "type": "boolean",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "auth_cookie": {
      "$ref": "#/components/schemas/Cookie",
      "deprecated": true,
      "description": "(Deprecated)"
    },
    "verification_code": {
      "type": "string",
      "deprecated": true,
      "description": "(Deprecated)"
    }
  },
  "description": "Data required to redownload a video"
}
object RemoveCatalogCollectionItem
{
  "type": "object",
  "example": {
    "id": "123X"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
object RemoveCatalogCollectionItems
{
  "type": "object",
  "example": {
    "items": [
      {
        "id": "123X"
      }
    ]
  },
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RemoveCatalogCollectionItem"
      },
      "maxItems": 50,
      "minItems": 1
    }
  }
}
object SFX
{
  "type": "object",
  "example": {
    "id": "123X",
    "media_type": "sfx",
    "contributor": {
      "id": "1234"
    }
  },
  "required": [
    "id",
    "media_type",
    "contributor"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Shutterstock ID of this sound effect"
    },
    "url": {
      "type": "string",
      "description": ""
    },
    "title": {
      "type": "string",
      "description": "Title of this sound effect"
    },
    "artist": {
      "type": "string",
      "description": "Artist of the sound effect"
    },
    "assets": {
      "$ref": "#/components/schemas/SFXAssets"
    },
    "duration": {
      "type": "number",
      "description": "Duration of this sound effect in seconds"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Keyword for this track"
      },
      "description": "List of all keywords for this sound effect"
    },
    "releases": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Release of this sound effect"
      },
      "description": "List of all releases of this sound effect"
    },
    "added_date": {
      "type": "string",
      "format": "date",
      "description": "Date this sound effect was added to the Shutterstock library"
    },
    "media_type": {
      "type": "string",
      "description": "Media type of this track; should always be \"sfx\""
    },
    "contributor": {
      "$ref": "#/components/schemas/Contributor"
    },
    "description": {
      "type": "string",
      "description": "Description of this sound effect"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "Time this sound effect was last updated"
    },
    "affiliate_url": {
      "type": "string",
      "description": "Affiliate referral link; appears only for registered affiliate partners"
    }
  },
  "description": "SFX metadata"
}
object SFXAssetDetails
{
  "type": "object",
  "example": {
    "url": "https://cdn.shutterstock.com/shutterstock/sfx/11222/preview_ecom_ster/hand-throw-catch-cellphone.mp3",
    "file_size": 123
  },
  "properties": {
    "url": {
      "type": "string",
      "description": "URL the sound effect is available at"
    },
    "file_size": {
      "type": "integer",
      "description": "File size of the sound effect"
    }
  },
  "description": "Information about a file that is part of an sound effect asset"
}
object SFXAssets
{
  "type": "object",
  "example": {
    "waveform": {
      "url": "https://cdn.shutterstock.com/shutterstock/sfx/11222/preview_ecom_ster/hand-throw-catch-cellphone.mp3",
      "file_size": 123
    },
    "preview_mp3": {
      "url": "https://cdn.shutterstock.com/shutterstock/sfx/11222/preview_ecom_ster/hand-throw-catch-cellphone.mp3",
      "file_size": 123
    }
  },
  "properties": {
    "waveform": {
      "$ref": "#/components/schemas/SFXAssetDetails"
    },
    "preview_mp3": {
      "$ref": "#/components/schemas/SFXAssetDetails"
    }
  },
  "description": "Files that are available as part of an sound effect asset"
}
object SFXDataList
{
  "example": {
    "data": [
      {
        "id": "123X",
        "media_type": "sfx",
        "contributor": {
          "id": "1234X"
        }
      }
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SFX"
      },
      "description": "Sound Effects"
    }
  },
  "description": "List of sound effects"
}
object SFXSearchResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "123X",
        "title": "Heavy Duty Interface Feedback",
        "assets": {
          "waveform": {
            "url": "https://cdn.shutterstock.com/shutterstock/sfx/21230/wvfm_img/heavy-duty-interface-feedback.png"
          },
          "preview_mp3": {
            "url": "https://cdn.shutterstock.com/shutterstock/sfx/21230/preview_ecom_ster/heavy-duty-interface-feedback.mp3"
          }
        },
        "added_date": "2022-07-29T00:00:00.000Z",
        "media_type": "sfx",
        "contributor": {
          "id": "321402911"
        },
        "description": "User interface calculations, scanning, thinking, text displayed on screen. Screen gak or garble.",
        "updated_time": "2022-08-04T15:11:15.711Z"
      }
    ],
    "search_id": "e6f84c4c-ffdd-499b-ad89-72c65a896ead",
    "total_count": 14881
  },
  "required": [
    "data",
    "total_count",
    "search_id"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SFX"
      },
      "description": "List of tracks"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "search_id": {
      "type": "string",
      "description": "ID of the search"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "Sound effects search results"
}
object SearchEntitiesRequest
{
  "type": "object",
  "example": {
    "text": "Planting flowers is a great way to make springtime more beautiful."
  },
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "minLength": 1,
      "description": "Plain text to extract keywords from"
    }
  },
  "description": "Search entity request data"
}
object SearchEntitiesResponse
{
  "example": {
    "keywords": [
      "planting",
      "flowers",
      "springtime",
      "beautiful"
    ]
  },
  "properties": {
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The top keywords from the submitted text"
    }
  },
  "description": "The response to a request for keyword analysis"
}
object SearchImage
{
  "type": "object",
  "example": {
    "sort": "popular",
    "query": "cat",
    "license": [
      "editorial"
    ]
  },
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Page number"
    },
    "safe": {
      "type": "boolean",
      "default": true,
      "description": "Enable or disable safe search"
    },
    "sort": {
      "enum": [
        "newest",
        "popular",
        "relevance",
        "random"
      ],
      "type": "string",
      "default": "popular",
      "description": "Sort by"
    },
    "view": {
      "enum": [
        "minimal",
        "full"
      ],
      "type": "string",
      "default": "minimal",
      "description": "Amount of detail to render in the response"
    },
    "color": {
      "type": "string",
      "description": "Specify either a hexadecimal color in the format '4F21EA' or 'grayscale'; the API returns images that use similar colors"
    },
    "model": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Show image results with the specified model IDs"
    },
    "query": {
      "type": "string",
      "description": "One or more search terms separated by spaces; you can use NOT to filter out images that match a term"
    },
    "width": {
      "type": "integer",
      "description": "(Deprecated; use width_from and width_to instead) Show images with the specified width"
    },
    "fields": {
      "type": "string",
      "description": "Fields to display in the response; see the documentation for the fields parameter in the overview section",
      "uniqueItems": true
    },
    "height": {
      "type": "integer",
      "description": "(Deprecated; use height_from and height_to instead) Show images with the specified height"
    },
    "region": {
      "anyOf": [
        {
          "type": "string",
          "format": "country-code-2"
        },
        {
          "type": "string",
          "format": "ipv4"
        }
      ],
      "description": "Raise or lower search result rankings based on the result's relevance to a specified region; you can provide a country code or an IP address from which the API infers a country"
    },
    "license": {
      "type": "array",
      "items": {
        "enum": [
          "commercial",
          "editorial",
          "enhanced"
        ],
        "type": "string"
      },
      "default": [
        "commercial"
      ],
      "description": "Show only images with the specified license"
    },
    "category": {
      "type": "string",
      "description": "Show images with the specified Shutterstock-defined category; specify a category name or ID"
    },
    "language": {
      "$ref": "#/components/schemas/Language",
      "description": "Set query and result language (uses Accept-Language header if not set)"
    },
    "per_page": {
      "type": "integer",
      "default": 20,
      "maximum": 20,
      "minimum": 0,
      "description": "Number of results per page"
    },
    "width_to": {
      "type": "integer",
      "description": "Show images with the specified width or smaller, in pixels"
    },
    "authentic": {
      "type": "boolean",
      "description": "Show only authentic images"
    },
    "height_to": {
      "type": "integer",
      "description": "Show images with the specified height or smaller, in pixels"
    },
    "added_date": {
      "type": "string",
      "format": "date",
      "description": "Show images added on the specified date"
    },
    "image_type": {
      "type": "array",
      "items": {
        "enum": [
          "photo",
          "illustration",
          "vector"
        ],
        "type": "string"
      },
      "description": "Show images of the specified type"
    },
    "people_age": {
      "enum": [
        "infants",
        "children",
        "teenagers",
        "20s",
        "30s",
        "40s",
        "50s",
        "60s",
        "older"
      ],
      "type": "string",
      "description": "Show images that feature people of the specified age category"
    },
    "width_from": {
      "type": "integer",
      "description": "Show images with the specified width or larger, in pixels"
    },
    "contributor": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Show images with the specified contributor names or IDs, allows multiple"
    },
    "height_from": {
      "type": "integer",
      "description": "Show images with the specified height or larger, in pixels"
    },
    "orientation": {
      "enum": [
        "horizontal",
        "vertical"
      ],
      "type": "string",
      "description": "Show image results with horizontal or vertical orientation"
    },
    "aspect_ratio": {
      "type": "number",
      "description": "Show images with the specified aspect ratio, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image"
    },
    "people_gender": {
      "enum": [
        "male",
        "female",
        "both"
      ],
      "type": "string",
      "description": "Show images with people of the specified gender"
    },
    "people_number": {
      "type": "integer",
      "maximum": 4,
      "minimum": 0,
      "description": "Show images with the specified number of people"
    },
    "added_date_end": {
      "type": "string",
      "format": "date",
      "description": "Show images added before the specified date"
    },
    "added_date_start": {
      "type": "string",
      "format": "date",
      "description": "Show images added on or after the specified date"
    },
    "aspect_ratio_max": {
      "type": "number",
      "minimum": 0,
      "description": "Show images with the specified aspect ratio or lower, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image"
    },
    "aspect_ratio_min": {
      "type": "number",
      "minimum": 0,
      "description": "Show images with the specified aspect ratio or higher, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image"
    },
    "people_ethnicity": {
      "type": "array",
      "items": {
        "enum": [
          "african",
          "african_american",
          "black",
          "brazilian",
          "chinese",
          "caucasian",
          "east_asian",
          "hispanic",
          "japanese",
          "middle_eastern",
          "native_american",
          "pacific_islander",
          "south_asian",
          "southeast_asian",
          "other",
          "NOT african",
          "NOT african_american",
          "NOT black",
          "NOT brazilian",
          "NOT chinese",
          "NOT caucasian",
          "NOT east_asian",
          "NOT hispanic",
          "NOT japanese",
          "NOT middle_eastern",
          "NOT native_american",
          "NOT pacific_islander",
          "NOT south_asian",
          "NOT southeast_asian",
          "NOT other"
        ],
        "type": "string"
      },
      "description": "Show images with people of the specified ethnicities, or start with NOT to show images without those ethnicities"
    },
    "spellcheck_query": {
      "type": "boolean",
      "default": true,
      "description": "Spellcheck the search query and return results on suggested spellings"
    },
    "contributor_country": {
      "oneOf": [
        {
          "type": "array",
          "items": {
            "type": "string",
            "format": "country-code-2"
          }
        },
        {
          "type": "array",
          "items": {
            "type": "string",
            "format": "negated-country-code-2"
          }
        }
      ],
      "description": "Show images from contributors in one or more specified countries, or start with NOT to exclude a country from the search"
    },
    "keyword_safe_search": {
      "type": "boolean",
      "default": true,
      "description": "Hide results with potentially unsafe keywords"
    },
    "people_model_released": {
      "type": "boolean",
      "description": "Show images of people with a signed model release"
    }
  },
  "description": "Data required to search for an image"
}
object SfxUrl
{
  "type": "object",
  "example": {
    "$ref": "#/components/schemas/Url/example"
  },
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "URL that can be used to download the unwatermarked, licensed asset"
    }
  },
  "description": "Sound effect license URL object"
}
object ShortsLoopsStems
{
  "type": "object",
  "example": {
    "loops": {
      "loop_preview_1": {
        "url": "http://picdn.shuttercorp.net/shutterstock/audio/464947/loop_preview_1/loop_preview_1.mp3"
      },
      "loop_preview_2": {
        "url": "http://picdn.shuttercorp.net/shutterstock/audio/464947/loop_preview_2/loop_preview_2.mp3"
      }
    },
    "stems": {
      "stem_preview_1": {
        "url": "http://picdn.shuttercorp.net/shutterstock/audio/464947/stem_preview_1/stem_preview_1.mp3"
      },
      "stem_preview_2": {
        "url": "http://picdn.shuttercorp.net/shutterstock/audio/464947/stem_preview_1/stem_preview_1.mp3"
      }
    },
    "shorts": {
      "short_preview_1": {
        "url": "http://picdn.shuttercorp.net/shutterstock/audio/464947/short_preview_1/short_preview_1.mp3"
      },
      "short_preview_2": {
        "url": "http://picdn.shuttercorp.net/shutterstock/audio/464947/short_preview_2/short_preview_2.mp3"
      }
    }
  },
  "properties": {
    "loops": {
      "additionalProperties": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        }
      }
    },
    "stems": {
      "additionalProperties": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        }
      }
    },
    "shorts": {
      "additionalProperties": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        }
      }
    }
  },
  "description": "Links for Shorts, Loops and Stems previews"
}
object Subscription
{
  "type": "object",
  "example": {
    "id": "s8906043",
    "formats": [
      {
        "size": "small",
        "format": "jpg",
        "media_type": "image",
        "description": "Small",
        "min_resolution": 500
      },
      {
        "size": "medium",
        "format": "jpg",
        "media_type": "image",
        "description": "Med",
        "min_resolution": 1000
      },
      {
        "size": "vector",
        "format": "eps",
        "media_type": "image",
        "description": "Vector"
      }
    ],
    "license": "standard",
    "metadata": {},
    "allotment": {
      "end_time": "2020-05-29T17:10:22.000Z",
      "start_time": "2020-05-29T17:10:22.000Z",
      "downloads_left": 5,
      "downloads_limit": 10
    },
    "asset_type": "images",
    "description": "Annual Subscription",
    "expiration_time": "2020-05-29T17:10:22.000Z"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique internal identifier for the subscription"
    },
    "formats": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LicenseFormat"
      },
      "description": "List of formats that are licensable for the subscription"
    },
    "license": {
      "type": "string",
      "description": "Internal identifier for the type of subscription"
    },
    "metadata": {
      "$ref": "#/components/schemas/SubscriptionMetadata"
    },
    "allotment": {
      "$ref": "#/components/schemas/Allotment"
    },
    "asset_type": {
      "type": "string",
      "description": "Identifier for the type of assets associated with this subscription (images, videos, audio, editorial)"
    },
    "description": {
      "type": "string",
      "description": "Description of the subscription"
    },
    "expiration_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date the subscription ends"
    },
    "price_per_download": {
      "$ref": "#/components/schemas/Price"
    }
  },
  "description": "Subscription information"
}
object SubscriptionDataList
{
  "example": {
    "data": [
      {
        "id": "s8906043X",
        "formats": [
          {
            "size": "small",
            "format": "jpg",
            "media_type": "image",
            "description": "Small",
            "min_resolution": 500
          },
          {
            "size": "medium",
            "format": "jpg",
            "media_type": "image",
            "description": "Med",
            "min_resolution": 1000
          },
          {
            "size": "vector",
            "format": "eps",
            "media_type": "image",
            "description": "Vector"
          }
        ],
        "license": "standard",
        "metadata": {},
        "allotment": {
          "end_time": "2020-05-29T17:10:22.000Z",
          "start_time": "2020-05-29T17:10:22.000Z",
          "downloads_left": 5,
          "downloads_limit": 10
        },
        "asset_type": "images",
        "description": "Annual Subscription",
        "expiration_time": "2020-05-29T17:10:22.000Z"
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 123455
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Subscription"
      },
      "description": "Subscriptions retrieved from this user"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is being queried"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Optional error message"
    },
    "per_page": {
      "type": "integer",
      "description": "Amount of subscriptions to show per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total number of subscriptions for this user"
    }
  },
  "description": "List of subscriptions"
}
object SubscriptionMetadata
{
  "type": "object",
  "example": {
    "job": {
      "name": "client_name",
      "is_required": true
    },
    "other": {
      "name": "custom_value",
      "is_required": false
    },
    "client": {
      "name": "purchase_order",
      "is_required": false
    }
  },
  "description": "Subscription metadata; different for each customer"
}
object Suggestions
{
  "type": "object",
  "example": {
    "data": [
      "cat scan",
      "cats and dogs",
      "cats playing",
      "catsuit",
      "cat silhouette",
      "catskills",
      "cats eyes",
      "cat sitting",
      "cat sleeping",
      "cats eye"
    ]
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Search suggestions"
    }
  },
  "description": "List of search suggestions"
}
object TestEcho
{
  "type": "object",
  "example": {
    "text": "Test string"
  },
  "properties": {
    "text": {
      "type": "string"
    }
  },
  "description": "Text to echo in the response"
}
object TestValidate
{
  "type": "object",
  "example": {
    "query": {
      "id": 123456,
      "tag": [
        "Test string"
      ]
    },
    "header": {
      "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    }
  },
  "properties": {
    "query": {
      "$ref": "#/components/schemas/TestValidateQuery",
      "description": "Query as included in the request"
    },
    "header": {
      "$ref": "#/components/schemas/TestValidateHeader",
      "description": "Headers as included in the request"
    }
  },
  "description": "Validation results"
}
object TestValidateHeader
{
  "type": "object",
  "example": {
    "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
  },
  "properties": {
    "user-agent": {
      "type": "string",
      "description": "User agent to expect in the response"
    }
  },
  "description": "Validation results"
}
object TestValidateQuery
{
  "type": "object",
  "example": {
    "id": 123456,
    "tag": [
      "string"
    ]
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "Integer ID that was passed in the request"
    },
    "tag": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of tags that were passed in the request"
    }
  },
  "description": "Validation results"
}
object Thumbnail
{
  "type": "object",
  "example": {
    "url": "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
    "width": 150,
    "height": 100
  },
  "required": [
    "url",
    "height",
    "width"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Direct URL to the image"
    },
    "width": {
      "type": "integer",
      "description": "Width in pixels of the image thumbnail"
    },
    "height": {
      "type": "integer",
      "description": "Height in pixels of the image thumbnail"
    }
  },
  "description": "Image thumbnail information"
}
object UpdateCatalogCollection
{
  "type": "object",
  "example": {
    "name": "My Collection",
    "visibility": "public",
    "cover_asset": {
      "id": "123X"
    }
  },
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100000,
      "minLength": 1
    },
    "visibility": {
      "enum": [
        "private",
        "public"
      ],
      "type": "string"
    },
    "cover_asset": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    }
  }
}
object UpdatedMedia
{
  "type": "object",
  "example": {
    "id": "123456789X",
    "updates": [
      "addition",
      "edit"
    ],
    "updated_time": "2020-05-29T17:10:22.000Z"
  },
  "required": [
    "id",
    "updated_time",
    "updates"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the media"
    },
    "updates": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Types of updates that were made to the piece of media"
    },
    "updated_time": {
      "type": "string",
      "format": "date-time",
      "description": "Date that the media was updated"
    }
  },
  "description": "Information about a piece of updated media"
}
object UpdatedMediaDataList
{
  "example": {
    "data": [
      {
        "id": "123456789X",
        "updates": [
          "addition",
          "edit"
        ],
        "updated_time": "2020-05-29T17:10:22.000Z"
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 13
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UpdatedMedia"
      },
      "description": "Updated media items"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of updated media"
}
object Url
{
  "type": "object",
  "example": {
    "url": "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.jpg"
  },
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "URL that can be used to download the unwatermarked, licensed asset"
    }
  },
  "description": "URL object"
}
object Urls
{
  "type": "object",
  "example": {
    "urls": [
      "string"
    ]
  },
  "required": [
    "urls"
  ],
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "URLs"
    }
  },
  "description": "List of URLs"
}
object UserDetails
{
  "type": "object",
  "example": {
    "id": "101782699",
    "language": "es",
    "username": "jdoe",
    "full_name": "John Doe",
    "last_name": "Doe",
    "first_name": "John",
    "contributor_id": "212"
  },
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique internal identifier for the user, not tied to contributor or purchasing customer"
    },
    "email": {
      "type": "string",
      "description": "Email address of the user"
    },
    "language": {
      "type": "string",
      "description": "Main language of the user account"
    },
    "username": {
      "type": "string",
      "description": "User name associated to the user"
    },
    "full_name": {
      "type": "string",
      "description": "Full name including first, middle, and last name of the user"
    },
    "last_name": {
      "type": "string",
      "description": "Last name of the user"
    },
    "first_name": {
      "type": "string",
      "description": "First name of the user"
    },
    "is_premier": {
      "type": "boolean",
      "description": "True if the user has access to the Premier collection, false otherwise"
    },
    "customer_id": {
      "type": "string",
      "description": "Unique internal identifier of the user, as a purchaser"
    },
    "contributor_id": {
      "type": "string",
      "description": "Unique internal identifier of the user, as a contributor"
    },
    "organization_id": {
      "type": "string",
      "description": "Unique internal identifier for the user's organization, specific to Premier users"
    },
    "is_premier_parent": {
      "type": "boolean",
      "description": "True if the user has access to the Premier collection and also has child users"
    },
    "only_sensitive_use": {
      "type": "boolean",
      "description": "True if the user has access to sensitive use only, false otherwise"
    },
    "premier_permissions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of permissions allowed through the Premier client"
    },
    "only_enhanced_license": {
      "type": "boolean",
      "description": "True if the user has an enterprise license, false otherwise"
    }
  },
  "description": "User details"
}
object Video
{
  "type": "object",
  "example": {
    "id": "1033184651",
    "aspect": 1.778,
    "assets": {
      "hd": {
        "fps": 29.97,
        "width": 1920,
        "format": "avc1",
        "height": 1080,
        "file_size": 110359552,
        "display_name": "Original HD",
        "is_licensable": true
      },
      "sd": {
        "fps": 29.97,
        "width": 852,
        "format": "mov",
        "height": 480,
        "file_size": 4577280,
        "display_name": "Standard Definition MPEG",
        "is_licensable": true
      },
      "web": {
        "fps": 29.97,
        "width": 426,
        "format": "mov",
        "height": 240,
        "file_size": 1291264,
        "display_name": "Low Resolution MPEG",
        "is_licensable": true
      },
      "thumb_jpg": {
        "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
      },
      "thumb_mp4": {
        "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
      },
      "thumb_jpgs": {
        "urls": [
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/1.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/2.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/3.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/4.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/5.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/6.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/7.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/8.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/9.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/10.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/11.jpg",
          "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
        ]
      },
      "thumb_webm": {
        "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
      },
      "preview_jpg": {
        "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
      },
      "preview_mp4": {
        "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
      },
      "preview_webm": {
        "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
      }
    },
    "models": [
      {
        "id": "33233810"
      },
      {
        "id": "25487168"
      }
    ],
    "duration": 14.081,
    "is_adult": false,
    "keywords": [
      "active",
      "activity",
      "adventure",
      "arms",
      "backpacker",
      "carefree",
      "celebrating",
      "cliff",
      "climate",
      "cloud",
      "discovery",
      "escape",
      "explore",
      "extreme",
      "free",
      "freedom",
      "girl",
      "happy",
      "high",
      "hiker",
      "hiking",
      "hill",
      "independent",
      "inspiration",
      "landscape",
      "leisure",
      "lifestyle",
      "mountain",
      "mountains",
      "nature",
      "outdoor",
      "peak",
      "person",
      "rock",
      "scenic",
      "sky",
      "sport",
      "success",
      "summer",
      "summit",
      "sun",
      "sunset",
      "top",
      "tourism",
      "travel",
      "trekking",
      "vacation",
      "view",
      "winning",
      "woman"
    ],
    "added_date": "2019-07-13T00:00:00.000Z",
    "categories": [
      {
        "id": "12",
        "name": "Nature"
      },
      {
        "id": "13",
        "name": "People"
      }
    ],
    "media_type": "video",
    "contributor": {
      "id": "4411978"
    },
    "description": "Camera follows hipster millennial young woman in orange jacket running up on top of mountain summit at sunset, jumps on top of rocks, raises arms into air, happy and drunk on life, youth and happiness",
    "aspect_ratio": "16:9",
    "is_editorial": false,
    "has_model_release": true,
    "has_property_release": false
  },
  "required": [
    "id",
    "media_type",
    "contributor"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the video"
    },
    "url": {
      "type": "string",
      "description": "Link to video information page; included only for certain accounts"
    },
    "aspect": {
      "type": "number",
      "description": "Aspect ratio of this video in decimal format, such as 0.6667"
    },
    "assets": {
      "$ref": "#/components/schemas/VideoAssets"
    },
    "models": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Model"
      },
      "description": "List of models in this video"
    },
    "duration": {
      "type": "number",
      "description": "Duration of this video, in seconds"
    },
    "is_adult": {
      "type": "boolean",
      "description": "Whether or not this video contains adult content"
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Keywords associated with the content of this video"
    },
    "added_date": {
      "type": "string",
      "format": "date",
      "description": "Date this video was added to the Shutterstock library"
    },
    "categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Category"
      },
      "description": "List of categories"
    },
    "media_type": {
      "type": "string",
      "description": "Media type of this video, should always be \"video\""
    },
    "contributor": {
      "$ref": "#/components/schemas/Contributor"
    },
    "description": {
      "type": "string",
      "description": "Description of this video"
    },
    "aspect_ratio": {
      "type": "string",
      "description": "Aspect ratio of the video as a ratio, such as 16:9"
    },
    "is_editorial": {
      "type": "boolean",
      "description": "Whether or not this video is editorial content"
    },
    "affiliate_url": {
      "type": "string",
      "format": "uri",
      "description": "Affiliate referral link; appears only for registered affiliate partners"
    },
    "has_model_release": {
      "type": "boolean",
      "description": "Whether or not this video has been released for use by the model appearing in it"
    },
    "has_property_release": {
      "type": "boolean",
      "description": "Whether or not this video has received a release to show the landmark or property appearing in it"
    }
  },
  "description": "Information about a video"
}
object VideoAssets
{
  "type": "object",
  "example": {
    "hd": {
      "fps": 29.97,
      "width": 1920,
      "format": "avc1",
      "height": 1080,
      "file_size": 110359552,
      "display_name": "Original HD",
      "is_licensable": true
    },
    "sd": {
      "fps": 29.97,
      "width": 852,
      "format": "mov",
      "height": 480,
      "file_size": 4577280,
      "display_name": "Standard Definition MPEG",
      "is_licensable": true
    },
    "web": {
      "fps": 29.97,
      "width": 426,
      "format": "mov",
      "height": 240,
      "file_size": 1291264,
      "display_name": "Low Resolution MPEG",
      "is_licensable": true
    },
    "thumb_jpg": {
      "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
    },
    "thumb_mp4": {
      "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
    },
    "thumb_jpgs": {
      "urls": [
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/1.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/2.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/3.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/4.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/5.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/6.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/7.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/8.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/9.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/10.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/11.jpg",
        "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
      ]
    },
    "thumb_webm": {
      "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
    },
    "preview_jpg": {
      "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
    },
    "preview_mp4": {
      "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
    },
    "preview_webm": {
      "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
    },
    "original_filename": "123.mp4"
  },
  "properties": {
    "4k": {
      "$ref": "#/components/schemas/VideoSizeDetails"
    },
    "hd": {
      "$ref": "#/components/schemas/VideoSizeDetails"
    },
    "sd": {
      "$ref": "#/components/schemas/VideoSizeDetails"
    },
    "web": {
      "$ref": "#/components/schemas/VideoSizeDetails"
    },
    "thumb_jpg": {
      "$ref": "#/components/schemas/Url"
    },
    "thumb_mp4": {
      "$ref": "#/components/schemas/Url"
    },
    "thumb_jpgs": {
      "$ref": "#/components/schemas/Urls"
    },
    "thumb_webm": {
      "$ref": "#/components/schemas/Url"
    },
    "preview_jpg": {
      "$ref": "#/components/schemas/Url"
    },
    "preview_mp4": {
      "$ref": "#/components/schemas/Url"
    },
    "preview_webm": {
      "$ref": "#/components/schemas/Url"
    }
  },
  "description": "Video asset information"
}
object VideoCollectionItemDataList
{
  "example": {
    "data": [
      {
        "id": "76688182X",
        "added_time": "2016-08-18T22:52:59.000Z",
        "media_type": "video"
      },
      {
        "id": "40005859X",
        "added_time": "2016-08-18T22:52:59.000Z",
        "media_type": "video"
      }
    ],
    "page": 1,
    "per_page": 100
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CollectionItem"
      },
      "description": "Assets in the collection"
    },
    "page": {
      "type": "integer",
      "description": "The current page of results"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "The number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "The total number of results across all pages"
    }
  },
  "description": "List of items in a collection"
}
object VideoDataList
{
  "example": {
    "data": [
      {
        "id": "1033184651X",
        "aspect": 1.778,
        "assets": {
          "hd": {
            "fps": 29.97,
            "width": 1920,
            "format": "avc1",
            "height": 1080,
            "file_size": 110359552,
            "display_name": "Original HD",
            "is_licensable": true
          },
          "sd": {
            "fps": 29.97,
            "width": 852,
            "format": "mov",
            "height": 480,
            "file_size": 4577280,
            "display_name": "Standard Definition MPEG",
            "is_licensable": true
          },
          "web": {
            "fps": 29.97,
            "width": 426,
            "format": "mov",
            "height": 240,
            "file_size": 1291264,
            "display_name": "Low Resolution MPEG",
            "is_licensable": true
          },
          "thumb_jpg": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
          },
          "thumb_mp4": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
          },
          "thumb_jpgs": {
            "urls": [
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/1.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/2.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/3.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/4.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/5.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/6.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/7.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/8.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/9.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/10.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/11.jpg",
              "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
            ]
          },
          "thumb_webm": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
          },
          "preview_jpg": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
          },
          "preview_mp4": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
          },
          "preview_webm": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
          }
        },
        "models": [
          {
            "id": "33233810X"
          },
          {
            "id": "25487168X"
          }
        ],
        "duration": 14.081,
        "is_adult": false,
        "keywords": [
          "active",
          "activity",
          "adventure",
          "arms",
          "backpacker",
          "carefree",
          "celebrating",
          "cliff",
          "climate",
          "cloud",
          "discovery",
          "escape",
          "explore",
          "extreme",
          "free",
          "freedom",
          "girl",
          "happy",
          "high",
          "hiker",
          "hiking",
          "hill",
          "independent",
          "inspiration",
          "landscape",
          "leisure",
          "lifestyle",
          "mountain",
          "mountains",
          "nature",
          "outdoor",
          "peak",
          "person",
          "rock",
          "scenic",
          "sky",
          "sport",
          "success",
          "summer",
          "summit",
          "sun",
          "sunset",
          "top",
          "tourism",
          "travel",
          "trekking",
          "vacation",
          "view",
          "winning",
          "woman"
        ],
        "added_date": "2019-07-13T00:00:00.000Z",
        "categories": [
          {
            "id": "12X",
            "name": "Nature"
          },
          {
            "id": "13X",
            "name": "People"
          }
        ],
        "media_type": "video",
        "contributor": {
          "id": "4411978X"
        },
        "description": "Camera follows hipster millennial young woman in orange jacket running up on top of mountain summit at sunset, jumps on top of rocks, raises arms into air, happy and drunk on life, youth and happiness",
        "aspect_ratio": "16:9",
        "is_editorial": false,
        "has_model_release": true,
        "has_property_release": false
      }
    ],
    "page": 1,
    "per_page": 5,
    "total_count": 25
  },
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Video"
      },
      "description": "Videos"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      },
      "description": "Error list; appears only if there was an error"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "List of videos"
}
object VideoPreviewUrl
{
  "type": "object",
  "example": {
    "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
  },
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Direct URL to the image"
    }
  },
  "description": "Video preview information"
}
object VideoSearchResults
{
  "type": "object",
  "example": {
    "data": [
      {
        "id": "1033184651X",
        "aspect": 1.778,
        "assets": {
          "thumb_jpg": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
          },
          "thumb_mp4": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
          },
          "thumb_webm": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
          },
          "preview_jpg": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/thumb/12.jpg"
          },
          "preview_mp4": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.mp4"
          },
          "preview_webm": {
            "url": "https://ak.picdn.net/shutterstock/videos/1033184651/preview/stock-footage-camera-follows-hipster-millennial-young-woman-in-orange-jacket-running-up-on-top-of-mountain-summit.webm"
          }
        },
        "duration": 14.081,
        "media_type": "video",
        "contributor": {
          "id": "4411978X"
        },
        "description": "Camera follows hipster millennial young woman in orange jacket running up on top of mountain summit at sunset, jumps on top of rocks, raises arms into air, happy and drunk on life, youth and happiness",
        "aspect_ratio": "16:9",
        "has_model_release": true
      }
    ],
    "page": 1,
    "per_page": 5,
    "search_id": "749090bb-2967-4a20-b22e-c800dc845e10",
    "total_count": 123
  },
  "required": [
    "data",
    "total_count",
    "search_id"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Video"
      },
      "description": "List of videos"
    },
    "page": {
      "type": "integer",
      "description": "Current page that is returned"
    },
    "message": {
      "type": "string",
      "description": "Server-generated message, if any"
    },
    "per_page": {
      "type": "integer",
      "description": "Number of results per page"
    },
    "search_id": {
      "type": "string",
      "description": "Unique identifier for the search request"
    },
    "total_count": {
      "type": "integer",
      "description": "Total count of all results across all pages"
    }
  },
  "description": "Video search results"
}
object VideoSizeDetails
{
  "type": "object",
  "example": {
    "fps": 29.97,
    "width": 1920,
    "format": "avc1",
    "height": 1080,
    "file_size": 110359552,
    "display_name": "Original HD",
    "is_licensable": true
  },
  "properties": {
    "fps": {
      "type": "number",
      "description": "Frames per second of this video size"
    },
    "width": {
      "type": "integer",
      "description": "Width of this video size"
    },
    "format": {
      "type": "string",
      "description": "Format of this video size"
    },
    "height": {
      "type": "integer",
      "description": "Height of this video size"
    },
    "file_size": {
      "type": "integer",
      "description": "File size (in bytes) of this video size"
    },
    "display_name": {
      "type": "string",
      "description": "Display name of this video size"
    },
    "is_licensable": {
      "type": "boolean",
      "description": "Whether or not videos can be licensed in this video size"
    }
  },
  "description": "Video asset information"
}