یک تصویر بفرست — متن فارسی را به صورت JSON بگیر.
مدل OCR را انتخاب کن؛ کد زیر همان لحظه عوض میشود.
text پاسخ را بخوان — تمام.{
"text": "متن شناساییشده بهصورت یکجا",
"lines": ["خط اول", "خط دوم"],
"gen_ms": 1208
}bina-0.4-koochiktext، lines و gen_msbina-0.2-rizehtext، lines و gen_msmodel خطای 422 میدهد.| فیلد | الزام | توضیح |
|---|---|---|
file | الزامی (multipart) | یک تصویر: JPG، PNG، WebP یا GIF |
model (query) | اختیاری | پیشفرض bina-0.4-koochik؛ نام ناشناس → 422 |
| چی | چقدر |
|---|---|
| حجم تصویر | ۳ مگابایت — بیشتر → 413 |
| تعداد تصویر روزانهٔ هر کلید | ۲۰۰ — ریست با UTC، بعدش 429 + Retry-After |
| سرعت هر کلید | ۱۰ تصویر در دقیقه |
| تعداد تصویر در هر درخواست | فقط یک تصویر |
| کد | detail | معنی / راهحل |
|---|---|---|
| 401 | key_required | کلید نفرستادی — Bearer + کلید |
| 401 | bad_key / revoked_key | کلید نامعتبر یا باطل — کلید تازه بساز |
| 401 | bad_auth_scheme | قالب سربرگ درست نیست (باید Bearer <key> باشد) |
| 403 | key_owner_mismatch | این کلید به حساب دیگری تعلق دارد — با کلید حساب خودت ادامه بده (کلاینتهای بدون نشست مرورگر تحت تأثیر نیستند) |
| 413 | body_too_large | تصویر بیش از ۳ مگابایت — کوچک یا برش بده |
| 415 | (multipart لازم است) | بدنه باید multipart/form-data با فیلد file باشد |
| 422 | invalid_model / empty_body | نام مدل ناشناس یا بدنهٔ خالی |
| 429 | ocr_key_burst / ocr_key_daily | سقف سرعت یا سهمیهٔ روزانه — Retry-After را بخوان |
| 429 | almas_empty | موجودی الماس حساب صفر است، برای همین درخواست کافی نیست، یا کمتر از حداقل ۱۰٬۰۰۰ الماس است — OCR بر اساس طول متن خروجی قیمتگذاری میشود و پیش از اجرا معلوم نیست، پس حداقل موجودی لازم است. هدرها: X-Almas-Left = موجودی، X-Almas-Needed = مبلغ لازم، و در حالت حداقل X-Almas-Min = ۱۰٬۰۰۰؛ بدون Retry-After. خرید بسته این موجودی را شارژ نمیکند؛ شارژ حساب از /upgrade#شارژ-حساب (۱۰۰٬۰۰۰ تومان → ۱۰۰٬۰۰۰ الماس · ۱٬۰۰۰٬۰۰۰ تومان → ۱٬۰۰۰٬۰۰۰ الماس) |
| 502 | ocr_unreachable | موتور OCR موقتاً در دسترس نیست — بعداً تلاش کن |
| 503 | (freeze / شلوغ) | سرویس موقتاً متوقف است — Retry-After |
اگر فقط میخواهی امتحان کنی، POST /api/ocr-demo بدون کلید کار میکند — یک تصویر تا ۵۰۰ کیلوبایت، فقط یکبار برای هر بازدیدکننده، حداکثر ۳ بار در روز برای هر IP:
curl -X POST "https://farsihoosh.ir/api/ocr-demo?model=bina-0.4-koochik" \
-F "file=@page.jpg"خطاهای دمو: demo_used (سهمیهٔ رایگان تمام شد)، demo_burst، demo_daily، demo_too_large (بیش از ۵۰۰ کیلوبایت).