Pular para o conteúdo principal

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:

  • text string: texto de origem a ser traduzido
  • sourceLang string: código do idioma de origem
  • targetLang string: código do idioma de destino
  • model string: nome do modelo de tradução

Campos opcionais:

  • domain string: especialização por domínio
  • writingStyle string: preferência de estilo de escrita
  • tone string: preferência de tom
  • customPrompt string: 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
}