# Quietforge Crossword Generator

> Quietforge Crossword Generator is a paid API for AI agents from qf-api.quietforge-studio.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-11).

Generates a verified freeform crossword grid from user-supplied clue/answer pairs, returning layout JSON or print-ready PDFs

## Facts

- Endpoint: POST https://qf-api.quietforge-studio.workers.dev/v1/crossword?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/quietforge-crossword-generator-1cdb5f9a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lGEMNQsJTeioeeZ-zJPHo

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability quietforge-crossword-generator-1cdb5f9a -d '<json body>'
```

Example prompt: Generate a crossword puzzle called 'Dana's 40th Birthday Crossword' using these 10 clue/answer pairs: 'Sunday breakfast speciality' = PANCAKES, 'Capital of France' = PARIS, etc. — and give me back the verified JSON grid plus a print-ready letter-size elegant PDF.

## When to prefer this

Choose this endpoint when you need a verified, correctly interlocking crossword grid from your own custom clue/answer vocabulary — especially when you want both machine-readable JSON (for embedding in apps or games) and print-ready PDFs (for physical handouts or publishing) in a single pay-per-call request with no signup. Prefer this over generic puzzle libraries when grid correctness verification, reproducible seeds, and typeset PDF output in classic or elegant styles matter.

## Known failure modes

- Fewer than 8 or more than 30 entries returns a validation error
- Duplicate answer values in the entries array cause rejection
- Answers shorter than 3 or longer than 15 letters (after stripping spaces/hyphens/accents) are rejected
- Clues exceeding 110 characters are rejected
- The solver may fail to produce a valid crossing grid if entries are too thematically narrow or have few shared letters, returning an error or empty grid
- x402 payment failure (insufficient USDC balance or wrong network) blocks the request
- Invalid page size enum value returns a schema validation error

## How this service works

Pay-per-call document conversion, PDF text extraction, headless-browser rendering of a URL or HTML to PNG / JPEG / PDF, a health-probed directory of x402 pay-per-call endpoints, a sudoku generator (solver-verified, technique-graded puzzles as JSON or a print-ready A4/Letter book), a book typesetter (prose manuscript to a KDP-ready interior PDF + editable docx), a crossword generator (verified freeform grid from your clue/answer pairs as JSON or print-ready PDFs), a family tree chart layout engine (descendant / ancestor / hourglass charts from people+families JSON or a GEDCOM file, as verified layout JSON or print-ready poster and tiled PDFs), and a dataset quality audit tool (duplicates, missing values, type consistency, class imbalance, numeric outliers and PII-pattern counts for a CSV/JSON dataset, as JSON or a one-page PDF summary). Payment: x402 (USDC on Base). No signup, no API key.

## Output

Returns a JSON object containing the crossword grid (rows x cols character array), across and down clue lists with positions and lengths, a numbering map of cell coordinates to answer strings, the seed used, entry count, crossing count, verified flag, and elapsed time in milliseconds. If PDF sizes were requested, returns print-ready PDF bytes for each requested page size (8x10, A4, or Letter).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "seed": {
   "type": "integer",
   "description": "Optional; same seed + entries = same grid"
  },
  "sizes": {
   "type": "array",
   "items": {
    "enum": [
     "8x10",
     "a4",
     "letter"
    ],
    "type": "string"
   },
   "description": "PDF page sizes to build (PDF route only; default all three)"
  },
  "style": {
   "enum": [
    "classic",
    "elegant"
   ],
   "type": "string",
   "description": "classic = sans-serif, elegant = serif with a gold rule (PDF only)"
  },
  "title": {
   "type": "string",
   "maxLength": 40,
   "description": "Printed above the grid"
  },
  "entries": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "answer",
     "clue"
    ],
    "properties": {
     "clue": {
      "type": "string"
     },
     "answer": {
      "type": "string"
     }
    }
   },
   "maxItems": 30,
   "minItems": 8,
   "description": "8-30 clue/answer pairs; answers 3-15 letters (spaces, hyphens and accents are dropped in the grid, kept in the key); clues up to 110 characters; no duplicate answers"
  },
  "subtitle": {
   "type": "string",
   "maxLength": 90,
   "description": "Optional line under the title"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "cols": 16,
  "grid": [
   "........P.......",
   "..."
  ],
  "rows": 19,
  "seed": 40,
  "clues": {
   "down": [],
   "across": [
    {
     "n": 1,
     "len": 8,
     "clue": "Your Sunday breakfast speciality"
    }
   ]
  },
  "title": "Dana's 40th Birthday Crossword",
  "entries": 18,
  "verified": true,
  "crossings": 17,
  "numbering": [
   {
    "n": 1,
    "col": 8,
    "row": 0,
    "down": null,
    "across": "PANCAKES"
   }
  ],
  "elapsed_ms": 400
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/quietforge-crossword-generator-1cdb5f9a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from qf-api.quietforge-studio.workers.dev](https://www.zero.xyz/host/qf-api.quietforge-studio.workers.dev/llms.txt)
