惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
爱范儿
爱范儿
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
B
Blog RSS Feed
博客园 - 聂微东
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
Scott Helme
Scott Helme
AI
AI
S
Security Affairs
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
AWS News Blog
AWS News Blog
T
Threatpost
Cyberwarzone
Cyberwarzone
www.infosecurity-magazine.com
www.infosecurity-magazine.com
U
Unit 42
V
Vulnerabilities – Threatpost
J
Java Code Geeks
博客园 - Franky
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
NISL@THU
NISL@THU
D
Docker
小众软件
小众软件
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
A
Arctic Wolf
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Forbes - Security
Forbes - Security
量子位
PCI Perspectives
PCI Perspectives
美团技术团队
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
I
InfoQ
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
腾讯CDC
P
Proofpoint News Feed
S
Security @ Cisco Blogs
G
Google Developers Blog
C
Cisco Blogs

ImageKit.io Blog

Next.js Image Optimization with ImageKit Use Video as a Background in Your Next.js Project How to Fix Autoplay Video in Next.js How Durian Scaled a Visual-First Retail Experience to 350K Monthly Visitors Online How Matsmart accelerated image delivery across countries with ImageKit AI in Digital Asset Management: From Smart Workflows to Agentic Automation How Joseph Joseph unified and secured global video delivery with ImageKit How Modall powers fast, effortless media delivery across 40+ projects with ImageKit Digital Asset Management (DAM) Trends: 2026 Report How to add a poster image to Video.js player (and automate it) HLS streaming with Video.js + React Building the future of storytelling with fast, AI-powered video delivery How PushOwl delivers 100M+ image-rich notifications seamlessly with ImageKit How Homify delivers millions of interior design images seamlessly with ImageKit Better event discovery with lightning‑fast videos & images Adding video player in React Native Video player in Angular applications Crop and resize videos in React Next.js image and video upload React image and video upload React video optimization How we quadrupled our traffic to 625K monthly page views How Apollo 24|7 boosted performance & reduced costs with ImageKit Simplify your media workflows with ImageKit DAM integrations Extending Lighthouse for custom image and video optimization analysis Brand Asset Management: What is it? How does it work? WordPress Digital Asset Management Guide - Manage your WP media assets better Why Shopify retailers need a digital asset management solution DAM vs. SharePoint: Which is best for you? AI-powered Metadata and Tagging in Digital Asset Management How Hopscotch built India's largest online Kids' fashion brand with ImageKit Dropbox Vs. DAM: Which Is The Right Tool For Digital Asset Management Digital Asset Management for Photographers: A Complete Guide Why digital asset management for agencies is essential Helping both Top and Bottom Line: SaffronStays rapid, profitable growth with ImageKit How KreditBee simplified media experiences with ImageKit Google Drive alternatives for businesses (with fast-growing teams) Node.js image upload ImageKit: The Secret Ingredient in Swiggy’s Expansion Journey Streamlining the Design Approval Process: A Comprehensive Guide AV1 Codec - Complete guide for video application devs PHP image and video upload Angular image & video upload AV1 vs VP9: Which codec should you choose? Adding video player in Next.js React Video Player VP8 vs VP9 - In the context of online video delivery Exploring WebM vs MP4 7 Free Digital Asset Management Software that are not Open-Source Comparing 9 Top Digital Asset Management Tools in the Market What are Brand Standards and Why do they Matter? Boost Sales and Brand Appeal: Essential Tips for eCommerce Image Management Brand Recall: The Strategy to Create Unforgettable Brands How to upload files in HTML? Branding for Small Businesses (2025 Edition) Everything you need to know about VP9 codec Recent updates from ImageKit and what's next Best Ways to Write RFP For Digital Asset Management (+ with free RFP template) What is Brand Dilution? How to Avoid It? Explained with [Examples] The Importance of Brand Identity: Leveraging Digital Asset Management for Impact From Launch to Scale: How to Launch a Brand Campaign Digital Asset Management Requirements - What do You Need to Evaluate and How? Marketing Collateral Management: A Quick End-to-End Guide Video Content Management System: What Is It And How To Choose One? Dropbox vs. Google Drive vs. Onedrive: The Best Cloud Storage Solution How to Build Brand Trust: Get Started In 2025 Google Drive vs. Box: A Detailed Comparison How Digital Asset Management Solutions Help Protect Brand Equity A DAM Solution Can Safeguard Your Digital Intellectual Property - Here’s How WebP Vs. PNG: Which Image Format Should You Use and Why? How to Resize Images in Bootstrap Easily Progressive jpegs (PJPEG): the key to loading images faster on your website Dropbox vs. Google Drive: The Best Cloud Storage For Digital Assets Dropbox Pros & Cons In 2024: An In-Depth Analysis and Why A DAM Solution Stands Out Google Drive Vs OneDrive: The Better Storage Option For Digital Assets Manage your video assets better with video metadata Understanding DAM's Role in Strengthening Brand Identity Digital asset management strategy: What to know before creating one The Ultimate Guide To Marketing Agency Onboarding 6 Solutions To Simplify Large File Sharing Over The Web A Step-by-Step Breakdown of a Video Production Workflow 13 Digital Asset Management Use Cases You Should Know How to Conduct a Brand Audit and Manage Your Brand Assets Costly Consequences of Inconsistent Branding And How DAM Can Help Dynamic Asset Transformation: What It Is, Why You Need It, and How ImageKit Can Help Everything You Need to Know About HTML Video Autoplay How To Select Your DAM Vendor: A Complete Guide How to Boost User Experience with Smart Digital Asset Management React Image Optimization: A Guide for Web Developers Why Should DAM Be A Part Of Your MarTech Stack? Unleashing the Power of Content Repurposing with ImageKit MKV vs MP4: Which Video File Format Is Better for Your Needs? Digital Asset Management For Ecommerce: A Complete Guide How an Image Tagging Software can Transform Your Image Search How to Manage Your Content Lifecycle Effectively M4V vs MP4: Which Video Format Should You Use and Why? Why Every Business Needs An Image Management System All The Questions To Ask During A Dam Demo Which is the Best Image Format for Your Website? Uploading Multiple Files Using JavaScript: A Comprehensive Guide
Image storage API that puts an end to your storage worries
Rahul Nanwani · 2021-10-27 · via ImageKit.io Blog

