---
title: "Kraken.io Integration"
description: "Kraken.io is an image optimization API with lossy and lossless compression, resizing, and format conversion. Agents optimize images by URL or upload, generate responsive image sets, deliver output straight to your own cloud storage, and check remaining quota."
url: https://flowrunner.ai/integrations/kraken-io
date_modified: 2026-09-04T14:59:52-07:00
---

# Kraken.io

[Developer Tools](https://flowrunner.ai/integrations/category/developer-infrastructure)

Kraken.io is an image optimization API with lossy and lossless compression, resizing, and format conversion. Agents optimize images by URL or upload, generate responsive image sets, deliver output straight to your own cloud storage, and check remaining quota.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 4 actions · API key · available

[Kraken.io website](https://kraken.io/) · [Platform Documentation](https://kraken.io/) · Capability data verified 2026-08-28

1.  A scheduled sweep finds catalog images above the page-weight budget
2.  Get User Status reports the plan's remaining quota before the batch is sized
3.  Agent collects source URLs, current byte sizes, and the breakpoints each image needs
4.  Optimize Image URL runs a lossless pass and returns the saving per file
5.  Agent separates the files that met the budget losslessly from the ones that did not
6.  The shortfall list posts with the proposed lossy setting and the destination bucket
7.  The person who owns the asset library approves lossy compression and metadata handling for that list

## What This Integration Enables

Most connectors in this category create something. Kraken.io does the opposite: it takes an image that already exists and removes data from it. That is not a criticism, it is the product. Lossless compression removes bytes nobody sees, lossy compression removes bytes somebody might, metadata stripping removes copyright, color profile, and geotags, and format conversion can turn a transparent background black when there is nothing behind it. Every one of those is a judgment about how much quality a specific image can spare, and every one of them is permanent for the output file.

FlowRunner agents run that pass continuously rather than as a quarterly project. They check the remaining quota with Get User Status before committing to a batch, then optimize either images already on the web or bytes not yet published. A whole responsive set is built in one request rather than one call per breakpoint. And the result is delivered straight into your own S3, Google Cloud Storage, or Azure Blob Storage rather than round-tripping the file. That last capability is also the one that makes a [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gate worth building, because a delivery target is a place where originals live.

### Without FlowRunner

**Page weight is nobody's job**: Image size gets attention after a Lighthouse complaint, not before the images ship

**Optimization as a one-time project**: Somebody runs a bulk pass, the catalog turns over, and the problem grows back quietly

**Settings chosen once and forgotten**: Whatever compression the first batch used becomes the default for every batch after it, whether or not it suits the artwork

### With FlowRunner

**A standing pass over new assets**: Every image entering the catalog is measured and compressed on the way in, and quota is checked before a batch starts

**Responsive sets built by request, not by hand**: One call produces every breakpoint an image needs, sharing one set of settings

**The destructive setting is a decision**: Lossy compression and metadata stripping are approved for a named list, not applied as a global default

## Use Case Scenarios

### Every new product image enters the catalog already optimized

A product goes live in [Shopify](https://flowrunner.ai/integrations/shopify) and the agent picks up its image set. Get User Status confirms there is quota for the batch, then Generate Image Set produces the thumbnail, grid, and hero sizes in a single request rather than one call per breakpoint, with `fit` chosen so the aspect ratio survives. The optimized files land in the storefront's own bucket, and the agent writes the returned URLs back onto the product record. A digest of the run posts to the merchandising channel in [Slack](https://flowrunner.ai/integrations/slack). Nobody exported anything, and the images that shipped are the images that were measured.

### A weight budget the site actually keeps

On a schedule, the agent walks the pages a marketing team cares about, collects the images each one loads, and compares their sizes against a per-page budget. Anything over budget gets a lossless pass through Optimize Image URL first, because lossless is reversible in the sense that matters: the original is untouched and the output is a faithful copy. Files that are still over budget after lossless become a list rather than an action. That list, with the proposed lossy quality and what stripping metadata would remove, goes to the brand owner. The routine work of measuring, sorting, and compressing runs unattended. The part that discards picture data does not.

### User uploads compressed before they are stored

A customer submits a warranty claim with photos through a form, and the files arrive as bytes rather than as public URLs. Optimize Uploaded Image handles that case, with Auto Orient turned on so a phone photo does not come out sideways once its EXIF orientation is stripped. The compressed images attach to the claim record, and the intake agent moves on. Where the originals are legally relevant, the flow keeps them in [Dropbox](https://flowrunner.ai/integrations/dropbox-service) untouched and stores only the optimized copies for display.

## Human-in-Loop Highlight

The Lossy setting is off by default, and it should stay a deliberate choice, because turning it on discards image data that the output file will never get back. Preserve Metadata makes the same kind of trade in a quieter way: unless a field is explicitly listed, copyright, color profile, and geotags are destroyed. Both of those become genuinely irreversible when combined with the third capability on this connector, which is that Kraken.io will deliver the optimized result straight into your own S3, Google Cloud Storage, or Azure Blob Storage. A bulk job that writes back over its own source path replaces the only copies you have with lossy, metadata-free versions, and Kraken.io's sandbox mode cannot rehearse the outcome, because in sandbox the compression figures are randomized. So the agent runs the lossless pass unattended, and for the files that are still over budget it posts the specific request: "Fourteen product images are over the 200 KB hero budget after lossless compression. Lossy at quality 80 would bring them under. Nine of them carry an embedded color profile and three carry photographer copyright. Destination is the live `assets/products/` prefix, which is the same path the originals occupy. Approve, change the destination, or leave them as they are?" A person answers that question once. The agent does not answer it at all.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

4 actions

### Optimization

3

-   **Optimize Image URL** Optimizes an image Kraken.io fetches from a URL, with optional resizing, format conversion, and delivery into your own cloud storage. The operation for anything already reachable on the web.
-   **Optimize Uploaded Image** Optimizes an image by posting the bytes rather than a URL. The one to use for a build step, or a user upload that has not been published yet.
-   **Generate Image Set** Produces several sizes of one image in a single request, which is how a responsive set gets built without one call per breakpoint. Every output shares the same optimization settings, and each entry carries its own id so the results can be matched back to the sizes that asked for them.

### Account

1

-   **Get User Status** Reads the account's plan and its quota: total, used, and remaining. The connection test, and the check worth running before a bulk job, since exhausting the quota stops optimization rather than degrading it.

## Frequently Asked Questions

### What can FlowRunner do with Kraken.io?

FlowRunner agents can run Optimize Image URL, Optimize Uploaded Image, and Generate Image Set in Kraken.io, plus 1 more action.

### Does connecting Kraken.io to FlowRunner require OAuth?

No. Kraken.io connects to FlowRunner with an API key, no OAuth flow required.

### Can Kraken.io trigger a FlowRunner workflow automatically?

Kraken.io doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Kraken.io?** This integration exposes Kraken.io to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/kraken-io. Site index: https://flowrunner.ai/llms.txt
