Bir dosyayı veya Twitch VOD'unu yazıya dök
POST/v1/transcriptions1 kredi
Bir ses veya video dosyasının konuşmasını zamanlı satırlarla yazıya döktürün: dosyayı yükleyin (multipart/form-data, `file` alanı, en fazla 99 MB), depolamamıza önceden koyduğunuz bir dosyayı verin (Yükleme bağlantısı oluştur'dan gelen `upload_id`: 2 GB'a kadar dosyalar için) ya da bir Twitch yayın kaydını, öne çıkanını veya yüklemesini (`url`) verin. Üçünden tam olarak birini gönderin. Yanıt hemen gelir: bir `job_id` ile 202; iş (VOD'da önce sesinin indirilmesi) arka planda çalışır ve `GET /v1/transcriptions/{job_id}` durumunu ve sonucunu verir. Bize ait bir rota.
01Sorgu parametreleri
| Ad | Tür | Açıklama |
|---|---|---|
| fileisteğe bağlı | string | Ses veya video dosyası (ffmpeg'in okuduğu her şey: mp3, m4a, wav, ogg, mp4, mov, webm…); en fazla 99 MB ve 3 saat. `upload_id` veya `url` verilmezse gerekli. |
| upload_idisteğe bağlı | string | `file` yerine: Yükleme bağlantısı oluştur'un döndürdüğü `upload_id`; dosyayı onun `upload_url` adresine PUT ettikten sonra. 99 MB'tan büyük (2 GB'a kadar) dosyalar için ya da dosyayı bu isteğe koymamak için. JSON gövdesinde veya sorgu dizesinde de kabul edilir. |
| file_nameisteğe bağlı | string | Dosya `upload_id` ile geldiğinde işte gösterilen adı (`file_name`); verilmezse `upload`. |
| urlisteğe bağlı | string | `file` yerine: bir Twitch VOD'u, `https://www.twitch.tv/videos/<id>` (`twitch.tv/<kanal>/video/<id>`, `player.twitch.tv/?video=v<id>` veya yalnız kimlik de olur), en fazla 3 saat. Sorgu dizesinde veya `{"url": …, "language": …, "format": …}` JSON gövdesinde de kabul edilir. Şimdilik yalnızca Twitch VOD'ları. |
| languageisteğe bağlı | string | Konuşmanın ISO 639-1 kodu (örneğin `en`); verilmezse dil algılanır. |
| formatisteğe bağlı | string | İşin dosya biçimi: `GET /v1/transcriptions/{job_id}?format=file` tamamlanan transkripti bu biçimde döndürür.Varsayılan: jsonKabul edilen değerler:jsonsrtvtttext |
02Fiyatlandırma
İstekte kaydın süresinden ayrılır (dosyanın ya da VOD'un Twitch'teki uzunluğu): 120 sn'ye kadar 1 kredi, aksi halde başlayan dakika başına 10 kredi (10 dakikalık bir VOD: 100, 3 saat: 1.800). İş konuşmayla tamamlanınca alınır; konuşmasız bir kayıt, başarısız veya iptal edilen bir iş (indirmesi başarısız olan bir VOD dahil) ve her ret ücretsizdir (ayrılan kredi geri verilir).
03İstek
curl "https://api.scrapesocial.ai/v1/transcriptions" \ -H "x-api-key: $SCRAPESOCIAL_KEY" \ -F '[email protected]' \ -F 'language=en' \ -F 'format=srt'
04Yanıtlar
API'nin gerçek yanıtları. Listeler 2 öğeye kısaltılmıştır.
POST /v1/transcriptions{"file":"@interview.m4a","language":"en","format":"srt"}
{
"success": true,
"credits_remaining": 4980,
"credits_charged": 0,
"job_id": "8c51b6ab208c0f4c5fc98ea6740595a6",
"status": "queued",
"progress": 0,
"created_at": "2026-10-25T17:13:48.300742Z",
"started_at": null,
"finished_at": null,
"file_name": "interview.m4a",
"file_bytes": 52955,
"source_url": null,
"duration_seconds": 6.277,
"language": "en",
"format": "srt",
"credits_reserved": 1,
"error": null,
"status_url": "/v1/transcriptions/8c51b6ab208c0f4c5fc98ea6740595a6"
}Tüm uç noktalarda ortak
Her rota bunları döndürebilir: eksik ya da hatalı anahtar, biten kredi, yanıt vermeyen platform ya da bizim tarafımızdaki bir hata. Hiçbiri kredi harcamaz.
GET /v1/cosmos/profile?handle=design
{
"success": false,
"message": "Invalid API key"
}05Notlar
202 yanıtı: `job_id, status: queued, progress, created_at, started_at, finished_at, file_name, file_bytes, source_url, duration_seconds, language, format, credits_reserved, error, status_url`; ayrıca ayırmadan sonraki `credits_remaining` ve `credits_charged: 0`. Bir Twitch VOD'unda `source_url` onun bağlantısıdır (yüklenen dosyada null), `file_name` başlığı, `file_bytes` ise sesi indirilene kadar 0 (sonra o sesin boyutu); 30 dakikalık bir VOD yaklaşık 8 sn'de indirilir ve yaklaşık bir dakikada yazıya dökülür. Retler, hepsi ücretsiz: 400 `missing_parameter` (ne dosya ne upload_id ne url), 400 `bad_request` (birden fazlası ya da hatalı bir seçenek), 404 `not_found` (yüklenmiş dosyası olmayan bir upload_id: henüz PUT edilmemiş, bağlantısı süresi dolmuş ya da kullanılmış: bir yükleme bir iş yapar), 400 `unsupported_platform` (Twitch VOD'u olmayan bir url), 400 `invalid_file` (ses veya video değil ya da ses izi yok), 400 `too_long` (3 saatten uzun), 404 `not_found` (bilinmeyen VOD), 403 `forbidden` (Twitch'in yalnızca abonelere gösterdiği bir VOD), 413 `file_too_large`, 402 `insufficient_credits` (ayrılacak kredi yetmiyor). Biten bir iş ve sonucu, bittikten 7 gün sonra silinir.
06Hatalar ve krediler
Her hatada success: false ve gerçek bir HTTP durum kodu döner; kredi düşmez.
400missing_parameter
Zorunlu bir parametre eksik veya geçersiz.
403private_account
Hesap gizli ya da yaş kısıtlamalı.
404not_found
Böyle bir hesap yok.
503upstream_error
Platform şu an cevap vermiyor; tekrar deneyin.