Upload an asset

Upload a single image or video that can be referenced from a later search. Processing is asynchronous; the response is 202 and the asset's lifecycle (pendingprocessingprocessed, or a terminal failure) is then driven by Soundstripe.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Upload a single image or video as a multipart request. The endpoint returns an asset ID that you can reference from a search request to ground results in the visuals you are actually scoring against.

The asset is processed asynchronously: the response is 202 Accepted and the asset's lifecycle (pendingprocessingprocessed, or a terminal failure) is then driven by Soundstripe. A search may reference an asset before its processing finishes; the search waits internally and is delivered via webhook once the asset is ready.

Image and video search are enabled per account. Contact your account manager if you need access.

Request

POST /v1/supe/assets
Authorization: Token YOUR_API_KEY
Content-Type: multipart/form-data

Form fields

FieldTypeRequiredDescription
filebinaryYesThe image or video bytes.
content_typestringNoOverrides the multipart-declared MIME type. Defaults to the part's declared content type.

Supported formats

  • Images: image/jpeg, image/png, image/webp
  • Videos: video/mp4, video/quicktime, video/webm

Per-asset limits

  • Image: up to 20 MB and 4,096 pixels on each axis.
  • Video: up to 500 MB and 10 minutes.

Example request

curl -X POST https://api.soundstripe.com/v1/supe/assets \
  -H "Authorization: Token YOUR_API_KEY" \
  -F "[email protected];type=image/jpeg"

Response

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "supe_assets",
    "attributes": {
      "status": "pending",
      "media_kind": "image",
      "submitted_at": "2026-05-04T00:00:00Z",
      "original_retained": true
    },
    "links": {
      "self": "https://api.soundstripe.com/v1/supe/assets/550e8400-e29b-41d4-a716-446655440000"
    }
  },
  "links": {
    "self": "https://api.soundstripe.com/v1/supe/assets"
  }
}

The returned data.id is the value you pass in data.attributes.asset_ids when creating a search.

Quotas and pricing

  • Image upload quota: 17,000 per API key per rolling 24 hours.
  • Video upload quota: 200 per API key per rolling 24 hours.
  • A search that references any video asset is billed at the video tier. Mixed image + video searches require both image and video access on your account.

Error responses

HTTPCodeMeaning
400bad_requestThe file parameter is missing.
422empty_fileThe uploaded file is zero bytes.
422unsupported_formatThe MIME type is outside the supported list, or the asset's dimensions or duration could not be probed.
422image_size_exceededImage larger than 20 MB. meta.limit_bytes carries the limit.
422image_dimensions_exceededImage wider or taller than 4,096 pixels. meta.limit_width, meta.limit_height, meta.actual_width, and meta.actual_height carry the values.
422video_size_exceededVideo larger than 500 MB. meta.limit_bytes carries the limit.
422video_duration_exceededVideo longer than 10 minutes. meta.limit_seconds carries the limit.
403unauthorizedAPI key does not have access to upload assets of this type.
429daily_image_quota_exceededDaily image upload quota reached. meta.limit carries the cap.
429daily_video_quota_exceededDaily video upload quota reached. meta.limit carries the cap.
Body Params
file
required

The image or video bytes. Supported types: image/jpeg, image/png, image/webp, video/mp4, video/quicktime, video/webm. Limits: 20 MB per image (4096 px on each axis), 500 MB per video (10 minutes).

string

Optional override for the multipart-declared MIME type.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/vnd.api+json