Skip to content

Real vectors, from your AI app or your code

Image generators hand back pictures. The Hungry JPEG hands back layered SVG files: one layer per color, sharp at any size, ready for a website, an app, a print file or a shirt. Connect us to Claude, ChatGPT or Cursor, or call the API from your own code.

Same prices as the site. Standard 20 credits (4 designs), Detailed 25 (4 designs), Premium 40 (1 design). Fetching your files is free.
A daily limit per app. Each app or key gets its own daily credit limit (100 to 2500, 250 by default), so a runaway agent can't drain your account.
Private by default. Vectors made this way stay private unless you ask to share them.

Connect an AI app (MCP)

Our MCP server address:

https://thehungryjpeg.com/api/mcp

You sign in to The Hungry JPEG, see what the app can do, and pick its daily limit. Disconnect it any time on your account page.

Claude

In Claude, open Settings › Connectors, choose Add custom connector and paste the address above. Then ask: “Make me a retro camping badge that says Wild Pines, as an SVG.”

ChatGPT

Turn on developer mode in ChatGPT's connector settings, create a connector with the address above, and choose OAuth when it asks how to sign in.

Claude Code

claude mcp add --transport http thehungryjpeg https://thehungryjpeg.com/api/mcp

Then run /mcp in Claude Code to sign in.

Cursor and other MCP apps

{
  "mcpServers": {
    "thehungryjpeg": { "url": "https://thehungryjpeg.com/api/mcp" }
  }
}

Apps that can't sign in with OAuth can send an API key instead, as an Authorization: Bearer header.

What the app can do

ToolWhat it doesCost
generate_vectorDraws new designs from a description (tier, shape, and optional purpose, style and palette) and waits up to about 45 seconds for them.20 / 25 / 40
get_generationProgress and results of a generation that's still drawing.Free
get_svgA vector's file: small SVGs inline, otherwise a download link that works for an hour. SVG or a 4,000 px PNG.Free
get_accountYour credits, and how much of the app's daily limit is left.Free

REST API

Make an API key on your account page and send it as a bearer token. Base address:

https://thehungryjpeg.com/api/v1
RequestWhat it does
POST /generationsStarts a generation. JSON body: prompt (required), tier (standard, detailed, premium), shape (square, portrait, landscape), purpose, style, palette, share. Answers at once with a generation_id.
GET /generations/{id}Status (queued, drawing, vectorizing, ready, failed) and, when ready, the designs with their vector_id, title, colors and preview.
GET /vectors/{id}?format=svgA vector's details and a download link valid for an hour (small SVGs inline). format=png for a 4,000 px PNG.
GET /vectors/{id}/file?format=svgThe file itself.
GET /accountCredits and today's limit.
GET /optionsTiers, prices and the purpose, style and palette choices. No key needed.

Example

curl -X POST https://thehungryjpeg.com/api/v1/generations \
  -H "Authorization: Bearer $THJ_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a retro camping badge that says Wild Pines", "tier": "detailed", "purpose": "logo"}'

# then, every 15 seconds or so, until "status" is "ready":
curl https://thehungryjpeg.com/api/v1/generations/GENERATION_ID -H "Authorization: Bearer $THJ_KEY"

# and save a design:
curl -o badge.svg "https://thehungryjpeg.com/api/v1/vectors/VECTOR_ID/file?format=svg" -H "Authorization: Bearer $THJ_KEY"

Errors

Errors come back as JSON with an error sentence and a code: credits (402, not enough credits), daily_cap (402, the key's daily limit), busy (429, two generations already running), content_blocked (422, brands, characters or content we don't allow), rate_limited (429). You're never charged for a refused or failed generation.

The same license applies as on the site: see the terms.