---
title: "Score a design for printability"
method: POST
path: "/api/quality/score"
tags: ["Design Pipeline"]
---

# Score a design for printability

`POST /api/quality/score`

## Request

- Base URL: `https://api.crayonz.ai`
- URL: `https://api.crayonz.ai/api/quality/score`
- Auth: API key in header `X-API-Key`

Scores a design 0–100 for printability, edge cleanliness and colour vibrancy against what it was meant to be, and checks that required text is present. Use it to gate designs before you order.

## Request body

- object
  - `image_url` string, required: Public https URL of the design (file_url from /api/design/custom)
  - `design_brief` string, required: What the design was meant to be, in a sentence
  - `check_text` string: Exact text that must appear in the design
  - `brand_colors` string[]: Hex colours the design should use

## Response `200`

Success

- object
  - `status` string: "scored" or "error"
  - `recommendation` string: "approve" (overall_quality ≥7), "review" (5–7) or "reject" (<5)
  - `scores` object: 1–10 per criterion: composition_balance, print_readiness, design_originality, color_harmony, brief_adherence, overall_quality (plus text_accuracy / brand_color_alignment when check_text / brand_colors were sent)
  - `issues` string[]: Short strings describing what would print badly
  - `strengths` string[]: Short strings describing what works
  - `scored_at` string: ISO 8601 timestamp

## Other responses

- `401`: Unauthorized — invalid or missing API key
- `402`: Insufficient credits
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crayonz/apis/crayonz-api.md) · [All operations](https://skmtc.dev/crayonz/apis/crayonz-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crayonz/apis/crayonz-api/revisions/1114c84167b2?raw)