Images are essential to every online business, from e-commerce platforms to content-driven websites. For instance,

  • Sellers on marketplaces such as OLX, Amazon or Facebook Marketplace rely heavily on product images to create compelling listings.
  • Similarly, user-uploaded review images on sites like Amazon offer potential buyers real-world insights into products.
  • Moreover, in the backend operations of these websites, teams frequently manage and upload images, such as product photos, banners, and ads, into their content management systems.

To build these modern media-heavy web applications, you need a powerful storage API solution that is easy to use, secure, fast, scalable, and cost-efficient. You also need a user-friendly interface for non-technical teams in the organization to manage and search those media assets.

ℹ️

Key takeaways
👉 Discover different storage API solutions, e.g., popular object storage, disk-based web server storage, and headless DAM. More importantly, learn about the limitations of each approach.

👉 10-line code - Image upload example in Python, React, and many other languages using ImageKit.io storage API.

👉 Finally, learn how to empower non-technical teams in your organization using a powerful media library - uploading, searching, AI-powered background removal, basic resizing, etc.

Different storage API solutions

Let's first understand the different image & video storage solutions available, along with their challenges. We have 3 options:

  • Cloud-based object storage
  • Disk storage on web servers
  • Headless DAM like ImageKit

Cloud-based Object Storage

Cloud providers such as AWS S3, Google Cloud Storage, and Microsoft Azure Blob Storage offer scalable, unlimited object storage solutions with robust APIs for managing digital content. SDKs are available in multiple programming languages for easy integration.

Limitations:

  • Although they provide vast storage capabilities, these solutions lack features such as image resizing, optimization, watermarking, and text overlays.
  • Additionally, they do not offer robust search or organization features, making it difficult to retrieve or categorize objects beyond basic operations like storing an object at a specific key or listing objects via a prefix. They also lack a user interface for non-technical teams, further limiting their accessibility.

Disk Storage on Web Server

A common method used in platforms like WordPress or Magento, where images are stored directly on the server's disk.

Limitations: This approach has potential scaling and security challenges. The upload API can be an entry point for hackers to inject malicious files, potentially compromising your entire infrastructure.

Headless DAM like ImageKit

This storage solution includes an easy-to-use API and a user-friendly interface for searching and managing media assets. It's designed to streamline the handling of digital content, making it accessible even to those with limited technical skills. Learn more about headless DAM.

Limitations: A hard dependency on third-party tools.

ImageKit is a complete media storage, management, and delivery solution that helps you store, manage, and deliver perfect images across all devices on the web.

