واجهة برمجة تطبيقات التحويل الصوتي

حوّل أكثر من 27 نظام كتابة إلى اللاتينية فوراً – مثالي لروابط SEO والبحث الموحّد وخطوط البيانات.

ماذا يمكنك أن تفعل؟
توحيد البحث

فهرسة واستعلام المحتوى متعدد الخطوط ككتلة واحدة.

روابط SEO

أنشئ عناوين URL نظيفة متعددة اللغات فوراً.

خطوط البيانات

غذِّ الكتالوجات أو سير عمل NLP بنصوص متسقة.

جرب مباشرة
99.9 % وقت التشغيل
12.5ms الاستجابة
20 req/s
0.009 الأرصدة / الطلب

Transliterator API


POST https://api.yeb.to/v1/transliterator
المعامل النوع مطلوب الوصف
api_key string نعم Auth key
lang string اختياري ISO code of input script
text string نعم Input text (max. 255 chars)
type string اختياري plain | slug | snake | camel | capital | upper | lower
delimiter string اختياري Custom delimiter for slug/snake

أمثلة الطلبات

{
  "api_key":"YOUR_KEY",
  "lang":"bg",
  "text":"пример"
}
{
  "api_key":"YOUR_KEY",
  "lang":"ru",
  "text":"тест транслитерация",
  "type":"slug",
  "delimiter":"_"
}

تكاملات API

curl -X POST https://api.yeb.to/v1/transliterator \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_KEY","lang":"bg","text":"пример","type":"slug","delimiter":"-"}'
Route::post('/transliterate', function () {
    $data = Http::post('https://api.yeb.to/v1/transliterator', [
        'api_key'   => config('services.transliterator.key'),
        'lang'      => 'bg',
        'text'      => 'пример',
        'type'      => 'slug',
        'delimiter' => '-',
    ]);
    return $data->json();
});
$r = Http::post('https://api.yeb.to/v1/transliterator', [
    'api_key'=>'YOUR_KEY','lang'=>'bg','text'=>'пример',
    'type'=>'slug','delimiter'=>'-'
]);
echo $r->json();
fetch('https://api.yeb.to/v1/transliterator', {
  method:'POST',
  headers:{'Content-Type':'application/json'},
  body:JSON.stringify({api_key:'YOUR_KEY',lang:'bg',text:'пример',type:'slug',delimiter:'-'})
}).then(r=>r.json()).then(console.log);
import requests, json
payload = {"api_key":"YOUR_KEY","lang":"bg","text":"пример","type":"slug","delimiter":"-"}
r = requests.post('https://api.yeb.to/v1/transliterator', headers={'Content-Type':'application/json'},
                  data=json.dumps(payload))
print(r.json())

Response Example

{
  "result":"primer","original":"пример","lang":"bg",
  "type":"slug","delimiter":"-","response_code":200,"response_time_ms":37
}
{
  "error":"Invalid API key","code":401,
  "response_code":401,"response_time_ms":12
}

رموز الاستجابة

الرمزالوصف
200 Successتمت معالجة الطلب بنجاح.
400 Bad Requestفشل التحقق من المدخلات.
401 Unauthorizedمفتاح API مفقود أو خاطئ.
403 Forbiddenالمفتاح غير نشط أو غير مسموح.
429 Rate Limitطلبات كثيرة جدًا.
500 Server Errorفشل غير متوقع.

transliterate

transliterator 0.0090 credits

Parameters

API Key
query · string · required
Language
query · string
Text
query · string · required
Output type
query · string
Delimiter
query · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

واجهة برمجة تطبيقات التحويل الصوتي — Practical Guide

A hands-on guide to واجهة برمجة تطبيقات التحويل الصوتي: what it does, when to use each mode, the parameters that actually matter, and how to read responses for SEO slugs, filenames, app identifiers, and more.

#What Transliterator solves

Send a text in any supported script (e.g., Cyrillic, Greek) and get a clean Latin version and/or a specific formatting: slug, snake_case, camelCase, Capital Case, UPPER, or lower. Perfect for SEO URLs, file/ID normalization, search indexing, and consistent UI labels.

#Endpoint & when to use it

#POST https://api.yeb.to/v1/transliterator

  • Best for: Turning any input into a safe, predictable string for URLs, filenames, database keys, and user-facing titles.
  • How it works: We transliterate to Latin and then apply the chosen type transform (slug/snake/camel/etc.).
  • Idempotent: Same input parameters → same output; safe to cache.

#Quick start

# Plain transliteration (auto-detect language)
curl -X POST "https://api.yeb.to/v1/transliterator" \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_KEY", "text": "пример" }'
# SEO slug with custom delimiter
curl -X POST "https://api.yeb.to/v1/transliterator" \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_KEY", "lang": "ru", "text": "тест транслитерация", "type": "slug", "delimiter": "_" }'

#Parameters that actually matter

ParamRequiredWhat to pass in practiceWhy it matters
api_key Yes Send from server/edge. Don’t expose raw keys in client JS. Auth & rate limiting.
text Yes Up to 255 chars; emojis and unsupported symbols are stripped. Primary content to process.
lang No ISO code of input script (e.g., bg, ru, el). If omitted, we auto-detect. Improves accuracy for ambiguous inputs.
type No plain | slug | snake | camel | capital | upper | lower Choose the output format you need.
delimiter No Use with slug/snake to set the separator (default - for slug, _ for snake). Brand-consistent URLs and identifiers.

