AlexaDev Tuesday: Store Your Alexa Skill Images In S3

Publication Date: 8/7/17 – Many skill devs have turned their attention to writing skills optimized for Echo Show, which means storing and serving a lot of images. Fortunately, Amazon has a ready-made solution that doesn’t have to cost you a cent: store your Alexa skill images in S3, from Amazon AWS.


Fix Your DB Corruption


Here are the reasons I’m using S3 to store and serve images for my new skill. If your skill considerations are the same, S3 can work for you too.

1. Amazon requires that all resources called by skills originate from an always-accessible, secure online endpoint.
Even if you’re running your own https:// server, can you really guarantee near 100% uptime? Granted, Amazon isn’t going to immediately pull your skill from their site for a few downtime incidents, but those incidents can result in a negative user experience, which can result in negative reviews.

If you use Amazon’s own resources, you know there’s a small army of techs on the job 24/7/365 to keep those servers up and running, and in the event of a crash, get them back online promptly.


2. True database functionality isn’t needed if all you’re doing with your images is displaying them to the user in the Alexa app or on the Show or TV screen (when the Fire TV device is in use).
Nothing is being written, altered or deleted. S3’s “bucket” model of file storage delivers all the functionality that’s needed here.


3. Alexa skill devs can use S3 as their image repository for free.
In its Pricing details for S3, Amazon says:

As part of the AWS Free Usage Tier, you can get started with Amazon S3 for free. Upon sign-up, new AWS customers receive 5 GB of Amazon S3 storage in the Standard Storage class, 20,000 Get Requests, 2,000 Put Requests, and 15 GB of data transfer out each month for one year.

Okay, but how does that translate to actual usage? In my skill, there are 157 340×340 images, 157 192×280 images and two 1024×600 images, all in png format and all in 300dpi resolution. All of those images put together total up to less than .15 GB. 20k GET requests per month is probably plenty enough for my skill but if you’re concerned that your skill could blow right past that limit, just sign up for the AWS Promotional Credits for Alexa program. Per the program:

Now, developers with a published Alexa skill can apply to receive a $100 AWS promotional credit and can also receive an additional $100 per month in AWS promotional credits if they incur AWS usage charges for their skill – making it free for developers to build and host most Alexa skills. All you have to do is apply.


If you need a free, easy image hosting solution for your Show-optimized skill, AWS S3 is a great way to go.