Бесплатное бессерверное решение для API перевода DeepL, позволяющее легко интегрироваться с вашими приложениями. Разверните свой собственный экземпляр или запустите его локально в соответствии с вашими потребностями.
- Архитектура Serverless: Построено с использованием масштабируемости и простоты бессерверных платформ.
- Лёгкое развертывание: Однокликовое развертывание на Vercel с минимальной конфигурацией.
- Локальная разработка: Поддерживает локальную разработку для тестирования и модификаций (либо через Vercel CLI, либо с помощью описанного ниже метода).
- Обновлённая логика API: Совместимо с последними изменениями API DeepLX для надёжного перевода.
Разверните свой собственный API перевода DeepLX, нажав на кнопку ниже.
После нажатия на кнопку просто следуйте инструкциям для настройки API на Vercel.
Вот метод локального развертывания, описанный в репозитории deeplx-serverless от LegendLeo:
git clone https://github.com/LegendLeo/deeplx-serverless
cd deeplx-serverless
npm install
npm run start
Это запустит локальный сервер с API, работающим на http://localhost:9000
.
После развертывания или локального запуска вы можете начать отправлять запросы на перевод текста. Отправьте POST
запрос на /api/translate
со следующей структурой JSON:
{
"text": "Ваш текст для перевода",
"source_lang": "Код исходного языка (например, 'EN')",
"target_lang": "Код целевого языка (например, 'DE')",
"tag_handling": "Опционально: обработка тегов ('html', 'xml' или оставьте пустым)"
}
Параметры:
text
(обязательный): Текст, который вы хотите перевести.source_lang
(опционально): Код языка исходного текста (например,'EN'
). Используйте'auto'
для автоматического определения. По умолчанию'auto'
.target_lang
(обязательный): Код языка, на который нужно перевести текст (например,'DE'
).tag_handling
(опционально): Укажите'html'
или'xml'
, если ваш текст содержит такие теги и вы хотите, чтобы они корректно обрабатывались.
Пример использования curl
:
curl --location --request POST 'https://your-deployment-url/api/translate' \
--header 'Content-Type: application/json' \
--data-raw '{
"text": "Hello, World!",
"source_lang": "EN",
"target_lang": "DE",
"tag_handling": ""
}'
Замените https://your-deployment-url
на фактический URL вашего развертывания на Vercel или http://localhost:9000
, если вы работаете локально.
Ответ:
API вернёт JSON-объект с переводом и дополнительной информацией:
{
"code": 200,
"id": 1234567890,
"data": "Hallo, Welt!",
"alternatives": ["Hallo, Welt!"],
"source_lang": "EN",
"target_lang": "DE",
"method": "Free"
}
code
: HTTP статус-код.id
: Уникальный идентификатор запроса на перевод.data
: Переведённый текст.alternatives
: Массив альтернативных переводов.source_lang
: Определённый или указанный исходный язык.target_lang
: Целевой язык перевода.method
: Указывает, использовался ли метод'Free'
или'Pro'
.
- Ограничение частоты запросов: Избыточное количество запросов может привести к временному блокированию со стороны DeepL. Пожалуйста, избегайте отправки слишком большого количества запросов за короткий промежуток времени.
- Ограничения использования: Этот API предназначен для личного или разработческого использования. Для коммерческого использования рассмотрите возможность подписки на официальный API DeepL.
- Нет гарантий: Поскольку этот API зависит от публичных конечных точек DeepL, функциональность может быть нарушена, если DeepL изменит свой API. Пожалуйста, сообщайте о проблемах или вносите исправления, если это произойдёт.
Для пользователей Ballon Translator
После получения ссылки в формате https://your-deployment-url/api/translate
просто вставьте её в поле api_url
.
На случай, если я придумаю что-то новое, я заимствовал sync.yml
из репозитория drmartinmar/Deeplx-vercel. Спасибо.
- Чтобы это работало, вам нужно вручную перейти в раздел Actions и запустить workflow.
- LegendLeo за оригинальную бессерверную реализацию.
- OwO-Network за проект DeepLX.
- ChatGPT (который помог написать этот README и помог разобраться с новым API)
Предложения и вклад приветствуются! Если у вас есть предложение или исправление, пожалуйста, создайте форк репозитория и отправьте pull request.
Этот проект распространяется под лицензией MIT. См. файл LICENSE для получения дополнительной информации.