Ads API •References / assets / Upload Asset

Upload Asset

Uploads an asset to storage and returns asset metadata. Supports uploads of files up to 20MB in size. Asset type can be either image, audio, or video. See here for detailed list of requirements for audio assets and here for video assets.

Request

  • ad_account_idstring [uuid]
    Required

    A unique identifier for an Ad Account.

    Example: ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a
  • asset_idstring [uuid]
    Required

    A unique identifier for the entity.

    Example: ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a
  • mediastring [binary]
    Required
    Supported content-type(s): image/png, image/jpeg, audio/ogg, audio/mp3, audio/wav, audio/mpeg, audio/x-wav, video/mp4, video/quicktime
  • asset_typestring
    Required

    The type of asset.

    Allowed values: "AUDIO", "IMAGE", "VIDEO"Example: "IMAGE"

Response

The newly created asset metadata

Will be one of the following:
  • Metadata object for an image asset type.

    • idstring [uuid]
      Required

      A unique identifier for the entity.

      Example: "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a"
    • namestring
      Required

      The name of the asset file.

      Example: "logoImage.png"
    • asset_typestring
      Required
    • statusstring
      Required

      The current status of an asset throughout lifecycle processes.

      Allowed values: "ERROR", "PROCESSING", "READY", "WAITING_UPLOAD"Example: "READY"
    • urlstring [uri]

      URL of asset. Will be either Google Cloud Storage URL or CDN URL depending on the asset type and the transcoding completion status.

      Example: "https://i.scdn.co/image/123"
    • created_atstring [date-time]
      Required

      Date the entity was created. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • updated_atstring [date-time]
      Required

      Date the entity was updated. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • file_typestring

      The file type of the image asset as defined by the 'file type' specification of the ISO base media file format standard.

      Allowed values: "JPEG", "PNG"Example: "JPEG"
    • aspect_ratiostring

      String representation of all supported aspect ratios

      Allowed values: "HORIZONTAL_16_9", "HORIZONTAL_1_91_1", "SQUARE", "VERTICAL_9_16"
    • widthinteger
      Example: 720
    • heightinteger
      Example: 1280
  • Metadata object for an audio asset type.

    • idstring [uuid]
      Required

      A unique identifier for the entity.

      Example: "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a"
    • namestring
      Required

      The name of the asset file.

      Example: "logoImage.png"
    • asset_typestring
      Required
    • statusstring
      Required

      The current status of an asset throughout lifecycle processes.

      Allowed values: "ERROR", "PROCESSING", "READY", "WAITING_UPLOAD"Example: "READY"
    • urlstring [uri]

      URL of asset. Will be either Google Cloud Storage URL or CDN URL depending on the asset type and the transcoding completion status.

      Example: "https://i.scdn.co/image/123"
    • created_atstring [date-time]
      Required

      Date the entity was created. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • updated_atstring [date-time]
      Required

      Date the entity was updated. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • audio_typestring

      The type of audio asset.

      Allowed values: "ADSTUDIO_SUPPLIED_AUDIO", "BACKGROUND_MUSIC", "STOCK_BACKGROUND_MUSIC", "USER_UPLOADED_AUDIO"Example: "USER_UPLOADED_AUDIO"
    • duration_msinteger [int32]

      The duration of the asset in milliseconds. This value is populated as part of asset processing, and will be null until the asset is in ready state.

      Example: 30000
    • file_typestring

      The file type of the audio asset as defined by the 'file type' specification of the ISO base media file format standard.

      Allowed values: "MP3", "OGG", "WAV"
  • Metadata object for a video asset type.

    • idstring [uuid]
      Required

      A unique identifier for the entity.

      Example: "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a"
    • namestring
      Required

      The name of the asset file.

      Example: "logoImage.png"
    • asset_typestring
      Required
    • statusstring
      Required

      The current status of an asset throughout lifecycle processes.

      Allowed values: "ERROR", "PROCESSING", "READY", "WAITING_UPLOAD"Example: "READY"
    • urlstring [uri]

      URL of asset. Will be either Google Cloud Storage URL or CDN URL depending on the asset type and the transcoding completion status.

      Example: "https://i.scdn.co/image/123"
    • created_atstring [date-time]
      Required

      Date the entity was created. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • updated_atstring [date-time]
      Required

      Date the entity was updated. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • duration_msinteger [int32]

      The duration of the asset in milliseconds. This value is populated as part of asset processing, and will be null until the asset is in ready state.

      Example: 30000
    • aspect_ratiostring

      String representation of all supported aspect ratios

      Allowed values: "HORIZONTAL_16_9", "HORIZONTAL_1_91_1", "SQUARE", "VERTICAL_9_16"
    • widthinteger
      Example: 720
    • heightinteger
      Example: 1280
    • file_typestring

      The file type of the video asset as defined by the 'file type' specification of the ISO base media file format standard.

      Allowed values: "MP4", "QUICKTIME"
    • has_audioboolean
    • thumbnail_urlstring [uri]

      URL of thumbnail image of the video asset.

      Example: "https://adstudio-video-preview-image.spotifycdn.com/123-preview"

Response sample

{  "id": "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a",  "name": "logoImage.png",  "asset_type": "string",  "status": "READY",  "url": "https://i.scdn.co/image/123",  "created_at": "2026-01-23T04:56:07Z",  "updated_at": "2026-01-23T04:56:07Z",  "file_type": "JPEG",  "aspect_ratio": "HORIZONTAL_16_9",  "width": 720,  "height": 1280}