Вступ

Ласкаво просимо до API-інтерфейсу перекладу i18n-agent! Послуга перекладу з використанням штучного інтелекту та культурною адаптацією

Ця документація API надає вичерпну інформацію про всі доступні кінцеві точки, методи автентифікації, формати запитів/відповідей та коди помилок.

Базові URL-адреси

Environment URL
Development http://localhost:8000
Production https://api.i18nagent.ai

Ключові можливості

  • 🌐 Багатомовна підтримка - Перекладайте вміст на 10+ мов з культурною адаптацією
  • 🚀 Потокова передача в реальному часі - Оновлення ходу виконання через Server-Sent Events
  • 📁 Переклад файлів - Підтримка JSON, YAML, XML, CSV та інших форматів
  • 🔐 Безпечна автентифікація - Автентифікація на основі API-ключа
  • 💳 Система кредитів - Модель оплати за фактичним використанням
  • 🤖 На основі штучного інтелекту - Використовує передові мовні моделі для точних перекладів

Автентифікація

Для автентифікації використовуйте цей код:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here" \
  -H "Authorization: Bearer i18n_your_api_key_here"
const headers = {
  'Authorization': 'Bearer i18n_your_api_key_here',
  'Content-Type': 'application/json'
};

fetch('api_endpoint_here', { headers })
  .then(response => response.json())
  .then(data => console.log(data));
import requests

headers = {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
}

response = requests.get('api_endpoint_here', headers=headers)
print(response.json())
package main

import (
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "api_endpoint_here", nil)
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Обов'язково замініть i18n_your_api_key_here на ваш API-ключ.

API i18n-agent використовує API-ключі для надання доступу до API. Ви можете отримати свій API-ключ на своїй панелі облікового запису.

API-ключ необхідно включати в усі запити API до сервера в заголовку, який виглядає наступним чином:

Authorization: Bearer i18n_your_api_key_here

Ви повинні замінити i18n_your_api_key_here на ваш особистий API-ключ.

You must replace i18n_your_api_key_here with your personal API key.

Кінцеві точки

Інформація про сервіс

Отримати інформацію про сервіс

GET /

Повертає метадані сервісу та доступні кінцеві точки

curl -X GET "https://api.i18nagent.ai/" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Вищенаведена команда повертає JSON-структуру такого вигляду:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2025-09-19T08:57:08.356Z"
  }
}

Моніторинг

Перевірка стану

GET /health

Перевірити стан здоров'я сервісу

curl -X GET "https://api.i18nagent.ai/health" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/health', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/health',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/health", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Вищенаведена команда повертає JSON-структуру такого вигляду:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2025-09-19T08:57:08.357Z"
  }
}

Кредити

Отримати кредити команди

GET /credits

Отримати поточний баланс кредитів для автентифікованої команди

curl -X GET "https://api.i18nagent.ai/credits" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/credits', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/credits',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/credits", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Вищенаведена команда повертає JSON-структуру такого вигляду:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2025-09-19T08:57:08.357Z"
  }
}

Мови

Перелік підтримуваних мов

GET /languages

Отримати список усіх підтримуваних мов з оцінками якості

curl -X GET "https://api.i18nagent.ai/languages" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/languages', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/languages',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/languages", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Вищенаведена команда повертає JSON-структуру такого вигляду:

<html-тег id="tywudv"/>

Переклад

<html-тег id="ypahsl"/>Створити переклад (уніфікований)<html-тег id="xvudc"/>

<вбудований-код id="d56igh"/>

Уніфікована кінцева точка для перекладу як тексту, так і вмісту файлу

<html-тег id="7laejb"/>

<html-тег id="ts97n7"/>

<html-тег id="r9bjzn"/>

<html-тег id="xqtds5"/>

Вище наведена команда повертає JSON-структуровані дані, як-от:

<html-тег id="tywudv"/>

Параметри тіла запиту

<табличний-блок id="en89hq"/>

<html-тег id="1r9u8g"/>Створити переклад з потоковим прогресом<html-тег id="xvudc"/>

<вбудований-код id="we1zni"/>

Створити переклад з використанням Server-Sent Events (SSE) для оновлень у реальному часі

<html-тег id="g8lysm"/>

<html-тег id="uj37x1"/>

<html-тег id="xewt9p"/>

<html-тег id="hpa14s"/>

Вище наведена команда повертає JSON-структуровані дані, як-от:

<html-тег id="tywudv"/>

Параметри тіла запиту

<табличний-блок id="r4cz7v"/>

<html-тег id="ozz3k"/>Отримати оцінку вартості перекладу<html-тег id="xvudc"/>

