# اربط speech to text api بملفات الصوت والفيديو في تطبيقك

> ارفع صوتا أو فيديو عبر speech to text api؛ نص بطوابع زمنية وتمييز اختياري للمتحدثين، 95 MB بطلب واحد أو 2 GB على أجزاء، بوحدة رصيد للدقيقة.

Canonical: https://transcript1.com/ar/features/speech-to-text-api
Language: ar
Last updated: 2026-10-19

استخدم speech to text api لتحويل ملفات الصوت والفيديو إلى نص مع الطوابع الزمنية ولغة كل مقطع، وتمييز المتحدثين عند طلبه. أرسل حتى 95 MB بطلب واحد، أو ارفع حتى 2 GB على أجزاء يمكنك متابعة رفعها إذا انقطع الاتصال.

- حتى 95 MB بطلب واحد
- حتى 2 GB على أجزاء مع إمكانية متابعة الرفع
- حذف ملف التسجيل بعد 24 ساعة من انتهاء التفريغ

## حدد طريقة الرفع بحسب حجم الملف

### ارفع التسجيل بصيغته الحالية

نقبل mp3 وwav وm4a وflac وogg وopus وmp4 وmov وwebm وmkv. يجب أن يحتوي الملف على مسار صوتي.

### طلب واحد للملفات الصغيرة

أرسل الملف عبر multipart/form-data إلى POST /v1/transcriptions. يصل حد هذه الطريقة إلى 95 MB.

### ارفع الملف الكبير على أجزاء

احجز عملية رفع، ثم أرسل الأجزاء وأكد اكتمالها. حجم الجزء نحو 8 MiB، والحد الإجمالي 2 GB. إذا انقطع الرفع، تابع من الأجزاء الناقصة.

### تحقق من المدة أيضا

يقبل التفريغ بالذكاء الاصطناعي تسجيلا حتى 5 ساعات. إذا تجاوز المدة يظهر media_too_long، ولا نخصم رصيدا.

### الملف مؤقت، والنص يبقى

نحذف التسجيل المرفوع بعد 24 ساعة من وصول التفريغ إلى حالة نهائية. يظل النص المفرغ محفوظا إلى أن تحذفه.

## أرسل محتوى الملف في طلب multipart

