جارٍ التحميل...
جارٍ التحميل...
جارٍ التحميل...
ابدأ استخدام OpenOCR خلال 5 دقائق.
سجّل للحصول على حساب مجاني على open-ocr.com/signup. تتضمن الحسابات الجديدة رصيدًا مجانيًا للبدء. ثم أنشئ مفتاح API من لوحة التحكم الخاص بك.
يتطلب إنشاء الحساب ومفتاح API تدخلًا بشريًا (CAPTCHA). وكلاء الذكاء الاصطناعي: اطلبوا من المستخدم مفتاحًا يبدأ بـ sk-ocr-.
mistral-mistral-ocr-4-1. هذا هو المحرك الافتراضي الموصى به، ويقرأ ملفات PDF متعددة الصفحات بشكل أصلي.google-gemini-3.1-flash-lite.أرسل طلب POST إلى نقطة نهاية OCR مع مفتاح API الخاص بك ورابط الصورة. يتطلب كل طلب ترويسة Idempotency-Key لمنع المعالجة المكررة:
curl -X POST https://api.open-ocr.com/v1/ocr \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"engine": "mistral-mistral-ocr-4-1",
"input": {
"type": "url",
"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png"
}
}'{
"request_id": "req_abc123",
"status": "succeeded",
"engine": "mistral-mistral-ocr-4-1",
"extracted_text": "INVOICE #12345\nDate: January 15, 2024\n...",
"extracted_text_preview": "INVOICE #12345...",
"cost_debited": 0.005,
"remaining_balance": 0.995,
"provider_latency_ms": 280
}تعتمد تكلفة الصفحة على المحرك الذي تختاره. راجع صفحة الأسعار للاطلاع على الأسعار الحالية. يعرض الحقل remaining_balance رصيدك المحدَّث.
يمكنك أيضًا إرسال الصور كبيانات مشفّرة بصيغة base64 — وهذا مفيد عندما تكون الملفات موجودة في الذاكرة:
# Encode a local file and send it
BASE64=$(base64 -w0 receipt.png)
curl -X POST https://api.open-ocr.com/v1/ocr \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"engine": "mistral-mistral-ocr-4-1",
"input": {
"type": "base64",
"data_base64": "'$BASE64'",
"mime_type": "image/png"
}
}'OpenOCR هو واجهة REST + JSON بسيطة — لا حاجة لتثبيت أي SDK. استخدم أي عميل HTTP لديك بالفعل.
import uuid
import requests
resp = requests.post(
"https://api.open-ocr.com/v1/ocr",
headers={
"Authorization": "Bearer sk-ocr-your-api-key",
"Content-Type": "application/json",
"Idempotency-Key": str(uuid.uuid4()), # new UUID per logical request
},
json={
"engine": "mistral-mistral-ocr-4-1",
"input": {"type": "url", "url": "https://example.com/receipt.png"},
},
)
resp.raise_for_status() # an error envelope has no "status" field
result = resp.json()
if result["status"] != "succeeded":
raise RuntimeError(f"OCR ended as {result['status']}: {result.get('provider_error')}")
print(result["extracted_text"])const resp = await fetch("https://api.open-ocr.com/v1/ocr", {
method: "POST",
headers: {
Authorization: "Bearer sk-ocr-your-api-key",
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(), // new UUID per logical request
},
body: JSON.stringify({
engine: "mistral-mistral-ocr-4-1",
input: { type: "url", url: "https://example.com/receipt.png" },
}),
});
const result = await resp.json();
if (result.status !== "succeeded") throw new Error("OCR ended as " + (result.status ?? result.error?.code)); // error envelopes have no status
console.log(result.extracted_text);للحصول على سجل استخدام بأسلوب لوحة التحكم (مع ترقيم الصفحات وفلاتر التاريخ)، استخدم GET /api/usage. استخدم المصادقة عبر ترويسة Authorization. تمرير api_key كمعامل استعلام مدعوم فقط كخيار احتياطي مهجور.
# Preferred — the API key alone identifies the caller
curl "https://open-ocr.com/api/usage?page=1&per_page=50" -H "Authorization: Bearer sk-ocr-your-api-key"
# Deprecated fallback (migration only; avoid in new clients)
# curl "https://open-ocr.com/api/usage?api_key=sk-ocr-your-api-key"ملاحظة ترحيل: انقل العملاء الحاليين من المصادقة عبر معامل الاستعلام إلى المصادقة عبر الترويسة لتجنب تسرّب مفاتيح API في الروابط والسجلات ومُحيلي التحليلات وسجل المتصفح.
يقدّم OpenOCR محركات OCR متعددة، كل منها مُحسَّن لحالات استخدام مختلفة. راجع كتالوج المحركات أو اقرأ أداة المقارنة للعثور على الأنسب لك.
# List available engines
curl https://api.open-ocr.com/v1/engines \
-H "Authorization: Bearer YOUR_API_KEY"
# Quick guide:
# mistral-mistral-ocr-4-1 — Recommended default: general documents, scans, tables
# google-gemini-3.1-flash-lite — Cheapest acceptable quality
# local-tesseract — OpenOCR-hosted, clean printed text
# local-easyocr — OpenOCR-hosted, multi-language
# local-doctr — OpenOCR-hosted, complex layouts
# openocr-ocrmypdf — OpenOCR-hosted, scanned PDFs with auto-deskew
# openocr-rapidocr — OpenOCR-hosted, lightweightتتضمن استجابات API ترويسات خاصة بحدود المعدل:
X-RateLimit-Limit: 60 # requests per minute
X-RateLimit-Remaining: 59 # requests left in window
X-RateLimit-Reset: 60 # seconds until window resetsالحد الافتراضي هو 60 طلبًا في الدقيقة لكل مفتاح API. إذا تجاوزت الحد، ستتلقى استجابة 429.