Skip to main content

Class: MediaService

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:142

Extends​

  • BaseService

Constructors​

Constructor​

new MediaService(client): MediaService

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:12

Parameters​

client​

TanqoryClient

Returns​

MediaService

Inherited from​

BaseService.constructor

Properties​

client​

protected client: TanqoryClient

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:10

Inherited from​

BaseService.client

Methods​

addItemToBoard()​

addItemToBoard(storeId, boardId, mediaId): Promise<MediaBoardItemWithMedia>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:582

Add an item to a board

Parameters​

storeId​

string

boardId​

string

mediaId​

string

Returns​

Promise<MediaBoardItemWithMedia>


buildQuery()​

protected buildQuery(options?): Record<string, any>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:26

Build query parameters

Parameters​

options?​

ListOptions

Returns​

Record<string, any>

Inherited from​

BaseService.buildQuery


checkFavorite()​

checkFavorite(storeId, mediaId): Promise<{ isFavorite: boolean; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:637

Check if a media item is favorited

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<{ isFavorite: boolean; }>


createBoard()​

createBoard(storeId, data): Promise<MediaBoard>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:511

Create a new media board

Parameters​

storeId​

string

data​

CreateMediaBoardInput

Returns​

Promise<MediaBoard>


createMediaLibrary()​

createMediaLibrary(storeId, data): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:169

Create media library item

Parameters​

storeId​

string

data​

CreateMediaLibraryInput

Returns​

Promise<MediaLibraryItem>


delete()​

delete(id): Promise<void>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:416

Delete a media item (legacy)

Parameters​

id​

string

Returns​

Promise<void>


deleteBoard()​

deleteBoard(storeId, boardId): Promise<DeletedResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:557

Delete a board

Parameters​

storeId​

string

boardId​

string

Returns​

Promise<DeletedResponse>


deleteMediaLibrary()​

deleteMediaLibrary(storeId, mediaId): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:192

Delete media library item (moves to trash - soft delete)

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<MediaLibraryItem>


editImage()​

editImage(storeId, mediaId, operations): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:464

Edit an image (crop, resize, transform, draw) Returns the updated media library item with new URL and dimensions

Parameters​

storeId​

string

mediaId​

string

operations​

object[]

Returns​

Promise<MediaLibraryItem>


generateIdempotencyKey()​

protected generateIdempotencyKey(prefix): string

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:19

Generate idempotency key

Parameters​

prefix​

string

Returns​

string

Inherited from​

BaseService.generateIdempotencyKey


getBoard()​

getBoard(storeId, boardId): Promise<MediaBoardWithItems>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:534

Get a single board with all items

Parameters​

storeId​

string

boardId​

string

Returns​

Promise<MediaBoardWithItems>


getBoardItems()​

getBoardItems(storeId, boardId, query?): Promise<ListResponse<MediaBoardItemWithMedia>>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:567

List items in a board

Parameters​

storeId​

string

boardId​

string

query?​
limit?​

number

page?​

number

Returns​

Promise<ListResponse<MediaBoardItemWithMedia>>


getExportMimeType()​

protected getExportMimeType(format): string

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/base.ts:45

Get MIME type for export format

Parameters​

format​

string

Returns​

string

Inherited from​

BaseService.getExportMimeType


getMediaLibraryItem()​

getMediaLibraryItem(storeId, mediaId): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:162

Get a single media library item

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<MediaLibraryItem>


getMediaStats()​

getMediaStats(storeId): Promise<MediaStatsResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:229

Get media stats for a store

Parameters​

storeId​

string

Returns​

Promise<MediaStatsResponse>


getMediaUsages()​

getMediaUsages(storeId, mediaId): Promise<MediaUsageInfo[]>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:652

Get media usages - where is this media used? Returns list of products and variants that use this media

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<MediaUsageInfo[]>


list()​

list(options?): Promise<ListResponse<MediaLibraryItem>>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:371

List media items (legacy - delegates to listMediaLibrary)

Parameters​

options?​
limit?​

number

page?​

number

string

storeId?​

string

Returns​

Promise<ListResponse<MediaLibraryItem>>


listBoards()​

listBoards(storeId, query?): Promise<ListResponse<MediaBoardWithPreview>>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:520

List media boards with preview thumbnails

Parameters​

storeId​

string

query?​

ListMediaBoardsQuery

Returns​

Promise<ListResponse<MediaBoardWithPreview>>


listMediaLibrary()​

listMediaLibrary(storeId, query?): Promise<ListResponse<MediaLibraryItem>>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:150

List media library items for a store

Parameters​

storeId​

string

query?​

ListMediaLibraryQuery

Returns​

Promise<ListResponse<MediaLibraryItem>>


listTrashedMedia()​

listTrashedMedia(storeId, query?): Promise<ListResponse<MediaLibraryItem>>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:219

List trashed media items

Parameters​

storeId​

string

query?​

Omit<ListMediaLibraryQuery, "onlyDeleted">

Returns​

Promise<ListResponse<MediaLibraryItem>>


permanentDeleteMediaLibrary()​

permanentDeleteMediaLibrary(storeId, mediaId): Promise<DeletedResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:209

Permanently delete media (cannot be undone)

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<DeletedResponse>


removeItemFromBoard()​

removeItemFromBoard(storeId, boardId, mediaId): Promise<DeletedResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:597

Remove an item from a board

Parameters​

storeId​

string

boardId​

string

mediaId​

string

Returns​

Promise<DeletedResponse>


removeProductUsage()​

removeProductUsage(storeId, mediaId, productId): Promise<DeletedResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:695

Remove media usage tracking from a product

Parameters​

storeId​

string

mediaId​

string

productId​

string

Returns​

Promise<DeletedResponse>


removeVariantUsage()​

removeVariantUsage(storeId, mediaId, variantId): Promise<DeletedResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:710

Remove media usage tracking from a variant

Parameters​

storeId​

string

mediaId​

string

variantId​

string

Returns​

Promise<DeletedResponse>


reorderBoardItems()​

reorderBoardItems(storeId, boardId, itemIds): Promise<{ reordered: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:611

Reorder items in a board

Parameters​

storeId​

string

boardId​

string

itemIds​

string[]

Returns​

Promise<{ reordered: number; }>


restoreMediaLibrary()​

restoreMediaLibrary(storeId, mediaId): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:199

Restore media from trash

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<MediaLibraryItem>


retrieve()​

retrieve(id): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:385

Retrieve a single media item (legacy)

Parameters​

id​

string

Returns​

Promise<MediaLibraryItem>


searchStockPhotos()​

searchStockPhotos(storeId, query): Promise<StockPhotosSearchResult>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:493

Unified search for stock photos from any provider (Pexels, Pixabay, Unsplash) Supports both images and videos with filtering options

Parameters​

storeId​

string

query​

SearchStockPhotosQuery

Returns​

Promise<StockPhotosSearchResult>


syncProductMediaUsages()​

syncProductMediaUsages(storeId, input): Promise<{ synced: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:727

Sync all media usages for a product Call this when saving a product to sync all media usage records This will delete existing usages and create new ones based on the media items

Parameters​

storeId​

string

input​

SyncProductMediaUsagesInput

Returns​

Promise<{ synced: number; }>


toggleFavorite()​

toggleFavorite(storeId, mediaId): Promise<ToggleFavoriteResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:626

Toggle favorite status for a media item

Parameters​

storeId​

string

mediaId​

string

Returns​

Promise<ToggleFavoriteResponse>


trackProductUsage()​

trackProductUsage(storeId, mediaId, productId, position?): Promise<MediaUsageResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:663

Track media usage in a product Call this when adding media to a product's media array

Parameters​

storeId​

string

mediaId​

string

productId​

string

position?​

number = 0

Returns​

Promise<MediaUsageResponse>


trackVariantUsage()​

trackVariantUsage(storeId, mediaId, variantId): Promise<MediaUsageResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:680

Track media usage in a variant Call this when setting a variant's imageId

Parameters​

storeId​

string

mediaId​

string

variantId​

string

Returns​

Promise<MediaUsageResponse>


triggerUnsplashDownload()​

triggerUnsplashDownload(downloadLocation): Promise<void>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:483

Trigger Unsplash download (for attribution tracking)

Parameters​

downloadLocation​

string

Returns​

Promise<void>


unifiedUpload()​

unifiedUpload(storeId, input): Promise<MediaLibraryItem | UploadOnlyResult>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:259

Unified Upload - Single entry point for all media uploads Supports: file upload or URL download Following Cloudinary/Tanqory pattern

Parameters​

storeId​

string

input​

UnifiedUploadInput

Returns​

Promise<MediaLibraryItem | UploadOnlyResult>

Example​

// Upload from file
const media = await client.media.unifiedUpload(storeId, { file: myFile })

// Upload from URL (e.g., stock photo, AI generated)
const media = await client.media.unifiedUpload(storeId, {
sourceUrl: 'https://example.com/image.jpg',
alt: 'My image',
tags: ['ai-generated'],
})

// Upload to storage only (skip media library record)
const uploadResult = await client.media.unifiedUpload(storeId, {
file: myFile,
skipMediaLibrary: true,
})

updateBoard()​

updateBoard(storeId, boardId, data): Promise<MediaBoard>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:544

Update a board

Parameters​

storeId​

string

boardId​

string

data​

UpdateMediaBoardInput

Returns​

Promise<MediaBoard>


updateMediaLibrary()​

updateMediaLibrary(storeId, mediaId, data): Promise<MediaLibraryItem>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:179

Update media library item

Parameters​

storeId​

string

mediaId​

string

data​

UpdateMediaLibraryInput

Returns​

Promise<MediaLibraryItem>


upload()​

upload(file, options?): Promise<UploadImageResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:392

Upload a file (legacy)

Parameters​

file​

File | Blob

options?​

UploadOptions

Returns​

Promise<UploadImageResponse>


uploadImage()​

uploadImage(file, folder?, storeId?): Promise<UploadImageResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:424

Upload image file to store

Parameters​

file​

File

folder?​

string

storeId?​

string

Returns​

Promise<UploadImageResponse>

Deprecated​

Use unifiedUpload() instead


uploadImageFromUrl()​

uploadImageFromUrl(imageUrl, storeId, folder?, filename?): Promise<UploadImageResponse>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:440

Upload image from URL (for Node.js/server-side use) Downloads the image server-side and uploads to storage

Parameters​

imageUrl​

string

storeId​

string

folder?​

string

filename?​

string

Returns​

Promise<UploadImageResponse>


upscale()​

upscale(storeId, input): Promise<{ contentType: string; durationMs: number; height: number; scaleFactor: "2x" | "4x"; url: string; width: number; }>

Defined in: tanqory-platform-packages/packages/api/sdk/src/services/media.ts:744

Upscale an image via the AI service (proxied through store-api). API: POST /stores/:storeId/media/upscale

Parameters​

storeId​

string

input​
imageUrl​

string

mediaId?​

string

scaleFactor​

"2x" | "4x"

Returns​

Promise<{ contentType: string; durationMs: number; height: number; scaleFactor: "2x" | "4x"; url: string; width: number; }>