Belge Çeviri API'si

Uygulamanıza veya iş akışınıza belge çevirisi ekleyin. Ayıklanan metni gönderin, seçtiğiniz dile çevirin ve belgeyi kendi istemcinizde yeniden oluşturun. Abonelik olmadan ön ödemeli kredileri kullanın.

Hızlı başlangıç

  1. Oturum açın ve bir API anahtarı oluşturun. Dosyadaki .env satırını kopyalayıp örneğin yanındaki özel bir .env dosyasına ekleyin. API çevirileri, uygun kayıt kredileri dâhil hesap kredilerini kullanır; web sitesinin günlük kullanım limiti geçerli değildir. Anahtarı asla depoya eklemeyin veya herkese açık tarayıcı koduna koymayın.
  2. Node.js örneğini indirin. Node.js 22 veya üzerini kullanın; paket gerekmez. Kısa bir UTF-8 metin belgesini aynı klasörde input.txt adıyla kaydedin. Bu örnek en fazla 16.000 karakteri destekler; daha büyük belgeler aşağıdaki API üzerinden birden fazla segmente ayrılır.
  3. Kredi kullanmadan teklifi görmek için ilk komutu çalıştırın. İnceledikten sonra İspanyolcaya çevirmek ve translated.txt olarak kaydetmek için ikinci komutu çalıştırın. Gerektikçe dili ve dosya yollarını değiştirin.
node --env-file=.env translate-text.mjs input.txt Spanish translated.txt
node --env-file=.env translate-text.mjs input.txt Spanish translated.txt --start

Örnek, işlem tamamlanana kadar bekler ve mevcut bir çıktının üzerine asla yazmaz. .translation.json kontrol noktasını saklayın ve kesinti sonrasında aynı komutu yeniden çalıştırın: mevcut işi ve indirmeyi ek ücret ödemeden kurtarır. Kontrol noktası belge metni veya API anahtarı içermez. Bekleme zaman aşımı işlemi iptal etmez.

The translation API accepts extracted text and returns translated segments. Optional private backups support document recovery until 24 hours after completion. Rebuild the finished document in your client.

Ya da https://document-translator.com/developers/ adresini kopyalayıp başlamak için AI aracınıza verin.

Belge çeviri iş akışı oluşturun

Uygulamanızda sabit segment kimlikleriyle metin çıkarın. Aşağıda gösterilen yükü gönderin, ardından çeviriyi belgeye geri yerleştirmek için döndürülen her kimliği kullanın.

Fiyat teklifi oluştur

POST /api/v1/quotes
Authorization: Bearer doctr_...
Content-Type: application/json

{
  "version": "document-ir/9",
  "format": "txt",
  "fingerprint": "f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef",
  "sourceLanguage": "auto",
  "targetLanguage": "Spanish",
  "segments": [
    {
      "id": "s0",
      "text": "Hello, world."
    }
  ]
}

Yanıtta teklif kimliği, kaynak sözcük sayısı, kesin kredi maliyeti ve sona erme süresi yer alır. Teklifler on dakika geçerlidir. Teklif istemek kredileri ayırmaz veya belge metnini kaydetmez.

Tekliflerde varsayılan olarak katı çıktı kullanılır. Kısmi sonuçlara izin vermek için teklif URL'sine output=best-effort-v1 ekleyin. Hazır sonuçlarda outcome ve issues alanları bulunur; kullanmadan önce bunları inceleyin. Politika, teklif oluşturulurken belirlenir.

POST /api/v1/quotes?output=best-effort-v1

Çeviriyi başlat

POST /api/v1/translations
Authorization: Bearer doctr_...
Content-Type: application/json

{
  "quoteId": "<quote id>",
  "idempotencyKey": "my-document-0001",
  "payload": {
    "version": "document-ir/9",
    "format": "txt",
    "fingerprint": "f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef",
    "sourceLanguage": "auto",
    "targetLanguage": "Spanish",
    "segments": [
      {
        "id": "s0",
        "text": "Hello, world."
      }
    ]
  }
}

Başlatma isteğinde teklifteki özgün yükü yeniden gönderin. Sunucu, metni saklamadan veya kredi ayırmadan önce sahibini ve kanonik özeti doğrular. JSON nesnesindeki anahtarların sırası önemli değildir; metni, segment sırasını, biçimi, parmak izini veya dilleri değiştirmek yeni bir teklif gerektirir.

Çevrilmiş sonucu okuyun

GET /api/v1/translations/JOB_ID/result
Authorization: Bearer doctr_...

{
  "version": "document-ir/9",
  "jobId": "<job id>",
  "fingerprint": "f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef",
  "targetLanguage": "Spanish",
  "segments": [
    {
      "id": "s0",
      "text": "Hola, mundo."
    }
  ],
  "mock": false
}

