---
title: "Grade Writing Images"
method: POST
path: "/api/v1/ai/{provider}/grade-writing-images"
tags: ["api", "api", "ai"]
---

# Grade Writing Images

`POST /api/v1/ai/{provider}/grade-writing-images`

## Request

- Base URL: `https://www.faroz.uz` (the document declares no server; this is the origin it was published from)
- URL: `https://www.faroz.uz/api/v1/ai/{provider}/grade-writing-images`
- Auth: HTTP bearer

Rasm(lar)dagi matnni OCR bilan o'qib, CEFR daraja bo'yicha baholaydi.

Muallif ismi topilsa qaytaradi. Vision qo'llovchi provayder kerak (Gemini).
`prompt` va `target_level` grammatika mashq sahifasidan keladi (ixtiyoriy).

## Path parameters

- `provider` 'claude' | 'gpt' | 'gemini' | 'deepseek', required: Qaysi AI provayderdan foydalanish. URL prefiksi sifatida ham ishlatiladi: /api/v1/ai/{provider}/...

## Response `200`

Successful Response

- GradeWritingImagesResponse: Rasm(lar)dan OCR + CEFR baholash javobi. [GradeWritingResponse] ustiga ikki qo'shimcha maydon: rasmdan aniqlangan muallif ismi (topilmasa null) va OCR bilan o'qilgan to'liq matn.
  - `estimated_level` 'A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2', required: CEFR til darajasi (A1–C2). AI mashq generatsiyasida o'quvchining darajasini belgilash uchun ishlatiladi.
  - `score` integer, required
  - `summary` string, required
  - `strengths` string[], required
  - `areas_to_improve` string[], required
  - `errors` WritingErrorItem[], required
    - `excerpt` string, required
    - `error_type` string, required
    - `suggestion` string, required
    - `explanation` string, nullable
  - `writer_name` string, nullable
  - `extracted_text` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/faroz/apis/edu-app-api.md) · [All operations](https://skmtc.dev/faroz/apis/edu-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faroz/apis/edu-app-api/revisions/414a551ba773?raw)