ImageKit comes integrated with an image storage solution called the Media Library. The Media Library is built on top of AWS S3, the leading cloud storage provider, and is available in seven regions across the globe.

Image Storage APIs and SDKs

ImageKit's Media Library offers unlimited storage and several media management APIs, which allow you to programmatically perform any operation on your images.

ImageKit also provides official SDKs in multiple languages for server-side and client-side operations.

Image upload example in Python

For example, uploading an image from your Python backend using the image upload API is as simple as this ten-line code.

from imagekitio import ImageKit
imagekit = ImageKit(
    private_key='your private_key',
    public_key='your public_key',
    url_endpoint = 'your url_endpoint'
)

imagekit.upload_file(
    file= "<url|base_64|binary>",
    file_name= "my_file.jpg", 
)

Example of image upload using ImageKit's Python SDK using the image storage API

Image upload example in React

Similarly, if you want to upload images to ImageKit's image storage directly from the client's device, you could use one of its frontend SDKs to do so. Here is an example of an image upload using the image storage API from a React Application.

<IKContext publicKey="your_public_api_key" authenticationEndpoint="https://www.your-server.com/auth">

  <IKUpload
    fileName="file-name.jpg"
    onError={onError} 
    onSuccess={onSuccess}
  />
</IKContext>

Image upload from ReactJS app using ImageKit's client-side storage API

We have published tutorials on several platforms:

Where are the hosted images stored?

As mentioned earlier, ImageKit's Media Library is built on top of AWS's S3 object storage. When using the image storage API, ImageKit stores the image you upload in AWS S3 in the selected geographical region for your account. It may also additionally backup the image in an alternate geographical location for better data redundancy.

Therefore, by design, you get the same stability and data integrity as that provided by AWS S3, even with ImageKit's media library.

Advantages of using ImageKit's image storage API over cloud storage

Now, you might be wondering why you would want to use ImageKit's image storage API and the Media Library instead of using AWS S3's storage API when essentially, ImageKit is also storing the images in S3.

Let's look at the advantages of ImageKit's storage over traditional cloud storage like S3.

In cloud storage like AWS S3, you can store the image on specific keys that give the impression of folder organization. However, with ImageKit's storage API, you can organize images in actual folders.

And for another layer of organization, you can add tags to them. These tags can be either added automatically with AI-based extensions (more on this later in point 3) or can be added manually.

For example, the image storage API below adds the tags 'mobile' and 'halloween sale' to the image 'banner.jpg' and uploads it to the folder 'website_banners'.

imagekit.upload_file(
    file= "<url|base_64|binary>",
    file_name= "banner.jpg",
    options= {
        "folder" : "/website_banners/",
        "tags": ["mobile", "halloween sale"]
    }
)

Now, these tags come in handy when you have to search for specific images, especially when more than one image has the same name.

In the above example, you can use the ImageKit list and search API as shown below to search for Halloween banners for mobile devices using these tags uploaded within the last 7 days and more than 2MB in size.

from imagekitio import ImageKit

imagekit = ImageKit(
    private_key='your_private_api_key',
    public_key='your_public_api_key',
    url_endpoint = 'https://ik.imagekit.io/your_imagekit_id/'
)

list_files = imagekit.list_files({
    "tags": ["mobile","halloween sale"],
    "searchQuery": 'createdAt >= "7d" AND size > "2mb"'
})

The same robust search functionality is available for non-technical teams through an intuitive user interface (UI) in the Digital Asset Management (DAM) system. For example, search results will display assets that have one or more tags corresponding to the search query, such as "building".

Managing images via API in ImageKit's media library

Once you upload an image using the image storage API, you will have to carry out basic operations such as copying, moving, deleting, or updating these images later.

ImageKit provides a set of image management APIs that allow you to manage the images stored in its storage. These APIs, therefore, allow you to integrate image hosting and management within your existing workflows programmatically.

For example, using ImageKit's NodeJS SDK, you can copy an image from one folder to the other as shown below.

imagekit.copyFile("sourceFilePath", "destinationPath").then(response => {
    console.log(response);
}).catch(error => {
    console.log(error);
});

Note: These features are also available in ImageKit's dashboard via the UI. You can add multiple users from marketing and content teams and access the ImageKit Media Library to provide an easy-to-use interface to upload and manage the images.

AI-powered image tagging and background removal

ImageKit's storage API not just allows you to host images in its storage, but it also integrates with popular third-party APIs to further simplify your workflow.

For example, you can leverage Google Cloud Vision and AWS Rekognition to tag your images automatically via API.

