# AI Tattoo Generator API, CLI and MCP Server

> For the complete documentation index, see [llms.txt](https://inkstudioai.com/developers/llms.txt). Every page has a markdown version: add `.md` to its URL.

Create tattoo designs from your terminal, your scripts, or an AI agent. One npm package gives you a command-line tool and an MCP server for Claude and Cursor. Both use the REST API of your Ink Studio AI account, which you can also call directly.

Sign in from your terminal:

```sh
npx inkstudioai login
```

New accounts get one free design. You do not need a card to sign up. Create an account at https://inkstudioai.com/signup.

## Documentation

Guides and reference for the API, the CLI, and the MCP server. The guides are in English. Each page has a markdown version for AI agents.

- [API reference](https://inkstudioai.com/developers/api-reference.md): All endpoints of the Ink Studio AI REST API v1, with request fields and example responses.
- [Authentication](https://inkstudioai.com/developers/authentication.md): Get an API key with the CLI, the account page, or the device login, and send it as a Bearer token.
- [Generate tattoo designs](https://inkstudioai.com/developers/generations.md): Create a tattoo design from a text prompt with POST /generations, as JSON or as a stream of progress events.
- [Errors and limits](https://inkstudioai.com/developers/errors.md): Error codes, HTTP status codes, rate limits, and the daily generation limit of the API.
- [CLI](https://inkstudioai.com/developers/cli.md): Create tattoo designs from your terminal with the inkstudioai npm package.
- [MCP server](https://inkstudioai.com/developers/mcp.md): Let Claude, Cursor, and other AI agents create tattoo designs with the Ink Studio AI MCP server.

Machine-readable spec:

- [OpenAPI 3.1 spec](https://inkstudioai.com/api/v1/openapi.json)
- [OpenAPI 3.0.3 spec for API directories](https://inkstudioai.com/api/v1/openapi.json?profile=directory)

## What you can do

The CLI, the MCP server, and the API use the same account, designs, and credits as the website.

### Generate designs

Describe a tattoo and choose one of 13 styles, color or black ink, and a white or skin background. Each design is saved to your account.

### Search the gallery

Find ideas in the public gallery of tattoo designs by keyword, without an API key.

### Check your credits

See your plan, free designs, premium credits, and how many API designs you have left today.

### Buy from the terminal

Start a plan or a credit pack from the command line. The CLI opens a secure Stripe checkout page.

13 styles, by API id: `minimal`, `fine-line`, `realism`, `surreal`, `text`, `neo-traditional`, `black-and-gray`, `watercolor`, `traditional`, `geometric`, `tribal`, `japanese`, `3d`.

## A short session in the terminal

Sign in once with your browser. After that, every command uses the key that the CLI saved on your computer.

```text
$ npx inkstudioai login

  Sign in to Ink Studio AI

  Code   WDJB-MJHT
  Link   https://inkstudioai.com/cli/authorize?code=WDJB-MJHT

  Check that the page shows the same code, then approve.

✔ Signed in as ana@example.com
  Key saved to ~/.config/inkstudioai/config.json

  Account          ana@example.com (Ana)
  Plan             No active plan
  Free designs     1
  Next design      Free quality (uses your free design)

$ inkstudioai generate "a fox curled inside a crescent moon" --style fine-line
✔ Design ready in 21s
  File      a-fox-curled-inside-a-crescent-moon.webp
  Image     https://cdn.inkstudioai.com/free-tattoo-designs/6718f0c2.webp
  Style     fine-line, black ink, white background
  Quality   free (0 free designs left)
  Saved to  https://inkstudioai.com/account?view=tattoos

  Try it on your skin  https://inkstudioai.com/tools/try-tattoo?design=...
  Make a stencil       https://inkstudioai.com/tools/tattoo-to-stencil

$ inkstudioai buy 7-day-access
Opening Stripe checkout in your browser:
  https://checkout.stripe.com/c/pay/cs_live_a1B2c3...
After payment, run inkstudioai whoami to see your plan.
```

## Quick start

You need Node.js 18.17 or later. You do not need to install anything else.

1. **Sign in.** Run the login command. Your browser opens, you approve the request, and the CLI saves an API key.

   ```sh
   npx inkstudioai login
   ```

2. **Create a design.** Describe the tattoo and choose a style. The CLI shows the image link when the design is ready.

   ```sh
   npx inkstudioai generate "a fox curled inside a crescent moon" --style fine-line
   ```

3. **Connect your AI agent.** Add the MCP server to Claude Code, Claude Desktop, or Cursor, and ask your agent for tattoo ideas.

   ```sh
   npx -y inkstudioai mcp
   ```

## CLI command reference

Run a command with npx, or install the package globally with npm. Add --help to a command for all options, and --json for raw JSON output.

| Command | What it does |
| --- | --- |
| `inkstudioai login` | Sign in with your browser and save an API key on this computer. |
| `inkstudioai generate "<prompt>" --style fine-line` | Create a tattoo design from a prompt and save the image. Options: --style, --color, --skin, --out. |
| `inkstudioai styles` | List the style ids that you can use with --style. |
| `inkstudioai designs` | List the designs saved to your account, newest first. |
| `inkstudioai gallery <search>` | Search the public gallery of tattoo designs. |
| `inkstudioai whoami` | Show your account, plan, free designs, credits, and daily API use. |
| `inkstudioai pricing` | Show the plans and credit packs with their prices. |
| `inkstudioai buy 7-day-access` | Open a Stripe checkout page for a plan or a credit pack. |
| `inkstudioai open account` | Open a page of the website: account, pricing, or developers. |
| `inkstudioai mcp` | Start the MCP server for AI agents. It uses standard input and output. |
| `inkstudioai logout` | Remove the saved API key from this computer. |

The package installs two commands with the same function: inkstudioai and inkstudio.

## REST API

Call the API from any language. The responses are JSON, and errors have the same shape on every endpoint.

- Base URL: `https://inkstudioai.com/api/v1`
- Authentication: Send your API key in the Authorization header: `Authorization: Bearer isk_...`
- CORS: No. A web page cannot call the API from the browser. Use the API from a server, the CLI, or the MCP server.

### Endpoints

| Method | Path | |
| --- | --- | --- |
| POST | `/generations` | Create a design. Send Accept: text/event-stream to get progress events. |
| GET | `/styles` | List the styles. No key needed. |
| GET | `/me` | Get the account, plan, credits, and daily API use. |
| GET | `/designs` | List the saved designs of the account. |
| GET | `/gallery` | Search the public gallery. No key needed. |
| GET | `/pricing` | List the plans and credit packs. No key needed. |
| POST | `/checkout` | Get a Stripe checkout link for a plan or a credit pack. |

Limits: 60 requests per minute for each key, and 50 designs per account each UTC day. A failed generation is not charged.

- [OpenAPI spec](https://inkstudioai.com/api/v1/openapi.json)
- [Package on npm](https://www.npmjs.com/package/inkstudioai)

### Request

```bash
curl https://inkstudioai.com/api/v1/generations \
  -H "Authorization: Bearer $INKSTUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a fox curled inside a crescent moon",
    "style": "fine-line",
    "color": false,
    "background": "white"
  }'
```

### Response

```json
{
  "id": "6718f0c2a1b2c3d4e5f60718",
  "imageUrl": "https://cdn.inkstudioai.com/free-tattoo-designs/6718f0c2a1b2c3d4e5f60718.webp",
  "prompt": "a fox curled inside a crescent moon",
  "style": "fine-line",
  "color": false,
  "background": "white",
  "tier": "free",
  "freeGenerationsRemaining": 0,
  "createdAt": "2026-10-24T09:00:00.000Z"
}
```

## MCP server for AI agents

The Model Context Protocol lets an AI agent use Ink Studio AI as a tool. The server runs on your computer with npx and uses the key from the login command. No terminal? Ask your agent to sign you in: its login tool gives you a link and a code.

What your agent can do:

- Create tattoo designs from a description and show the image.
- Choose a style that fits the idea.
- Search the public gallery for references.
- Check your plan, credits, and daily limit.
- Give you a checkout link when you need more access.

### Claude Code

shell

```sh
claude mcp add inkstudioai -- npx -y inkstudioai mcp
```

### Claude Desktop

claude_desktop_config.json

```json
{
  "mcpServers": {
    "inkstudioai": {
      "command": "npx",
      "args": ["-y", "inkstudioai", "mcp"]
    }
  }
}
```

### Cursor

~/.cursor/mcp.json

```json
{
  "mcpServers": {
    "inkstudioai": {
      "command": "npx",
      "args": ["-y", "inkstudioai", "mcp"]
    }
  }
}
```

Sign in with the login command first. Or set your key in the env block of the config as `INKSTUDIO_API_KEY`.

## Pricing

The API uses your website plan. A plan gives unlimited designs on the website and up to 50 API designs per day.

### Free account

$0.00. One free design when you sign up. Gallery search and the style list are always free.

### Access plans

- 7-day access: $12.99. 10 premium credits included.
- 14-day access: $16.99. 20 premium credits included.
- 30-day access: $23.99. 30 premium credits included.

Unlimited designs on the website, up to 50 API designs per day.

### Credit packs

- 20 credits: $9.99
- 50 credits: $19.99
- 120 credits: $39.99

Premium credits for the image tools on the website. A credit pack needs an active plan.

[Compare all plans](https://inkstudioai.com/pricing). Buy from the terminal: `inkstudioai buy 7-day-access`

## Frequently asked questions

Clear answers to common questions about this tool and how to use your results.

### What is the Ink Studio AI CLI?

It is an npm package named inkstudioai. It creates tattoo designs from the terminal, runs as an MCP server for AI agents, and uses the same account as the Ink Studio AI website.

### Is the tattoo generator API free?

A new account gets one free design. After that, an access plan gives unlimited designs on the website and up to 50 API designs per day. The style list and the gallery search are free.

### How do I get an API key?

Run npx inkstudioai login and approve the request in your browser. The CLI saves the key for you. You can also create a key on your account page under API keys. The full key is shown only once.

### Which AI agents can use the MCP server?

Any MCP client that can start a local command. This includes Claude Code, Claude Desktop, Cursor, and Windsurf. The server starts with npx -y inkstudioai mcp.

### Where are the designs saved?

Each design is saved privately to the design history of your account. You can see it on the website and with the designs command. API designs are not added to the public gallery.

### What happens when a generation fails?

If the image provider fails or times out, you are not charged, and a free design is given back. A prompt that the content check blocks never uses a design.

### Can I pay from the terminal?

Yes. The buy command opens a Stripe checkout page in your browser, and the purchase is added to your account. A credit pack needs an active plan.

### Are there rate limits?

Each key can send 60 requests per minute. Each account can create 50 designs per UTC day with the API. When you reach a limit, the API answers 429 with a Retry-After header.

## Start with a free design

Create an account, sign in from your terminal, and generate your first tattoo design in less than a minute.
