For AI Agents

Give your agent eyes, and an eraser

Your AI agent writes code, searches the web, and manages files. Give it image editing too. Peelaway's API is built for autonomous workflows: discoverable, predictable, and simple enough for any agent to orchestrate.

Drop your image here

or click to browse. PNG, JPG up to 20MB

Built for autonomous workflows

Three layers of agent discoverability, plus an API simple enough that any agent can use it without human guidance.

SKILL.md: agent skill definition

A structured skill file that tells coding agents exactly how to use Peelaway: when to invoke it, the 3-step workflow, request/response formats, and error handling. Drop it into Claude Code, Cline, or any agent that supports skill files.

llms.txt: LLM-readable service description

A plain-text service overview optimized for LLM consumption. Describes what Peelaway does, lists all endpoints, and links to the OpenAPI spec. Discoverable at /llms.txt.

OpenAPI spec: machine-readable API contract

Full OpenAPI 3.0 schema at /openapi.json. Any agent framework with HTTP tool support can auto-generate client code or use it for function calling.

Three-endpoint async API

Submit (POST /process), poll (GET /status), download (GET /result). Simple enough for any agent to orchestrate without complex state management.

Base64 in, base64 out

Images are sent and received as base64-encoded strings in JSON. No multipart uploads, no file handling, just JSON payloads that agents handle natively.

Pay only for what you run

No idle cost and no infrastructure to manage. Agents call Peelaway on demand and pay only for the images they process, a fraction of manual editing costs.

APIs that agents actually understand

Most image editing APIs are designed for human developers reading documentation pages. They have complex auth flows, multipart uploads, webhook callbacks, and SDK-specific patterns that agents struggle with.

Peelaway is agent-first. Base64 JSON in, base64 JSON out. Three endpoints, deterministic status codes. Plus /SKILL.md and /llms.txt that tell agents exactly what the service does and how to use it, before they make a single API call.

One-key auth

Authenticate with a single pk_ bearer key in the Authorization header. No OAuth handshake, no per-call signing.

Async by design

Submit → poll → download. Processing takes 30s to 2min. Agents can do other work while waiting, or poll in a loop.

Deterministic responses

JSON responses with consistent schemas. Status is always pending, processing, done, or error. No ambiguous outputs for agents to parse.

Error codes, not error prose

400 for bad input, 404 for unknown job, 202 for not-ready-yet. Agents can branch on status codes without parsing error messages.

Frequently asked questions

Works with every agent ecosystem

Any AI tool that can make HTTP requests can use Peelaway. Here's what's already compatible.

Coding Agents & AI IDEs

Claude CodeCursorWindsurfGitHub CopilotClineRoo CodeCodex CLIAiderContinueAmazon Q DeveloperAugment CodeCodyDevinJulesGrok BuildZedJetBrains AIOpenHandsKilo CodePearAI

Agent Frameworks

LangChainLangGraphCrewAIOpenAI Agents SDKClaude Agent SDKGoogle ADKSemantic KernelAutoGenSmolagentsLlamaIndexHaystackMetaGPTPydantic AIMastra

MCP-Compatible Clients

Claude DesktopClaude CodeCursorWindsurfVS CodeClineRoo CodeZedContinueCodyChatGPTCodex CLIAugment CodeKilo Code
See setup steps for each client →

LLM Providers & Platforms

OpenAI APIAnthropic APIGoogle GeminiMistralGroqTogether AIFireworks AIAmazon BedrockAzure OpenAIDeepseekReplicateCohereCerebras

Automation & Workflow

n8nZapierMakeRetoolComposioReplit AgentBolt.newLovablev0

Agent integration in 30 seconds

Discover, submit, poll, download. That's the whole workflow.

1. Discover the API
# LLM-readable overview
curl https://api.peelaway.io/llms.txt

# Structured skill definition
curl https://api.peelaway.io/SKILL.md

# Machine-readable spec
curl https://api.peelaway.io/openapi.json
2. Use the API
# Submit
POST /process
{"image": "<base64>"}
# → {"job_id": "abc123"}

# Poll
GET /status?job_id=abc123
# → {"status": "done"}

# Download
GET /result?job_id=abc123
# → {"image": "<base64>"}

Try it now, free

Upload an image and see the results. No signup required.

Upload an image