#Choosing the right type

TypeUse it forNotes
plainReadable Latin outputNo case/spacing changes; punctuation trimmed.
slugSEO URLsLowercase, spaces → delimiter, trims duplicates: пример тестprimer-test.
snakeDatabase keys, filenamesLowercase + _ (or custom delimiter).
camelCode identifiersprimerTest style.
capitalUI labelsPrimer Test title case.
upperSorting / normalizationAll caps.
lowerCase-insensitive searchAll lowercase.

#Reading & acting on responses

{
  "result": "primer",
  "original": "пример",
  "lang": "bg",
  "type": "slug",
  "delimiter": "-",
  "response_code": 200,
  "response_time_ms": 37
}
  • result — the processed string; use this directly in URLs/keys/UI.
  • original — what you sent (after trimming); handy for logs and idempotency checks.
  • lang — detected or provided language; helps debug unexpected mappings.
  • type, delimiter — echo of your chosen transform; store alongside to rebuild exactly.

#Typical errors & how to fix

{ "error": "Missing \"text\" parameter", "code": 422 }
{ "error": "Unsupported type: foo", "code": 422 }
  • 422 missing/invalid: Provide text; ensure type ∈ allowed list.
  • 401 invalid key: Rotate your key; send from server/edge only.
  • 413 too long: Keep text ≤ 255 chars; pre-trim user input.

#Troubleshooting & field notes

  1. Unexpected characters: Emojis/symbols are removed; if you need them, store the original separately.
  2. Spaces & dashes: For slug/snake we collapse repeated separators (---).
  3. Custom brand separators: Use delimiter to enforce _, ., or even no delimiter.
  4. Language ambiguity: Specify lang when inputs can be mixed (e.g., Serbian Cyrillic vs. Russian).
  5. Batching: For bulk imports, keep requests ≤ 100 rps and reuse connections; cache deterministic results.

#API Changelog

2025-10-20
Added capital output type and improved auto-detection for mixed scripts. Normalized duplicate separators in slug/snake.
2025-10-12
Custom delimiter now supported for both slug and snake. Minor Cyrillic → Latin mapping refinements (BG/RU).
2025-10-01
Public v1 release with plain, slug, snake, camel, upper, lower. Max input length set to 255 chars.

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

ندعم التحويل الصوتي الكامل لأكثر من 25 نظام كتابة بما في ذلك العربية والسيريلية واليونانية والعبرية وCJK. هل تحتاج لغة أخرى؟ تواصل معنا.

نستخدم معايير ISO أو المعايير الفعلية على الويب. تبلغ الدقة عادةً أكثر من 95% للمفردات الشائعة.

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

تواصل معنا على [email protected]. نأخذ الملاحظات بجدية—إذا كان تقرير الخطأ أو طلب الميزة ذا معنى، يمكننا إصلاح أو تحسين الواجهة بسرعة ومنحك 50 رصيدًا مجانيًا كشكر لك.

يعتمد على الواجهة وأحيانًا حتى على نقطة النهاية. بعض النقاط النهائية تستخدم بيانات من مصادر خارجية، والتي قد تكون لها حدود أكثر صرامة. نفرض أيضًا حدودًا لمنع إساءة الاستخدام والحفاظ على استقرار منصتنا. راجع الوثائق لمعرفة الحد المحدد لكل نقطة نهاية.

نعمل بنظام الأرصدة. الأرصدة هي وحدات مسبقة الدفع وغير قابلة للاسترداد تنفقها على استدعاءات API والأدوات. تُستهلك الأرصدة بنظام FIFO (الأقدم أولاً) وصالحة لمدة 12 شهرًا من تاريخ الشراء. تعرض لوحة التحكم تاريخ كل عملية شراء وانتهاء صلاحيتها.

نعم. جميع الأرصدة المشتراة (بما في ذلك الأرصدة الجزئية) صالحة لمدة 12 شهرًا من الشراء. تنتهي صلاحية الأرصدة غير المستخدمة تلقائيًا وتُحذف نهائيًا في نهاية فترة الصلاحية. لا يمكن استعادة الأرصدة المنتهية أو تحويلها إلى نقد أو قيمة أخرى. قاعدة انتقالية: الأرصدة المشتراة قبل 22 سبتمبر 2025 تُعامل كمشتراة في 22 سبتمبر 2025 وتنتهي في 22 سبتمبر 2026 (ما لم يُذكر تاريخ انتهاء أبكر عند الشراء).

نعم—ضمن فترة الصلاحية. تبقى الأرصدة غير المستخدمة متاحة وتُترحل من شهر لآخر حتى تنتهي صلاحيتها بعد 12 شهرًا من الشراء.

الأرصدة غير قابلة للاسترداد. اشترِ فقط ما تحتاجه—يمكنك دائمًا إعادة الشحن لاحقًا. إذا تسبب خطأ في المنصة في فشل الشحن، قد نستعيد الأرصدة المتأثرة بعد التحقيق. لا استرداد نقدي.

الأسعار محددة بالأرصدة وليس بالدولارات. كل نقطة نهاية لها تكلفتها الخاصة—انظر شارة "الأرصدة / الطلب" أعلاه. ستعرف دائمًا بالضبط ما تنفقه.
← العودة إلى واجهات البرمجة