What a submission costs
More examples at the standard rate:
- B.Com Semester III booklet, 32 pages: 32 credits
- UPSC full-length test copy, 50 pages: 50 credits
- UPSC daily answer-writing, 3 pages: 3 credits
Credits are bought by your institute in the Vacademy admin dashboard. For the price of credits in your currency, see evalezy.com/pricing or contact hello@evalezy.com.
What is free
- Failed copies. A submission that ends with
status: "failed"is not charged, whatever the reason: unreadable scan, unsupported language, timeout, engine error. See the submission error codes. - Cancelled copies. Cancelling a queued or running evaluation (
POST /submissions/{id}/cancel) charges nothing. - Objective answers. In a typed submission, MCQ, true/false, numeric and one-word answers are scored against your answer key without the AI and cost nothing. Blank long answers are scored 0 and are not charged.
- Reads. Fetching results, lists, the checked copy, quotes and your balance is free.
What is charged again
- Re-evaluate.
POST /submissions/{id}/re-evaluategrades the whole copy again and is charged again at the same price (every page, or every non-blank long answer). Re-running a copy that failed is effectively its first charge, because the failed run was free.
Edge cases
- A handwritten copy of 41 to 80 pages is accepted and charged per page, and is flagged for human review (
review_reasons: ["pages_beyond_vision_limit"]). Copies of more than 80 pages are refused with422 too_many_pagesbefore anything is charged. - A copy that finishes as
partially_graded(the AI could not grade one or more questions) is charged its full quote. Mark those questions by hand withPATCH /submissions/{id}/questions/{question_id}; overrides are free.
How charging works
1
Accept: the quote is fixed and reserved
When you create a submission, the price is computed from the PDF’s page count (or the number of non-blank long answers) and returned in the response’s
quote block. The amount is reserved against your balance and shows in committed until grading ends.2
Graded: the quote is charged
When grading completes, exactly the quoted amount is charged. There is no overage.
credits_charged on the submission shows the amount.3
Failed or cancelled: nothing is charged
The reservation is released and
credits_charged stays null.Check your balance: GET /credits
Returns your balance, what is already reserved, what you can still spend, your institute’s API rate card and the last 30 days of API spend. Requires the evaluation:read scope.
Response
number
Your institute’s current AI credit balance.
number
Credit line agreed with Evalezy, if any. Lets accepted work continue when the balance is low.
0 when you have none.number
Credits reserved by your submissions that are queued or being graded right now.
number
What new submissions can use:
balance + credit_limit - committed. A submission is refused with 402 when its quote exceeds this.object
Your institute’s API prices.
object
Graded API copies in the last 30 days:
copies, pages and credits.Quote a job: POST /credits/quote
Prices a job before you submit it and tells you whether your available credits cover it. Send exactly one of pages, upload_ids or typed_answers. Requires evaluation:read. A quote reserves nothing and charges nothing.
integer
Total pages you expect to submit, from 1 to 10,000,000. Use this to estimate a whole exam, for example 300 copies of about 12 pages each =
3600.string[]
1 to 100 upload ids from
POST /uploads. Each file must already be uploaded; the quote uses the exact page count of every PDF.integer
Number of non-blank long answers you expect to submit, from 1 to 10,000,000.
- Pages or uploads
- Typed answers
Response
number
Credits the job would cost at your rate.
boolean
true when available covers total right now. Other submissions accepted in the meantime can change this.string
standard or contract.Quotes in other responses
You do not have to call the quote endpoint for every job. Prices also come back where you need them:POST /exams: the exam's rate
POST /exams: the exam's rate
Creating an exam returns a For a typed exam:
quote block with the price of the exam’s unit:{"unit": "answer", "credits_per_answer": 1, "rate_source": "standard"}. The block is best effort: if prices cannot be fetched within a couple of seconds it is left out, and the exam is still created.POST /exams/{id}/submissions: the exact price of this copy
POST /exams/{id}/submissions: the exact price of this copy
Every accepted submission returns its fixed price:For typed answers:
{"unit": "answer", "answers": 4, "credits": 4, "rate_source": "standard"}. A typed submission with nothing for the AI returns {"unit": "answer", "answers": 0, "credits": 0, "rate_source": null}.Not enough credits (402)
A submission or re-evaluate whose quote is more than youravailable credits is refused before anything is created or charged:
402 is never stored for idempotent replay, so a retry with the same Idempotency-Key runs again.
Contract prices
Institutes with volume commitments can agree their own price with Evalezy. Once it is set, it applies automatically to every quote and every submission, andrate_source reads contract instead of standard. Nothing changes in your integration. To discuss a contract price, write to hello@evalezy.com.