<вбудований-код id="kr5sdi"/>

Розрахувати кількість слів і необхідні кредити для перекладу

<html-тег id="2rs9su"/>

<html-тег id="h8tdtz"/>

<html-тег id="q78rh0"/>

<html-тег id="iatazj"/>

Вище наведена команда повертає JSON-структуровані дані, як-от:

<html-тег id="tywudv"/>

Параметри тіла запиту

<табличний-блок id="vdqbf7"/>

Аналіз

<html-тег id="xdrz6t"/>Проаналізувати вміст на готовність до перекладу<html-тег id="xvudc"/>

<вбудований-код id="hnuh5p"/>

Проаналізувати вміст, щоб виявити потенційні проблеми та отримати пропозиції щодо вдосконалення перед перекладом. Ця кінцева точка споживає кредити з такою ж швидкістю, як і переклад (0,001 кредиту за слово).

<html-тег id="w8fzl8"/>

<html-тег id="hx2bhh"/>

<html-тег id="dn03hq"/>

<html-тег id="dibxn3"/>

Вище наведена команда повертає JSON-структуровані дані, як-от:

<html-тег id="tywudv"/>

Параметри тіла запиту

<табличний-блок id="a70u32"/>

Завдання перекладу

<html-тег id="ihhnkz"/>Отримати деталі перекладу<html-тег id="xvudc"/>

<вбудований-код id="3s5ncf"/>

Отримати деталі конкретного перекладу за ідентифікатором

<html-тег id="gpv1ng"/>

<html-тег id="6m6rby"/>

<html-тег id="utbjzo"/>

<html-тег id="3zjfng"/>

Вище наведена команда повертає JSON-структуровані дані, як-от:

<html-тег id="tywudv"/>

Параметри запиту

<табличний-блок id="zb6a4i"/>

<html-тег id="o28xqy"/>Отримати статус перекладу<html-тег id="xvudc"/>

<вбудований-код id="4s30b2"/>

Отримати поточний статус завдання перекладу

<html-тег id="qv2q1x"/>

<html-тег id="f9e4js"/>

<html-тег id="hjzlbk"/>

<html-тег id="tof4vu"/>

Команда вище повертає JSON, структурований так:

<html-тег id="tywudv"/>

Параметри запиту

<table-блок id="zb6a4i"/>

<html-тег id="6j8ov"/>Завантажити результат перекладу<html-тег id="xvudc"/>

<вбудований-код id="gq2ut9"/>

Завантажити перекладений вміст

<html-тег id="6uadqf"/>

<html-тег id="uhxjxk"/>

<html-тег id="fpc98c"/>

<html-тег id="ek0ptr"/>

Команда вище повертає JSON, структурований так:

<html-тег id="tywudv"/>

Параметри запиту

<table-блок id="8l7y2k"/>

<html-тег id="xckkfc"/>Завантажити оригінальний файл<html-тег id="xvudc"/>

<вбудований-код id="7lv7tb"/>

Завантажити оригінальний завантажений файл

<html-тег id="7g4yss"/>

<html-тег id="yhh10c"/>

<html-тег id="wwn61q"/>

<html-тег id="nxpbzt"/>

Команда вище повертає JSON, структурований так:

<html-тег id="tywudv"/>

Параметри запиту

<table-блок id="zb6a4i"/>

<html-тег id="zgy4u2"/>Відновити переклад з контрольної точки<html-тег id="xvudc"/>

<вбудований-код id="dl3xfb"/>

Відновити невдалий або перерваний переклад з певної контрольної точки або автоматично з останньої успішної контрольної точки

<html-тег id="h9w2l7"/>

<html-тег id="3eh8ii"/>

<html-тег id="1jk5a3"/>

<html-тег id="azbbeu"/>

Команда вище повертає JSON, структурований так:

<html-тег id="tywudv"/>

Параметри запиту

<table-блок id="zb6a4i"/>

Параметри тіла запиту

<table-блок id="n12y2o"/>

<html-тег id="3ctpcn"/>Отримати активні завдання перекладу<html-тег id="xvudc"/>

<вбудований-код id="yavi3b"/>

Отримати список поточних активних завдань перекладу

<html-тег id="u8y2d9"/>

<html-тег id="ioh5x2"/>

<html-тег id="xri1dk"/>

<html-тег id="2ihn3e"/>

Команда вище повертає JSON, структурований так:

<html-тег id="tywudv"/>

Помилки

API i18n-agent використовує такі коди помилок:

<table-блок id="ut35ut"/>

Формат відповіді про помилку

<html-тег id="6dvhug"/>