API de tradução de texto
Traduza textos usando a API do GPT Translator.
Endpoint
POST https://api.gpttranslator.co/v1/translation/text-translation/api
Autenticação
Adicione sua chave de API nos cabeçalhos da requisição:
x-api-key: YOUR_API_KEY
Content-Type: application/json
Corpo da requisição
Campos obrigatórios:
textstring: texto de origem a ser traduzidosourceLangstring: código do idioma de origemtargetLangstring: código do idioma de destinomodelstring: nome do modelo de tradução
Campos opcionais:
domainstring: especialização por domíniowritingStylestring: preferência de estilo de escritatonestring: preferência de tomcustomPromptstring: instruções de tradução personalizadas
Os códigos de idioma estão documentados separadamente em Idiomas compatíveis. Os modelos compatíveis estão documentados em Modelos compatíveis.
Regras de validação
text: obrigatório. Não pode estar vazio.sourceLang,targetLang: devem corresponder a^[a-zA-Z]+(-[a-zA-Z]+)?$, mínimo de 2 caracteres, máximo de 11 caracteres. Devem ser um código de Idiomas compatíveis.model: deve ser um dos valores em Modelos compatíveis.
Exemplos
cURL
curl --location 'https://api.gpttranslator.co/v1/translation/text-translation/api' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"text": "hello world",
"sourceLang": "en",
"targetLang": "fr",
"model": "gpt-4.1-mini-2025-04-14"
}'
JavaScript
const response = await fetch(
"https://api.gpttranslator.co/v1/translation/text-translation/api",
{
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
text: "hello world",
sourceLang: "en",
targetLang: "fr",
model: "gpt-4.1-mini-2025-04-14",
}),
},
);
const data = await response.json();
console.log(data);
Python
import requests
url = "https://api.gpttranslator.co/v1/translation/text-translation/api"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"text": "hello world",
"sourceLang": "en",
"targetLang": "fr",
"model": "gpt-4.1-mini-2025-04-14"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Tipos de resposta
Sucesso 200
{
"message": "Text translation completed successfully",
"error": null,
"data": {
"translatedText": "bonjour le monde",
"originalText": "hello world",
"totalWords": 2,
"isRTL": false,
"tokensConsumed": 3
},
"statusCode": 200
}
Erro de validação da requisição 400
Os erros do middleware de validação são retornados neste formato:
{
"error": "Invalid source language. Please select a supported language."
}
Outros erros de validação possíveis:
Invalid target language. Please select a supported language.Invalid model type. Please enter a valid model type e.g. ...Text cannot be empty.Text is required.
Chave de API ausente/cabeçalho inválido 401
{
"message": "Invalid api key",
"error": "Invalid api key",
"statusCode": 401,
"data": null
}
Erros de chave de API ou de configuração do usuário 400
Chave inválida no banco de dados:
{
"message": "Invalid api key",
"error": "Invalid api key",
"statusCode": 400,
"data": null
}
Usuário inativo:
{
"message": "User not found or user is not active",
"error": "User not found or user is not active",
"statusCode": 400,
"data": null
}
Organização ausente:
{
"message": "Organization Id not found for the user",
"error": "Organization Id not found for the user",
"statusCode": 400,
"data": null
}
Restrição do plano 402
{
"message": "only subscribed users are allowed to use this model",
"error": "only subscribed users are allowed to use this model",
"data": null,
"statusCode": 402
}
Limite de tokens atingido 402
{
"message": "You have reached the limit of words for translation. Please upgrade your plan to continue using this feature.",
"error": "You have reached the limit of words for translation. Please upgrade your plan to continue using this feature.",
"data": {
"requiredTokens": 123,
"tokens": 45
},
"statusCode": 402
}
Erro de processamento/servidor 500
{
"message": "Error in text translation for api",
"error": "Detailed server error message",
"data": null,
"statusCode": 500
}