ضع الملف في الحقل file. ويمكنك إضافة language وdiarize وsource وwebhook_url كحقول في النموذج. يشرح [دليل الرفع بطلب واحد](https://transcript1.com/ar/docs/uploads#one-shot-upload) البنية كاملة، ويمكنك استخدام [webhook](https://transcript1.com/ar/features/webhook-tafrigh-sawti) لمعرفة متى ينتهي التفريغ.

هذه أبسط طريقة إذا كان التسجيل الصغير موجودا على خادمك. أرسل بايتات الملف نفسها، لا مساره المحلي داخل JSON. ودع مكتبة HTTP تضبط multipart boundary. الملف الفارغ أو الامتداد غير المدعوم يحتاج إلى تصحيح، لا إلى تكرار الطلب.

اختر طريقة الرفع بحسب حجم الملف، ثم افحص مدته على حدة. قد يقل حجم تسجيل مضغوط عن 95 MB وتتجاوز مدته 5 ساعات. وقد يكون الفيديو قصيرا لكن حجمه أكبر من حد الطلب الواحد.

### cURL

```
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -F file=@interview.m4a \
  -F language=auto
```

## احجز الرفع واحتفظ بخطة الأجزاء

أرسل اسم الملف وحجمه لحجز عملية الرفع. ستحصل على خطة بالأجزاء وX-Upload-Token خاص بهذه العملية. اتبع [خطوات الرفع على أجزاء](https://transcript1.com/ar/docs/uploads#chunked-upload) بالترتيب.

اعتمد الحدود التي ترجعها الخطة؛ لكل جزء فهرس وموضع بداية وحجم بالبايت. اقرأ هذا النطاق بالضبط، فقد يكون الجزء الأخير أصغر. استخدم X-Upload-Token لطلبات PUT الثنائية؛ صلاحيته ساعة واحدة ولهذا الرفع فقط، وليس بديلا عاما عن مفتاح API.

احتفظ بمفتاح Idempotency-Key ثابت للحجز الذي قد تعيده. إذا انتهت صلاحية الرمز، أعد الحجز بالمفتاح والإعدادات نفسها لتحصل على رمز جديد للعملية الموجودة. لا تفتح حجزا جديدا بعد كل انقطاع فتفقد تتبع ما أرسلته.

### حجز عملية رفع

```
curl -X POST "https://api.transcript1.com/v1/transcriptions" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -H "Idempotency-Key: interview-2026-10-13" \
  -H "Content-Type: application/json" \
  -d '{"upload":{"filename":"interview.m4a","size":48210334,"mime_type":"audio/mp4"}}'
```

## أرسل الناقص ثم أكد اكتمال الملف

أرسل كل جزء عبر PUT إلى رابطه مع رمز الرفع، ثم اطلب إكمال العملية. نتحقق من وصول جميع الأجزاء قبل إدراج التفريغ في قائمة الانتظار. تجد مسارات التقدم والإكمال في [مرجع الرفع](https://transcript1.com/ar/docs/api-reference#uploads).

عند متابعة رفع انقطع، اقرأ GET /v1/transcriptions/:id/upload وقارن received_chunks بالخطة الأصلية. أرسل الأجزاء الناقصة فقط. إعادة إرسال جزء تستبدل محتواه، ويجب أن يبقى حجمه مطابقا للخطة. قد يعني 401 أن الرمز انتهت صلاحيته، لا أن ملف الصوت تالف.

إذا ظهر 409 upload_incomplete، أصلح الأجزاء التي تحددها فهارس الخطأ. بعد نجاح الإكمال تابع حالة التفريغ أو انتظر webhook. اجعل تقدم الرفع وحالة التفريغ مرحلتين منفصلتين في واجهتك.

### إرسال جزء ثم إكمال الرفع

```
curl -X PUT "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/chunks/0" \
  -H "X-Upload-Token: t1u_..." \
  -H "Content-Type: application/octet-stream" \
  --data-binary @chunk-0.bin

curl -X POST "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/complete" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"
```

## اكتمال النقل لا يعني اكتمال التفريغ

تعني awaiting_upload أن الحجز ينتظر الملف، لا أن التفريغ يعمل في الخلفية. اعرض المراحل كما تحدث؛ نقل البيانات، ثم التحقق من الرفع، ثم معالجة التسجيل. إذا انقطع الاتصال بعد طلب الإكمال، اقرأ حالة المهمة قبل أن تفترض حاجتك إلى إكمالها مرة أخرى.

يمكن للفريق الاحتفاظ بما يصل إلى 20 حجز رفع مفتوحا. نلغي الحجز غير المكتمل بعد 24 ساعة ونحذف أجزاءه. وبعد وصول المعالجة إلى حالة نهائية نحذف ملف التسجيل بعد 24 ساعة أخرى. النص يبقى حتى تحذفه؛ احتفظ بالأصل لديك إذا كان تطبيقك يتيح تشغيل الصوت لاحقا.

وصول الملف ليس نهاية العمل على النص. يوضح [دليل التسجيلات الصوتية](https://transcript1.com/ar/features/tahwil-alsawt-ila-nas) كيف تجهز التسجيل وتراجع الكلام، ويشرح [دليل المقابلات](https://transcript1.com/ar/use-cases/tafrigh-muqabala) ربط المتحدثين بالمشاركين والحفاظ على مصدر الاقتباسات.

## الأسئلة الشائعة

### ما صيغ الملفات المقبولة؟

mp3 وwav وm4a وflac وogg وopus وmp4 وmov وwebm وmkv، بشرط وجود مسار صوتي. أي امتداد آخر يعيد 422 unsupported_media.

### ما أكبر ملف يمكنني رفعه؟

حتى 95 MB بطلب واحد، أو حتى 2 GB على أجزاء. قد تضع باقتك حدا أقل. تجاوز الحد يعيد 413 media_too_large.

### متى تحذفون التسجيل؟

بعد 24 ساعة من وصول التفريغ إلى حالة نهائية. وإذا لم تكمل الرفع خلال 24 ساعة نلغي الحجز ونحذف الأجزاء. أما النص المفرغ فيبقى حتى تحذفه.

### كيف أميز المتحدثين في الملف؟

أرسل diarize=true لتحصل على تسميات Speaker 1 وSpeaker 2. نعالج الملفات المرفوعة دائما بالتفريغ الصوتي بالذكاء الاصطناعي.

## اقرأ أيضا

- [تمييز المتحدثين](https://transcript1.com/ar/features/tamyiz-almutahaddithin-fi-altafrigh)
- [تحويل الصوت إلى نص](https://transcript1.com/ar/features/tahwil-alsawt-ila-nas)
- [رفع الملفات (التوثيق)](https://transcript1.com/ar/docs/uploads)
- [تحويل الفيديو إلى نص](https://transcript1.com/ar/features/istikhraj-alnas-min-alfidyu)