imagekit.upload_file(
    file= "<url|base_64|binary>", # required
    file_name= "my_file_name.jpg", # required
    options= {
        "folder" : "/example-folder/",
        "tags": ["a-manual-tag"],
        "response_fields": ["is_private_file", "tags"],
        "extensions": [{
            "name": "aws-auto-tagging",
            "minConfidence": 80,
            "maxTags": 10
        },{
            "name": "google-auto-tagging",
            "minConfidence": 70,
            "maxTags": 10       
        }]
    }
)

The response to the above upload API can look like

// Response body for an update/upload API call
{
    /*
    ...rest of the update/upload response fields
    */
    "AITags": [
        {
            "name": "Shirt",
            "confidence": 90.12,
            "source": "google-auto-tagging"
        },
        /* ... more googleVision tags ... */
    ],
    "extensionStatus": {
        "google-auto-tagging": "success",
        "aws-auto-tagging": "pending"
    }
}

Using the search API described in the previous point, you can leverage these AI-powered tags to search for your images hosted with ImageKit.

You can also remove an image's background at the time of image upload with ImageKit's integration with the industry-leading remove.bg API.

See how the entire background from the car's image below can be removed at the time of upload with ImageKit's image upload API.

Original image
Original image
Image with its background removed
Image with its background removed

These integrations help you simplify your image hosting and management workflow and make ImageKit's storage a lot more useful than traditional cloud storage like AWS S3 or Google Cloud Storage.

Embeddable in your CMS

The media library widget allows easy integration of ImageKit Media Library into your CMS or any other web application. You can access all the assets stored in your Media Library from your existing CMS or application.

Learn more from docs.

Embedding media library widget
Embedding media library widget

Backing up your images hosted with ImageKit

Images (or content in general) are a critical resource for any business. You spend a lot of time and effort to collate them, and they represent your brand. You would still want a copy of your images outside of ImageKit, for use on other platforms or just to keep them in alternative storage as well.

Unlike other image hosting platforms that lock you in, ImageKit allows you to backup the images hosted in the media library to an AWS S3 bucket of your choice.
Anything that you upload in ImageKit, it also copied to your storage, ensuring you always have a copy of it outside of ImageKit, while still getting the benefits of ImageKit's advanced asset management features while using the media library.

Backup bucket configuration for media library
Backup bucket configuration for media library

And the best part - Real-time image optimization and transformations

With several different devices and different kinds of content in the modern world, it is essential to have real-time image optimization and transformations to deliver the right experience across all devices.

Cloud storages like S3, Google Cloud Storage, etc., offer image storage solutions but do not come with image optimization or resizing capabilities. Therefore, if you are storing high-quality original images in these storages, you have to either build a solution of your own or use a third-party service to optimize these images for your requirement.

While ImageKit supports image optimization with all popular third-party cloud storage as well, if you use the Media Library to host your images, you get all these capabilities natively with the storage.

Any image hosted in ImageKit's Media Library gets you an image URL. If you use this URL on your website or app, ImageKit will automatically convert the image to the best possible format and compress it in real-time.

For example, the following image is automatically delivered in WebP format on supported devices and compressed.

https://ik.imagekit.io/ikmedia/default-image.jpg

You can also resize an image to any size in real-time and control how it is cropped or how the aspect ratio is preserved. The image URL below has the parameter tr=w-300,h-200 at the end that will get us a 300 x 200px image in real-time.

https://ik.imagekit.io/ikmedia/default-image.jpg?tr=w-300,h-200

ImageKit supports over 40 different real-time image transformations. We could do something more complex like converting this image into a banner with a watermark and dynamic text written on the image in real-time, as shown in the example below. Check out the image URL here.

Once the transformation is done in real-time, ImageKit uses AWS CloudFront CDN, which has over 220 server nodes globally, to deliver the image to your users for a faster load time.

Summing it up

The image storage API provided by ImageKit gives you access to a world-class, reliable image hosting service. You can use the storage APIs to upload and manage images and programmatically integrate them with your existing workflows.

With image tagging, AI-powered extensions, advanced search functionality, and a backup to S3 feature, ImageKit's image storage solution is much more powerful than any other standard cloud storage while providing the same level of reliability and uptime.

And with the built-in real-time optimizations and transformations, you won't have to look at any other tool to deliver perfect visual experiences to your users.

So, what are you waiting for? Try out the image storage API by signing up for the Forever Free plan, which provides 5GB of image storage.