Aisha

TTS API

Text-to-Speech endpointlari. Server integratsiya uchun har bir so'rovda X-Api-Key header yuboring.

API key olish Jamoa bilan bog‘lanish Base URL https://back.aisha.group
API v1 TTS Sync / Async

Overview #

  1. 1 Audio yaratish uchun POST /api/v1/tts/post/ endpointiga transcript yuboring.
  2. 2 webhook_notification_url yuborilsa, so'rov async ishlaydi va 202 Accepted qaytadi.
  3. 3 Natijani GET /api/v1/tts/status/{id}/ yoki history orqali tekshiring.

CLI qulayroqmi? aisha-ai npm paketi shu endpointlarni o‘rab beradi: npx aisha-ai tts / npx aisha-ai stt. npm’dagi aisha-ai

API Key #

  • API Key

    X-Api-Key: <api_key>

    Server-to-server integratsiya uchun tavsiya qilinadi.

Audio yaratish #

POST https://back.aisha.group/api/v1/tts/post/

Matnni audio faylga aylantiradi. language=uz uchun built-in Gulnoza modeli ishlaydi. en va ru oqimlarida model, mood, speed yuborilmaydi.

Autentifikatsiya: X-Api-Key yuboring. Public so‘rovlar reCAPTCHA talab qilishi mumkin.

  • Limit: API key bilan 1000 belgi, public so‘rovda 500 belgi.
  • speed qiymati 0 yoki 0.5-2.0 oralig‘ida bo‘ladi.
  • mood faqat built-in Gulnoza uchun. voice_id bilan yuborilganda mood ishlatilmaydi.

So‘rov maydonlari #

transcript majburiy

string

Audio ga aylantiriladigan matn.

Misol: Assalomu alaykum

language

string

Qo'llab-quvvatlanadi: uz, en, ru. Default: uz.

Misol: uz

model

string

Faqat uz built-in oqimi uchun. Hozir bitta model bor: Gulnoza.

Misol: Gulnoza

mood

string

Faqat built-in Gulnoza uchun 4 ta mood bor: Neutral, Cheerful, Happy, Sad. voice_id, en, ru oqimlarida yuborilmaydi.

Misol: Neutral

speed

float

Faqat uz oqimi uchun. 0 default tezlik. Custom qiymat: 0.5-2.0.

Misol: 1.0

voice_id

integer

Userga tegishli READY custom voice ID. voice_id ishlatilsa mood yuborilmaydi.

Misol: 12

webhook_notification_url

string

Berilsa TTS async queue ga tushadi.

Misol: https://example.com/webhooks/tts

Misollar #

Sync request

curl --request POST \
  --url https://back.aisha.group/api/v1/tts/post/ \
  --header 'X-Api-Key: your_api_key' \
  --header 'Accept-Language: uz' \
  --form 'transcript=Assalomu alaykum, bu AIsha TTS sinovi.' \
  --form 'language=uz' \
  --form 'model=Gulnoza' \
  --form 'mood=Neutral' \
  --form 'speed=1.0'

Async request

curl --request POST \
  --url https://back.aisha.group/api/v1/tts/post/ \
  --header 'X-Api-Key: your_api_key' \
  --form 'transcript=Webhook orqali qaytadigan sinov matni.' \
  --form 'language=uz' \
  --form 'webhook_notification_url=https://example.com/webhooks/tts'

CLI (aisha-ai)

export AISHA_API_KEY=your_api_key
npx aisha-ai tts "Salom dunyo" --model Gulnoza --out salom.wav

Javoblar #

201 Created

Sync success

{
  "audio_path": "/media/tts_audios/request-id.wav"
}
202 Accepted

Async queued

{
  "id": 184,
  "task_id": "7d5f8779-9cb0-4230-9318-2f8c3c3f0e31",
  "status": "PENDING"
}

Status kodlari #

201

Audio tayyor va `audio_path` qaytdi.

202

Async task queue ga qo'yildi.

400

Transcript, language, model yoki speed xato.

401

Custom voice uchun auth kerak.

402

Balans yetarli emas.

503

TTS servisi vaqtincha unavailable.

Status tekshirish #

GET https://back.aisha.group/api/v1/tts/status/{id}/

Async TTS task holatini qaytaradi.

Autentifikatsiya: X-Api-Key yuboring.

  • Status qiymatlari: PENDING, SUCCESS, FAILED.

Misollar #

Status request

curl --request GET \
  --url https://back.aisha.group/api/v1/tts/status/184/ \
  --header 'X-Api-Key: your_api_key'

Javoblar #

200 OK

Pending

{
  "id": 184,
  "status": "PENDING",
  "task_id": "7d5f8779-9cb0-4230-9318-2f8c3c3f0e31"
}
200 OK

Completed

{
  "id": 184,
  "status": "SUCCESS",
  "task_id": "7d5f8779-9cb0-4230-9318-2f8c3c3f0e31",
  "audio_path": "/media/tts_audios/request-id.wav",
  "characters": 42
}

Status kodlari #

200

Status qaytdi.

403

Boshqa user recordiga access yo'q.

404

TTS record topilmadi.

History ro'yxati #

GET https://back.aisha.group/api/v1/tts/get/?page=1&limit=10

Userga tegishli TTS audio tarixini paginatsiya bilan qaytaradi.

Autentifikatsiya: X-Api-Key talab qilinadi.

  • Response count, next, previous, results formatida qaytadi.

Misollar #

History request

curl --request GET \
  --url 'https://back.aisha.group/api/v1/tts/get/?page=1&limit=10' \
  --header 'X-Api-Key: your_api_key'

Javoblar #

200 OK

Paginated success

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 184,
      "transcript": "Assalomu alaykum, bu AIsha TTS sinovi.",
      "audio_url": "/media/tts_audios/request-id.wav",
      "model": "Gulnoza",
      "mood": "Neutral",
      "created_at": "2026-05-04T10:15:30Z"
    }
  ]
}

Status kodlari #

200

History qaytdi.

403

API key noto'g'ri yoki yuborilmagan.