Dosyanızı yeniden oluşturmak için segment kimliklerini kullanın; sonuç uç noktası tamamlanmış bir belge değil, JSON döndürür. Boşlukları, bağlantıları, stilleri ve çevrilemeyen diğer yapıları istemcinizde koruyun. Her segmentin 1–48 karakter uzunluğunda, a–z, 0–9, alt çizgi veya kısa çizgi kullanan benzersiz bir kimliği olmalıdır. Segment metni en fazla 16.000 UTF-16 kod birimi içerebilir. Parmak izi, orijinal dosya baytlarının küçük harfli SHA-256 özetidir.

The website handles document parsing and reconstruction. API clients supply extracted text and rebuild their own files. Browser OCR supports clear scans in six languages; see the homepage FAQ. Complex layouts may use continuation pages or a readable fallback.

cURL ile tek bir istekte fiyat teklifi alın

Yukarıdaki teklif JSON’unu payload.json olarak kaydedin ve kabuğunuzda DOCUMENT_TRANSLATOR_API_KEY değerini ayarlayın. Bu komut yalnızca teklif ister. İşlemi başlatmak için, döndürülen teklif kimliğini ve aynı yükü içeren başlatma JSON’unu translations uç noktasına gönderin.

curl https://document-translator.com/api/v1/quotes \
  -H "Authorization: Bearer $DOCUMENT_TRANSLATOR_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @payload.json

PowerShell'de curl.exe ve $env:DOCUMENT_TRANSLATOR_API_KEY kullanın; yukarıda gösterilen ters eğik çizgili devam biçimi yerine komutu tek satırda yazın.

Çeviri kredileri ve API anahtarları

Her API belgesi, sınırlar dahilinde bir hesap kredisi ayırır. Katı işler yalnızca doğrulanıp hazır olduğunda ücretlendirilir; tamamlanmamış ve başarısız veya iptal edilmiş işler için ayrılan kredi serbest bırakılır. En iyi çabayla çıktı seçeneğinde küçük eksikler üzerinde anlaşılan krediyi kullanabilir; büyük eksikler veya kritik hatalar ise krediyi serbest bırakır. Hazır olan her sonucun ücretlendirildiğini varsaymak yerine outcome.creditOutcome ve outcome.completion değerlerini okuyun.

Her hesap için en fazla beş etkin API anahtarı oluşturun. Anahtarlar yalnızca bir kez gösterilir, karma değerler olarak saklanır ve Hesap bölümünden iptal edilebilir. Etkin bir anahtar, aynı hesaptaki başka bir anahtarla oluşturulan işler dâhil, o hesabın ücretli çevirilerine erişebilir. Anahtarlar oturum açma veya ödeme yetkisi vermez.

Yeniden denemeler ve kesintiye uğrayan istekler

GET /api/v1/translations?requestKey=IDEMPOTENCY_KEY&quoteId=QUOTE_ID
DELETE /api/v1/translations?requestKey=IDEMPOTENCY_KEY&quoteId=QUOTE_ID

Belirsiz bir başlatma isteğinden sonra aynı teklif kimliğini, yükü ve idempotency anahtarını yeniden kullanın. Özdeş yeniden denemeler, ek ücret alınmadan mevcut işi döndürür. Değişen bir yük veya başka bir teklif için yeniden kullanılan bir anahtar 409 döndürür. İş ve idempotency meta verileri, iş sona erdikten sonra yedi gün boyunca saklanır.

Yeniden başlatılabilir başarısız bir iş, kaynak metni kullanılabilir olduğu sürece tekrar denenebilir. Yeniden deneme iş kimliğini korur ve tamamlanmış parçaları yeniden kullanır. İşler en fazla üç işleme denemesine izin verir. İndirme hatalarında başka bir çeviri başlatmadan sonuç uç noktası tekrar denenebilir.

Sorgulama ve indirmeler

GET /api/v1/translations/JOB_ID
GET /api/v1/translations?ids=JOB_ID_1,JOB_ID_2
GET /api/v1/translations/JOB_ID/result
PUT /api/v1/translations/JOB_ID/files/txt
GET /api/v1/translations/JOB_ID/files/txt
POST /api/v1/translations/JOB_ID/retry
DELETE /api/v1/translations/JOB_ID

Toplu durum sorgusu en fazla 100 kimlik kabul eder ve yalnızca yetkilendirilmiş, silinmemiş işleri içeren { jobs: [...] } yanıtını döndürür. İşlenirken yaklaşık her beş saniyede, sıradayken her on beş saniyede bir sorgulayın. 100 adetten fazla işi kurtarırken grupları dönüşümlü olarak adil biçimde işleyin. Gizli sekmelerde sorgulamayı duraklatın; iş terminal duruma ulaştığında veya kalıcı yetkilendirme hatası oluştuğunda sorgulamayı sonlandırın.

