# İlk transkripsiyonunuzu oluşturun

> API anahtarınızı alın; cURL, Python veya Node.js ile bir video bağlantısını ya da dosyayı yazıya çevirin.

Canonical: https://transcript1.com/tr/docs/getting-started
Language: tr
Last updated: 2026-10-14

Başlamak için bir API anahtarı oluşturun, ardından video bağlantınızı veya dosyanızı gönderin. Tüm isteklerde `https://api.transcript1.com` adresini kullanın ve API anahtarınızı `Authorization` başlığına ekleyin.

## 1. Hesabınızı ve API anahtarınızı hazırlayın

[/signup](https://transcript1.com/signup) sayfasında e-posta adresinizle, Google veya Microsoft hesabınızla kaydolun. E-postanızı doğruladığınızda 60 ücretsiz dakika hesabınıza eklenir. Google veya Microsoft ile kaydolursanız bu dakikaları hemen kullanabilirsiniz. Ücretsiz dakikalar yalnızca bir kez verilir; kart bilgisi gerekmez.

Panelde [“API keys” sayfasını](https://transcript1.com/dashboard/account/tokens) açın (`/dashboard/account/tokens`) ve bir anahtar oluşturun. Anahtarınız `t1_` ile başlar. Yalnızca bir kez görebileceğiniz için hemen kopyalayın. Terminalde `TRANSCRIPT1_API_KEY` ortam değişkenini ayarlayın:

```bash
export TRANSCRIPT1_API_KEY="t1_..."
```

## 2. Video bağlantısını gönderin

YouTube, X, TikTok, Instagram, Facebook, Bluesky, Twitch, Dailymotion, Pinterest, LinkedIn veya Snapchat bağlantısı gönderebilirsiniz. Hangi herkese açık kayıtların ve bağlantıların çalıştığını [Kaynaklar ve seçenekler](https://transcript1.com/tr/docs/sources-and-options) sayfasından kontrol edin. Platformu API bağlantıdan belirler; `platform` alanını doldurmanız gerekmez. Aşağıdaki örnek YouTube içindir.

Bağlantıyı `POST /v1/transcriptions` ile gönderin. Sorguya `wait=60` eklediğinizde API, yanıt vermeden önce en fazla 60 saniye bekler. Bu yanıt transkript metnini içermez. Python örneği metni almak için ayrıca `GET /v1/transcriptions/:id?wait=60` çağrısı yapar. Node.js SDK ise anahtarınızı `TRANSCRIPT1_API_KEY` üzerinden okur, transkripsiyonun bitmesini bekler ve transkripti alır.

### cURL

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
```

### Python

```python
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['TRANSCRIPT1_API_KEY']}"}
response = requests.post(
    "https://api.transcript1.com/v1/transcriptions?wait=60",
    headers=headers,
    json={"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"},
)
response.raise_for_status()
transcription = response.json()
while True:
    transcription = requests.get(
        f"https://api.transcript1.com/v1/transcriptions/{transcription['id']}?wait=60",
        headers=headers,
    ).json()
    if transcription["status"] in ("completed", "failed", "canceled"):
        break

if transcription["status"] == "completed":
    print(transcription["transcript"]["text"])
else:
    print(transcription["status"], transcription["error"])
```

### Node.js

Örneği `index.mjs` dosyasına kaydedip `node index.mjs` ile çalıştırın. `.js` uzantısını tercih ederseniz `package.json` dosyasında `"type": "module"` ayarını kullanın.

```javascript
// npm i @transcript1/sdk
import { Transcript1 } from '@transcript1/sdk';

const t1 = new Transcript1();
const transcription = await t1.transcribe('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
console.log(transcription.transcript.text);
```

Varsayılan ayarda önce videonun kendi dilindeki altyazılara bakarız. Bu akış YouTube, X, TikTok, Bluesky, Dailymotion ve LinkedIn için geçerlidir; YouTube ve X'in mevcut altyazı desteği de aynı şekilde çalışır. Kullanılabilir altyazı bulamazsak sesi yapay zeka ile yazıya çeviririz. YouTube dışındaki altyazılarda zaman damgaları segment bazındadır; tek tek kelimelerin zamanları bulunmaz. Doğrudan ses üzerinden çalışmak için `source=stt` seçin veya konuşmacı ayırmayı açın. `captions` (yalnızca altyazı) modunda ise ses indirmeyiz ve STT kullanmayız. Ayrıntılar için [Kaynaklar ve seçenekler](https://transcript1.com/tr/docs/sources-and-options) sayfasına bakın.

## 3. Transkripti alın

HTTP durum kodu, beklemeye devam edip etmemeniz gerektiğini gösterir:

- `200`: Transkripsiyon bekleme süresi içinde sona erdi. `status` alanında `completed`, `failed` veya `canceled` görürsünüz.
- `202`: Transkripsiyon devam ediyor. `GET /v1/transcriptions/:id?wait=60` ile tekrar sorgulayın. Her çağrı en fazla 60 saniye bekler. `status` yukarıdaki durumlardan birine gelene kadar aynı işlemi tekrarlayın.

Tamamlanan bir transkripsiyonun kısaltılmış JSON örneği:

```json
{
  "id": "tr_8fK2Lm0PqRsTuVwXyZaBcD",
  "object": "transcription",
  "status": "completed",
  "transcript_source": "youtube_captions",
  "language": "en",
  "billed_minutes": 4,
  "transcript": {
    "text": "Welcome back to the channel. Today we are looking at how transcripts are made.",
    "speakers": [],
    "segments": [
      { "start": 0, "end": 4.2, "speaker": null, "language": "en", "text": "Welcome back to the channel." },
      { "start": 4.2, "end": 9.8, "speaker": null, "language": "en", "text": "Today we are looking at how transcripts are made." }
    ]
  }
}
```

Metnin tamamını `transcript.text` alanında bulursunuz. `transcript.segments` ise metni zaman damgalı segmentlere böler. Her segmentin başlangıcı `start`, bitişi `end` alanında saniye olarak verilir.

Düz metin indirmek için `text`, altyazı için `srt` veya `vtt` formatını seçin:

```bash
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=srt" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"
```

Örnekte `GET /v1/transcriptions/:id?format=srt` çağrısıyla SRT dosyası istenir. Metin ve altyazı formatlarını ancak durum `completed` olduğunda alabilirsiniz. Daha önce sorgularsanız API, durumu kontrol edebilmeniz için JSON nesnesini döndürür.

## 4. Dosya yükleyin

Bilgisayarınızdaki ses veya video dosyalarını da gönderebilirsiniz. Dosya 95 MB'ı aşmıyorsa tek bir `multipart/form-data` isteği yeterlidir:

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -F file=@interview.m4a
```

Daha büyük dosyaları 2 GB'a kadar parçalar halinde yükleyin. Bağlantı kesilirse eksik parçalardan devam edebilirsiniz. Adımlar [Dosya yükleme](https://transcript1.com/tr/docs/uploads) sayfasında.

## Buradan devam edin

- [Kaynaklar ve seçenekler](https://transcript1.com/tr/docs/sources-and-options): Altyazı mı, yapay zeka mı kullanacağınızı, dili ve konuşmacı ayırmayı seçin.
- [Dosya yükleme](https://transcript1.com/tr/docs/uploads): Dosyanızı tek istekte veya parçalar halinde gönderin.
- [Webhook kullanımı](https://transcript1.com/tr/docs/webhooks): Transkripsiyon sona erdiğinde imzalı bildirim alın.
- [MCP sunucusu](https://transcript1.com/tr/docs/mcp): Claude, ChatGPT, Cursor, VS Code veya Claude Code üzerinden transkripsiyon başlatın.
- [API referansı](https://transcript1.com/tr/docs/api-reference): Endpoint ve parametrelerin tamamına göz atın.
