# Çeviri

> Bir transkripti yazıya çevirirken veya sonradan başka bir dile çevirin; çift dilli ya da yalnızca çevrilmiş metin, SRT ve VTT alın.

Canonical: https://transcript1.com/tr/docs/translation
Language: tr
Last updated: 2026-10-31

transcript1 önce medyayı yazıya çevirir, ardından transkript metnini seçtiğiniz bir dile çevirir. Çeviri bölüm bazında hizalanır ve orijinal zaman damgalarını ve konuşmacıları korur. Yalnızca metin çevirisidir: dublaj ve çevrilmiş ses yoktur.

Çeviri ücretsizdir. 0 dakika kullanır ve kullanım geçmişinizde ücretsiz bir "Translation" kaydı olarak görünür. Transkripsiyon dakikaları her zamanki gibi uygulanır; başarısız bir çeviri transkripti asla başarısız yapmaz ve iade etmez.

## Yazıya çevirirken çevirin

Transkripsiyonu oluşturan isteğe `translate_to` ekleyin. `es` veya `en` gibi iki küçük harfli bir ISO 639-1 kodudur. `POST /v1/transcriptions` JSON gövdesindeki bir video bağlantısıyla, parçalı yükleme rezervasyonuyla ve tek adımlı multipart yüklemeyle çalışır.

```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", "translate_to": "es"}'
```

Dosya yüklemede `translate_to` değerini form alanı olarak gönderin:

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

MCP `transcribe` aracı da `translate_to` kabul eder. İstek başına tek hedef dil.

## Var olan bir transkripti çevirin

Tamamlanmış bir transkripsiyon için çeviri isteyin:

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/translations" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language": "en"}'
```

API `202` döndürür:

```json
{
  "transcription_id": "tr_8fK2Lm0PqRsTuVwXyZaBcD",
  "language": "en",
  "status": "processing"
}
```

| Durum | Anlamı |
|---|---|
| `404` | Transkripsiyon bulunamadı. |
| `409 transcript_not_ready` | Transkripsiyon henüz `completed` değil. |
| `422` | Dil geçerli bir iki harfli kod değil. |

Çağrı idempotenttir. `processing` veya `completed` durumundaki bir çeviri olduğu gibi döner, `failed` olan yeniden denenir. MCP aracı `translate_transcription` `id` ve `language` alır.

## Çeviriyi okuyun

`GET /v1/transcriptions/:id` ile metin, SRT ve VTT indirmeleri `translation` parametresini kabul eder:

| `translation` | Sonuç |
|---|---|
| `both` (varsayılan) | JSON bölümleri `translation` alanı alır. Metin çevrilmiş satırı orijinalin altına koyar. SRT ve VTT blokları iki satırdır: önce orijinal, sonra çeviri. |
| `only` | Çevrilmiş metin `text` yerine geçer. Zaman damgaları ve konuşmacılar aynı kalır. |
| `none` | Yalnızca orijinal transkript. |

Yanıtta bir `translation` nesnesi bulunur; çeviri istenmediyse `null` olur:

```json
{
  "translation": { "language": "es", "status": "completed" }
}
```

`status` değeri `processing`, `completed` veya `failed` olur. Başarısız bir çeviride ayrıca bir `error` mesajı bulunur. `wait` istenen çeviriyi de bekler; süre dolarsa durum `processing` olur. MCP `get_transcription` aracının aynı değerlere sahip bir `translation` parametresi vardır.

## Webhook'lar

Değişmeyen `transcription.completed` ve `transcription.failed` olaylarına ek olarak iki olay çeviri sonucunu bildirir:

| `type` | Gönderildiği an |
|---|---|
| `transcription.translation.completed` | İstenen bir çeviri `completed` durumuna ulaştı. |
| `transcription.translation.failed` | İstenen bir çeviri `failed` durumuna ulaştı. |

`data`, transkripsiyon nesnesi artı `translation: { language, status, error }` biçimindedir. İmzalar ve teslimat kuralları için [Webhooks](https://transcript1.com/tr/docs/webhooks) sayfasına bakın.