Durum hazır olduğunda, aynı hesap yetkilendirmesiyle sonucu alın. Sonuç, yerel olarak yeniden oluşturma için çevrilmiş segment eşlemesini içerir. Sonuçlara tamamlandıktan sonra 24 saat boyunca erişilebilir; başarısız girişlerin süresi oluşturulmalarından bir saat sonra dolar. Süresi dolan sonuçlar 410 döndürür. Silinen veya erişilemeyen işler 404 döndürür.

queued → processing → ready
                   ↘ failed / cancelled / expired

{"jobs":[{"id":"<job id>","state":"processing","completedChunks":1,"totalChunks":2}]}

Tamamlanmış bir dosyayı ikili gövdesi, Content-Length ve eşleşen Content-Type ile PUT kullanarak kaydedin. Desteklenen uzantılar docx, pptx, xlsx, pdf, txt ve md’dir; her biçim için bir dosya kaydedilebilir ve çıktı sınırı 50 MB’dir. Başarılı bir kaydetme işlemini tekrarlamak mevcut dosyayı korur. GET kaydedilen dosyayı indirir; iş durumundaki savedFormats kullanılabilir biçimleri listeler. Kaydetme ve indirme aynı iş sahipliği kontrollerini kullanır, ek krediye mal olmaz ve 24 saatlik süreyi uzatmaz.

PUT /api/v1/translations/{id}/files/docx
X-Download-Kind: reading-copy
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Content-Length: {bytes}

{binary DOCX body}

GET /api/v1/translations/{id}

{"savedFormats":["docx"],"savedDownloads":[{"format":"docx","kind":"reading-copy"}]}

DELETE, tamamlanmamış işleri iptal eder veya mevcut metinleri ve kayıtlı dosyaları siler. Tamamlanmış bir sonucu silmek kredinizi iade etmez veya indirme süresini uzatmaz. Bu sürümde tamamlanma webhook'ları yoktur.

PUT /api/v1/translations/{id}/manifest
Content-Type: application/json
Content-Length: {bytes, maximum 2 MiB}

{"version":2,"parserVersion":"document-ir/9","fingerprint":"{original SHA-256}","ocr":[],"scans":[]}

PUT /api/v1/translations/{id}/source
Content-Type: application/octet-stream
Content-Length: {bytes, maximum 25 MiB}
X-Parser-Version: document-ir/9
X-Source-SHA256: {original SHA-256}

{unchanged original bytes}

GET /api/v1/translations/{id}
// sourceBackup is available only after both saves
GET /api/v1/translations/{id}/manifest
GET /api/v1/translations/{id}/source

Hesap bakiyesi ve geçmişi

GET /api/v1/translations?before=NEXT_CURSOR&limit=5
GET /api/v1/translations?active=1&before=NEXT_CURSOR
GET /api/account/balance

Geçmiş yalnızca mevcut hesap sahibiyle sınırlıdır ve döndürülen sayfalama imlecini kullanır. Bakiye uç noktası tarayıcıdaki hesap oturumunu kullanır ve oturum açma ile bakiye hakkında asgari bilgileri döndürür. Checkout işlemi beklemedeyken bu uç noktayı en fazla on deneme boyunca beş saniyede bir sorgulayın; sayfa gizliyken duraklatın, kredi yüklendiğinde veya hesap oturumu kapandığında sorgulamayı durdurun.

n8n, Make ve Zapier

Gizli bir Bearer kimlik bilgisi içeren bir HTTP istek adımı kullanın. Önce metni çıkarın, JSON yükünü teklif uç noktasına POST edin, ardından teklif kimliğini, yükü ve sabit 16–80 karakterlik bir idempotency anahtarını çeviriler uç noktasına POST edin. Bir gecikme ekleyin ve hazır olana kadar durumu GET ile sorgulayın; ardından sonucu alın ve çevrilmiş metni yeniden oluşturun veya kaydedin. Teklif kimliğini ve yeniden deneme anahtarını iş akışı kaydınızla birlikte saklayın. Özel bir bağlayıcı veya çok parçalı yükleme gerekmez.

Sınırlar ve hatalar

Hatalar, bir hata mesajı ve kod içerir. 400 geçersiz girdiyi, 401 geçersiz yetkilendirmeyi, 402 yetersiz krediyi, 404 kullanılamayan bir işi, 409 çakışan bir teklifi veya durumu, 410 sürenin dolduğunu, 429 hız veya kapasite sınırını, 503 ise hizmetin kullanılamadığını belirtir.

We keep a private copy of your original document until 24 hours after translation finishes, so you can recover your downloads. You can remove it sooner by deleting the translation. Only extracted text is sent to our translation provider. Gizlilik ayrıntıları