Automating Media Asset Creation with Cloudinary’s GenAI Transformations

I’ve been happily using Cloudinary on my blog for a few years now, but it’s been quite some time since I’ve blogged about them. For folks who don’t know, CLoudinary provides media APIs (image, video) that work via URLs. So for example, I can craft a Cloudinary URL that transforms a picture to resize it to a particular size. Or add text. Or compress it. Pretty much anything you can imagine doing with an image or a video, and probably a lot of things you can’t think of, are all possible, and literally enabled by crafting a particular URL. It’s shockingly powerful and easy at the same time. More recently, they announced a set of AI capabilities, including – Generative... more →
Posted in: JavaScript

Generative AI Images with Gemini and Imagen – an Introduction

I’ve been waiting for this to launch for a few days now, and while technically this isn’t quite yet available in Gemini, only Vertex, it should be testable in Gemini in the very short term. You can now use Google’s APIs to generate really high quality images via their Imagen 3 technology. I’ve got a few blog posts planned that will demonstrate these features (and from what I’ve been told, even more powerful stuff is coming), but I thought I’d start off today with a simple short example. To begin, and remember this may not available just yet, take a look at the docs, Imagen 3 in the Gemini API. First, let’s consider the sample code, that I’m going... more →
Posted in: JavaScript

Using Generative AI to Help in Customer Service

Ok, before I begin, let me be absolutely clear. I do not think AI can replace customer support. I do think it can supplement and help customer support however, and I’d like to share an example of what this could look like. Imagine your service has a customer service form or email address. Typically, you type in your question, send it off, and wait. But what if you could provide an AI generated answer immediately while the person waits? At worse it doesn’t help. At best, it could be exactly what they need and the request could be terminated saving everyone time. Let’s consider an example of this. Setting up the AI/RAG System Let’s start with the most complex part, the AI/RAG... more →
Posted in: JavaScript

Testing Cloudinary Image Enhancements

Last week I took a look at Cloudinary GenAI transformations to demonstrate quickly creating different versions of media, including multiple sizes and text copy. While taking a look at other parts of the Cloudinary docs I discovered that they had not one, but four different ways to enhance images. These include: Generative restore Upscaling (reminds me of CSI) Enhance Improve Looking at this list, it may be difficult to differentiate one from the other, luckily they provide a nice tabular list with specifics and use cases. Today I want to shine a light on two of them – enhance and improve. From the docs, enhance is described as: "Enhances the overall appeal of images without altering... more →
Posted in: JavaScript

Links For You (1/25/25)

Greetings, programs. I’m writing this from the deep, deep south where my kids were all off school this week because of… snow. I kid you not. On Tuesday we got around ten inches of snow, more than the area’s ever seen in recorded history I believe. I grew up in Saint Louis so I’ve seen snow before, but in the nearly twenty-five years I’ve been here there’s never been anything like it. The snow is pretty much gone already (I think the high today will be near 70), but I’m so happy the kids got a chance to play in the snow, just like I did, many many years ago. JavaScript Import Maps This is a pretty cool article. Victorio Lo demonstrates how to implement... more →
Posted in: JavaScript

Let’s Build a Web App for Pinecone

Yesterday I blogged about Pinecone’s excellent RAG as a service system for quickly building generative AI systems: "Checkout Pinecone for Serverless RAG". It was so easy, I decided to take a look into what it would take to build a "real" application around their service. With that in mind, I whipped up a quick Flask application to demo just that. I’m still very new to Flask, so take this with a grain of salt, and design isn’t my strong point, but who cares, let’s dig in! First off, a quick reminder of what I demonstrated yesterday. I used Pinecone’s Python SDK to: Create an "Assistant", which you can think of as a collection of documents. I... more →
Posted in: JavaScript

Turn Your Weather into Poetry with GenAI

I was struggling to get some real, productive work done (I just got back from a trip in Europe) and I thought I’d tackle something that’s been in my queue for a little while now. This is, yet again, one of my "bad ideas" that you should probably not ever use in production, but it was fun, it made me happy, and you get to see the kind of silliness I do when I’m trying to distract myself. The idea was simple – given a forecast, how well could generative AI transform it into something more fun, like poetry? As I usually do, I opened up Google’s AI Studio and tried it there first. I began with a system instruction: Given a forecast, rewrite it in poetry. Return... more →
Posted in: JavaScript

Next CodeBreak – Let’s AI!

Hey folks! One of the things I promised to do better with the Code Break show was scheduling. With that being said, I’m here to announce the next event and I’ve got about 4 already on the calendar after that. Hopefully this year I can get a bit more consistent with schedule. That being said, we’ll see. Life is crazy at times. 😉 Ok, with that out of the way, my next session is Tuesday, January 21, at 12PM CST. I’ll be talking about AI, specifically Generative AI, with a focus on Google Gemini, but also client-side stuff as well (with Chrome’s built-in support and Transformers.js). I imagine this topic will cover two or more sessions. We’ll see how much I... more →
Posted in: JavaScript
1 13 14 15 16 17 104