دليل المستخدم مرجع الواجهة البرمجية (API)

نسخ الكلام إلى نص (STT)

قم بتحميل ملفات صوتية مسجلة مسبقاً للحصول على نسخ نصي دقيق مع طوابع زمنية بشكل غير متزامن.

نظراً لأن الملفات الصوتية الكبيرة قد تستغرق عدة دقائق لمعالجتها، تستخدم واجهة برمجة التطبيقات هذه بنية متينة تعتمد على ’الإرسال والاستعلام’. تقوم أولاً بإرسال الملف لاستلام رقم الطلب (job_id)، ثم تقوم بالاستعلام عن حالة الطلب حتى يكتمل النسخ.

1. إرسال طلب معالجة صوت

POST /api/v1/stt/submit/
Parameter إجراء مطلوب النوع الوصف
audio مطلوب ملف ملف الصوت المراد تحويله إلى نص. يدعم mp3، wav، m4a، إلخ. الحد الأقصى 50 ميجابايت.
language اختياري نص (string) القيمة الافتراضية هي ar-JO.
output_format اختياري نص (string) يقبل json أو srt. القيمة الافتراضية هي json.

2. التحقق من حالة الطلب

GET /api/v1/stt/status/{job_id}/

مثال للتكامل البرمجي (بايثون)

import requests
import time

API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# 1. إرسال ملف الصوت
submit_url = "https://moknah.io/api/v1/stt/submit/"
files = {"audio": ("audio.mp3", open("long_audio.mp3", "rb"), "audio/mpeg")}
data = {"language": "ar-JO", "output_format": "json"}

print("جاري إرسال الملف الصوتي...")
response = requests.post(submit_url, headers=HEADERS, files=files, data=data)
job_id = response.json().get("job_id")
print(f"تم وضع الطلب في قائمة الانتظار! المعرف: {job_id}")

# 2. الاستعلام عن النتيجة
status_url = f"https://moknah.io/api/v1/stt/status/{job_id}/"

while True:
    res = requests.get(status_url, headers=HEADERS)
    result = res.json()

    if result.get("status") in ["queued", "processing"]:
        print("جاري المعالجة... التحقق مرة أخرى خلال 5 ثوانٍ.")
        time.sleep(5)
    elif result.get("status") == "completed":
        print("\nTranscription Finished!")
        print(result["result"]["subtitles"])
        break
    else:
        print("\nJob Failed:", result)
        break
دعم واجهة برمجة التطبيقات (API)

للأسئلة أو المشكلات المتعلقة بواجهة برمجة التطبيقات، اتصل بنا على api@moknah.io.