# ASCII Art API
> Turn text into ASCII-art banners as an API, with 300+ classic FIGlet fonts (Standard, Slant, Big, Ghost, Doom, 3D-ASCII, Banner and many more). Send a word or short phrase and a font and get back ready-to-paste ASCII art, with control over output width and the letter-spacing layout. Browse and search the full font catalogue. Rendering runs entirely on the engine — no third-party service, so it is fast and always available. Ideal for CLI tools and terminal output, README and changelog headers, build banners, chat and Discord bots, retro UIs and any place a plain string deserves a little flourish.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/asciiart-api/..."
```

## Pricing
- **Free** (Free) — 15,000 calls/Mo, 2 req/s
- **Starter** ($3/Mo) — 220,000 calls/Mo, 8 req/s
- **Pro** ($9/Mo) — 900,000 calls/Mo, 20 req/s
- **Mega** ($28/Mo) — 3,700,000 calls/Mo, 50 req/s

## Endpoints

### ASCII Art

#### `GET /v1/fonts` — Every available font (filterable)

**Parameters:**
- `q` (query, optional, string) — Filter fonts by substring, e.g. 3d

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/asciiart-api/v1/fonts"
```

**Response:**
```json
{
    "data": {
        "count": 328,
        "fonts": [
            "1Row",
            "3-D",
            "3D Diagonal",
            "3D-ASCII",
            "3x5",
            "4Max",
            "5 Line Oblique",
            "AMC 3 Line",
            "AMC 3 Liv1",
            "AMC AAA01",
            "AMC Neko",
            "AMC Razor",
            "AMC Razor2",
            "AMC Slash",
            "AMC Slider",
            "AMC Thin",
            "AMC Tubes",
            "AMC Untitled",
            "ANSI Compact",
            "ANSI Regular",
            "ANSI Shadow",
            "ASCII 12",
            "ASCII 9",
            "ASCII New Roman",
            "Acrobatic",
            "Alligator",
            "Alligator2",
            "Alpha",
            "Alphabet",
            "Arrows",
            "Avatar",
            "B1FF",
            "Babyface Lame",
            "Babyface Leet",
            "Banner",
            "Banner3-D",
            "Banner3",
            "Banner4",
            "Barbwire",
            "Basic",
            "Bear",
            "Bell",
            "Benjamin",
            "Big ASCII 12",
            "Big ASCII 9",
            "Big Chief",
            "Big Money-ne",
            "Big Money-nw",
            "Big Money-se",
            "Big Money-sw",
            "Big Mono 12",
            "Big Mono 9",
            "Big",
            "Bigfig",
            "Binary",
            "Block",
            "Blocks",
            "Bloody",
            "BlurVision A
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/render` — Render text as ASCII art

**Parameters:**
- `text` (query, required, string) — Text to render (≤50 printable ASCII chars), e.g. Hello Example: `Hello`
- `font` (query, optional, string) — FIGlet font (see /v1/fonts), e.g. Slant, Big, Ghost (default Standard) Example: `Slant`
- `width` (query, optional, string) — Output width in columns (1-300, default 80) Example: `80`
- `layout` (query, optional, string) — default | full | fitted | controlled smushing | universal smushing

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/asciiart-api/v1/render?text=Hello&font=Slant&width=80"
```

**Response:**
```json
{
    "data": {
        "art": "    __  __     ____    \n   / / / /__  / / /___ \n  / /_/ / _ \\/ / / __ \\\n / __  /  __/ / / /_/ /\n/_/ /_/\\___/_/_/\\____/ \n                       ",
        "font": "Slant",
        "text": "Hello",
        "lines": 6,
        "width": 80,
        "layout": "default"
    },
    "meta": {
        "timestamp": "2026-06-01T00:04:28.068Z",
        "request_id": "b1bf42ac-f44a-4f84-8b10-ec6b98e5ecb3"
    },
    "status": "ok",
    "message": "ASCII art rendered",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Font count, layouts & usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/asciiart-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "ASCII-art text banners. /v1/render = render text as ASCII art (text=Hello, font=Standard|Slant|Big|Ghost|… up to 50 chars, optional width 1-300 and layout); /v1/fonts = every available font (q= to filter); /v1/meta. Rendering is fully local — fast and always available.",
        "source": "figlet (FIGlet engine, bundled fonts)",
        "layouts": [
            "default",
            "full",
            "fitted",
            "controlled smushing",
            "universal smushing"
        ],
        "endpoints": [
            "/v1/render",
            "/v1/fonts",
            "/v1/meta"
        ],
        "font_count": 328
    },
    "meta": {
        "timestamp": "2026-06-01T00:04:28.138Z",
        "request_id": "bc312d4e-34f7-4ec8-a7d7-377ab7d93e06"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/asciiart-api
OpenAPI spec: https://www.oanor.com/api/asciiart-api/openapi.json
