High-velocity, online businesses produce multiple digital assets like banners, images, videos, PDFs, etc., to promote their businesses online. For such businesses, Digital Asset Management (DAM) solutions are essential. These solutions help centrally store, manage, organize, search and track digital assets. Having a central repository of assets helps in the faster execution of campaigns and improves cross-functional collaboration.
But, for an organization operating at scale and dealing with millions of digital assets flowing in from multiple sources, certain parts of your asset management workflow cannot be done manually using a UI. For example, how do you upload thousands of images in the correct folders every day? Or integrate an internal CMS to add product SKU IDs as a tag on the product image in the DAM?
This is why leading DAM solutions come with APIs to allow you to integrate them into your existing workflows and get the benefits of a DAM system at scale. Let’s first understand what an API is before getting to some common examples and use cases you can solve with them.
What is an API?
Table of Contents
API stands for Application Programming Interface. It allows two software pieces or applications to communicate using a common definition.
An analogy in the physical world is when you order a dish in a restaurant, the chef understands what you ordered and prepares it. Here, the menu with the dish’s name serves as the common language for you (one of the parties) to communicate with the chef (the other party).
Let’s look at an example of an API in an e-commerce application. To check the delivery time to your location, you enter your pin code, and in a second or two, the time appears on your mobile screen. Here, your app (one of the software) is talking to the server (the other software), asking to give delivery times for a pin code (the definition or the common language between the two software). The delivery time that is returned by the server is called an API’s “response.”
What is a DAM API?
Continuing our explanation above, DAM APIs allow you to communicate with the Digital Asset Management system using a defined language. These APIs allow you to use all or most of the features of a DAM system, but instead of doing it via the user interface in a browser, you would be able to use them from a software program.
For example, a DAM’s user interface lets you drag and drop an image to upload it. However, the same DAM system could offer an API to upload images from your user’s Android app. Here the Android app is one of the software, the DAM system itself is the other software, and the upload API communicates what and how to upload to the DAM system. Once completed, the API responds with information about the uploaded image.
What’s ImageKit? What’s its DAM offering?
ImageKit is a leading Digital Asset Management solution. It comes with standard DAM features like storage, management, AI tagging, custom metadata, and advanced search. It also has optimized asset delivery integrated into the system.
While ImageKit’s DAM system comes with a user-friendly UI, like all leading players in this space, it also offers media APIs to use all of its features programmatically.
Use cases you can solve with DAM APIs
Before jumping to the APIs, here are some ways to use a DAM system’s APIs.
- If you have an app or website where users can upload images or videos, or other content,you can use the DAM API to upload them directly to the DAM system.
- Suppose you build a product that offers integrated media storage to its users. Instead of exposing your users to the DAM system directly, you would want to integrate it into your product natively (or white-label it). You can use a combination of DAM upload APIs, list and search APIs, and get image detail APIs to build this asset library for the users of your product.
- Suppose your team uses an existing CMS or any other system to manage internal data. You can use the DAM as the underlying file storage and use its advanced management and search features via its APIs. Your team never has to leave their existing CMS while still leveraging all the features of the DAM system.
- If you require and your DAM solution supports it, you can use the real-time image and video optimization APIs to deliver the assets to your users or on different platforms. ImageKit is one such DAM that supports file delivery for any asset upload to its media library.
Common Digital Asset Management APIs
Let’s look at some of the standard APIs that most DAM systems offer. For demonstration and examples, we would be using ImageKit’s DAM APIs.
1. API for uploading a file
This is the most basic API of all — before you use the DAM system, you need to upload files to it.
ImageKit’s Upload API allows you to upload an actual file from your file system or a web URL. You can use this API on a front-end application, like a mobile app, or a back-end application, like your application server. Here is an example of uploading the image from a back-end application.
curl -X POST "https://upload.imagekit.io/api/v1/files/upload" -u your_private_api_key: -F '[email protected]/Users/username/Desktop/my_file_name.jpg;type=image/jpg' -F 'fileName=my_file_name.jpg'
You would get some information about the uploaded file in the API response. For example, you would usually get a unique ID for your file, which would be super valuable for subsequent APIs, along with other information like the file’s format, size, upload time, etc.
{ "fileId": "598821f949c0a938d57563bd", "name": "my_file_name.jpg", "url": "https://ik.imagekit.io/your_imagekit_id/images/products/file1.jpg", "height": 300, "width": 200, "size": 83622, // other information...
}
2. Moving, copying, and deleting a file
After uploading a file to the DAM system, you might want to remove it or move it around to different folders. This also can be done programmatically via APIs.
For example, in ImageKit, to move a file from one folder to the other, you need to give the file’s path (sourceFilePath
) and the destination folder path (destinationPath
) in the API.
curl -X POST "https://api.imagekit.io/v1/files/move" -H 'Content-Type: application/json' -u your_private_key: -d ' { "sourceFilePath" : "/path/to/file.jpg", "destinationPath" : "/folder/to/move/into/"
}'
3. Updating a file with manual and AI Tags
File nomenclature and creating the correct folder structure are often insufficient to organize and find content in a growing repository of digital assets.
Associating custom metadata or tags with an asset helps build another layer of organization for your content. For example, you could assign values to fields such as “Product Category” (Shoe, Shirt, Jeans, etc.), “Platform” (Facebook, Instagram, etc.), “Sale Name” (Thanksgiving, Black Friday, etc.) to the files in your DAM system, to build a more business-specific organization.
Through services like Google Cloud Vision, taking advantage of AI can help speed up asset tagging workflows and reduce errors. In addition, good DAM systems do provide APIs to associate tags with your assets.
For example, ImageKit allows you to add AI-inferred tags, using Google Cloud Vision, to your asset in the code below.
curl -X PATCH "https://api.imagekit.io/v1/files//details" -H 'Content-Type: application/json' -u your_private_key: -d' { "extensions": [ { "name": "google-auto-tagging", "maxTags": 5, "minConfidence": 95 } ]
}
While the above API adds tags to an existing file, you can also do this when the file is first uploaded.
4. Searching for a file using search APIs
The most significant advantage of using a DAM is searching for the exact asset amongst thousands of them. Therefore, a good search API is necessary for any DAM system. It should allow searching on all the possible parameters associated with an asset, including custom tags and metadata that we add to create a business-specific organization for ourselves.
ImageKit provides a very flexible search API that lets you construct complex search queries to pinpoint the exact resource you need. The example below finds out all assets you created more than seven days ago with a size of more than 2MB.
curl -X GET "https://api.imagekit.io/v1/files" -G --data-urlencode "searchQuery=createdAt >= "7d" AND size > "2mb"" -u your_private_api_key:
5. The image and video delivery API
Once your team starts managing and collaborating on the assets on the DAM, the next obvious step would be to be able to use these assets on the web, share them via their URLs, use them on your website, apps, emails, and so on.
Leading DAM solutions like ImageKit provide ready-to-use URLs for any file stored with them. ImageKit API also has in-built automatic optimizations and real-time manipulations for images and videos that ensure optimized asset delivery every time.
https://ik.imagekit.io/ikmedia/default-image.jpg?tr=w-200,h-200
The above example resizes the original image to a 200×200 square thumbnail while compressing it and optimizing its format. But, of course, you can do the same using a similar URL-based API for videos too.Read more about ImageKit’s media APIs
Conclusion
Apart from the basic APIs explained above, all DAM solutions offer several other APIs that allow you to manage folders, get file details, control the shareability of assets, and more. The possibilities are endless for integrating these APIs to simplify and automate your existing workflows. Using a DAM solution like ImageKit, with its extensive media management APIs given here, will bring your marketing, creative, and technology teams on the same page and help them execute campaigns faster. Sign up today on ImageKit’s forever free DAM plan and start optimizing your media workflows.