> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

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

> اختر مسارات الصوت في CometAPI لسير عمل تحويل النص إلى كلام، والنسخ، وترجمة الصوت.

استخدم وثائق نماذج الصوت في CometAPI من خلال اختيار ما إذا كان تطبيقك يحتاج إلى مخرجات كلامية، أو نسخ، أو ترجمة. تستخدم نقاط نهاية الصوت نفس نمط مفتاح CometAPI API المستخدم في نقاط النهاية الأخرى المتوافقة مع OpenAI.

## اختر واجهة برمجة تطبيقات صوتية

<CardGroup cols={3}>
  <Card title="Create speech" icon="microphone" href="/api/audio/create-speech">
    حوّل النص إلى كلام.
  </Card>

  <Card title="Create transcription" icon="message" href="/api/audio/create-transcription">
    انسخ الصوت إلى نص.
  </Card>

  <Card title="Create translation" icon="sparkles" href="/api/audio/create-translation">
    ترجم الصوت إلى نص إنجليزي.
  </Card>
</CardGroup>

## Create Speech

استخدم model ID يدعم الصوت من [صفحة النماذج](/ar/overview/models) أو [دليل النماذج](https://www.cometapi.com/models/). تستدعي الأمثلة أدناه نقطة نهاية الكلام.

<Note>
  تستخدم هذه الأمثلة العنصر النائب `your-audio-model-id`. استبدله بـ model ID صوتي متاح من [صفحة النماذج](/ar/overview/models) أو [دليل النماذج](https://www.cometapi.com/models/) قبل تشغيل الطلب.
</Note>

<Tip>
  افتح [Create speech](/api/audio/create-speech) لاستخدام ساحة التجربة ومخطط نقطة النهاية.
</Tip>

<CodeGroup>
  ```python Python theme={null}
  import os
  import requests

  response = requests.post(
      "https://api.cometapi.com/v1/audio/speech",
      headers={
          "Authorization": "Bearer " + os.environ["COMETAPI_KEY"],
          "Content-Type": "application/json",
      },
      json={
          "model": "your-audio-model-id",
          "input": "Welcome to CometAPI.",
          "voice": "alloy",
          "response_format": "mp3",
      },
      timeout=60,
  )

  response.raise_for_status()

  with open("speech.mp3", "wb") as audio_file:
      audio_file.write(response.content)
  ```

  ```javascript Node.js theme={null}
  import { writeFile } from "node:fs/promises";

  const response = await fetch("https://api.cometapi.com/v1/audio/speech", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "your-audio-model-id",
      input: "Welcome to CometAPI.",
      voice: "alloy",
      response_format: "mp3",
    }),
  });

  if (!response.ok) {
    throw new Error(await response.text());
  }

  const audio = Buffer.from(await response.arrayBuffer());
  await writeFile("speech.mp3", audio);
  ```

  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/audio/speech \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-audio-model-id",
      "input": "Welcome to CometAPI.",
      "voice": "alloy",
      "response_format": "mp3"
    }' \
    --output speech.mp3
  ```
</CodeGroup>

## مثال على الاستجابة

الاستجابة الناجحة للكلام تكون صوتًا ثنائيًا. يمكن أن تبدو استجابة HTTP كما يلي:

```text theme={null}
HTTP/1.1 200 OK
Content-Type: audio/mpeg

speech.mp3
```

## أمثلة على سجلات النماذج

<Info>
  يعرض هذا المثال لاستجابة فهرس النماذج غلاف `/api/models` وشكل سجل نموذج صوتي واحد. وهو ليس قائمة نماذج كاملة.
</Info>

```bash cURL theme={null}
curl https://api.cometapi.com/api/models
```

```json theme={null}
{
  "success": true,
  "page": 1,
  "page_size": 20,
  "total": 302,
  "data": [
    {
      "created": 0,
      "id": "your-audio-model-id",
      "code": "your-audio-model-id",
      "provider": "ExampleProvider",
      "provider_code": "example",
      "name": "Example audio model",
      "model_type": "audio",
      "features": [
        "text-to-speech"
      ],
      "endpoints": [
        "openai"
      ],
      "pricing": {
        "currency": "USD / M Tokens",
        "input": 12,
        "output": 12,
        "per_request": null,
        "per_second": null
      }
    }
  ]
}
```

## الأخطاء الشائعة

<AccordionGroup>
  <Accordion title="تنسيق صوت غير مدعوم">
    استخدم التنسيقات الموثقة في صفحة endpoint.
  </Accordion>

  <Accordion title="تم رفض الرفع الكبير">
    اضغط الملف الصوتي أو قسّم المهمة إلى ملفات أصغر.
  </Accordion>

  <Accordion title="تفريغ نصي فارغ">
    تأكد من أن الملف يحتوي على كلام وأن اسم الحقل يطابق ما هو موضح في الوثائق.
  </Accordion>

  <Accordion title="عنوان URL أساسي غير صحيح">
    استخدم `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

## رموز الأخطاء واستراتيجية إعادة المحاولة

<AccordionGroup>
  <Accordion title="400">
    لا تعِد المحاولة حتى يتم تصحيح النص أو الملف أو model ID أو الصوت أو التنسيق.
  </Accordion>

  <Accordion title="401">
    لا تعِد المحاولة حتى يكون مفتاح API موجودًا وصالحًا.
  </Accordion>

  <Accordion title="404">
    تحقّق من عنوان URL الأساسي والمسار وmodel ID قبل إعادة المحاولة.
  </Accordion>

  <Accordion title="413">
    قلّل حجم الرفع قبل إعادة المحاولة.
  </Accordion>

  <Accordion title="429">
    أعد المحاولة باستخدام exponential backoff وقلّل التزامن.
  </Accordion>

  <Accordion title="500 or 503">
    أعد المحاولة باستخدام backoff لأخطاء المزوّد أو الخدمة المؤقتة.
  </Accordion>
</AccordionGroup>

<Tip>
  للاطلاع على أنماط التنفيذ، راجع [Error codes and retry strategy](/ar/guides/error-codes-and-retry-strategy) و[Rate limits and concurrency](/ar/guides/rate-limits-and-concurrency).
</Tip>

## التسعير ودليل النماذج

<CardGroup cols={3}>
  <Card title="صفحة النماذج" icon="list" href="/overview/models">
    اقرأ كيف يوفّر CometAPI معرّفات model ID في الوثائق.
  </Card>

  <Card title="دليل النماذج" icon="puzzle-piece" href="https://www.cometapi.com/models/">
    تصفح مدى توفر النماذج وقدراتها.
  </Card>

  <Card title="التسعير" icon="tag" href="https://www.cometapi.com/pricing/">
    تحقّق من الأسعار قبل استدعاء أي نموذج.
  </Card>
</CardGroup>
