İçeriğe geç

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

AdTürAçıklama
fileisteğe bağlıstringSes 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ıstringDosya `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ıstringKonuş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.