Référence API

Neurooo est une solution de traduction automatique en ligne utilisant des modèles d’IA (LLM). Vous pouvez traduire du texte (et des fichiers) dans plus de 100 langues en quelques secondes.

Notre API officielle, détaillée ci-dessous, permet aux développeurs d’intégrer la traduction automatique de manière transparente dans leurs applications ou flux de travail.

— Changements API —

L’API est considérée comme stable dans son état actuel. Nous ferons de notre mieux pour ne pas introduire de changements majeurs.

Besoin d'aide ? Une question ? Un bug ?

Introduction

L’API de Neurooo est construite sur les principes et conventions REST.

Toutes les requêtes doivent être effectuées via HTTPS et nécessitent généralement une authentification. Les endpoints de notre API acceptent des paramètres JSON et retournent des réponses au format JSON.

La version actuelle de l’API est v1 et l’URL de base est https://neurooo.com/api/v1/.

Authentification

L'API de Neurooo propose trois méthodes d'authentification : paramètre JSON, paramètre de requête URL et en-têtes HTTP.

Si vous utilisez plus d'une méthode d'authentification pour une même requête, l'ordre de priorité sera le suivant :

  • Paramètre JSON
  • Paramètre de requête URL
  • En-têtes HTTP

Paramètre JSON

Ajoutez votre clé API en tant que paramètre api_key dans le corps JSON de votre requête.

requête cURL
curl -X POST https://neurooo.com/api/v1/translate \
  -H 'Content-Type: application/json' \
  -d '{
        "api_key": "YOUR_API_KEY"
      }'

Paramètre de requête URL

Ajoutez votre clé API en tant que paramètre api_key dans l'URL de la requête.

requête cURL
curl -X POST https://neurooo.com/api/v1/translate?api_key=YOUR_API_KEY

En-têtes HTTP

Ajoutez votre clé API en tant que x-api-key dans les en-têtes de la requête.

requête cURL
curl -X POST https://neurooo.com/api/v1/translate \
  -H 'x-api-key: YOUR_API_KEY'

Erreurs

Neurooo utilise des codes HTTP conventionnels pour indiquer si une requête a été exécutée avec succès (2xx) ou si elle a échoué (4xx). Les erreurs seront renvoyées au format JSON, vous donnant une indication claire concernant tout paramètre manquant, non autorisé ou erroné.

errors est toujours un tableau de chaînes. Si votre requête déclenche plusieurs erreurs, toutes les erreurs seront retournées dans la réponse.

Exemple

requête (à l'endpoint translate)
{
  "source": 42
}
réponse
{
  "errors": [
    "Missing parameter: target_language_code.",
    "The 'source' parameter must be a string."
  ]
}

Endpoints de l'API

L'API de Neurooo comporte trois endpoints :

Translate

L'endpoint /translate vous permet de traduire du texte d'une langue à une autre. Il accepte plusieurs paramètres optionnels.

POST https://neurooo.com/api/v1/translate(.json)

Paramètres

Nom Type Description
source string Le texte source à traduire.
Taille maximale : 12 500 caractères.
Exemple : "Hello everyone!"
target_language_code string Le code de la langue dans laquelle le texte source doit être traduit.
Valeurs acceptées : voir notre liste des langues prises en charge.
Exemple : "fr"
source_language_code optionnel string Le code de la langue du texte source.
Note : si vous omettez ce paramètre, Neurooo détectera automatiquement la langue.
Valeurs acceptées : voir notre liste des langues prises en charge.
Exemple : "en-US"
engine optionnel string Le moteur/modèle d'IA à utiliser pour la traduction.
Valeurs acceptées :
  • openai-4omini
  • openai-4omini-eu
  • openai-4omini-us (par défaut)
Exemple : "openai-4omini-eu"
tone optionnel string Le ton (la formalité) à utiliser dans la traduction.
Valeurs acceptées :
  • informal
  • auto (par défaut)
  • formal
Exemple : "informal"
context optionnel string Contexte supplémentaire pour influencer la manière dont Neurooo traduit le texte source.
Taille maximale : 5 000 caractères.
Exemple : "Ceci est un texte sur l'architecture"
format optionnel string Une indication du format de la source, pour aider Neurooo à la traduire plus adéquatement.
Valeurs acceptées :
  • auto (par défaut - détection automatique du format)
  • text
  • html
Exemple : "html"

Réponse

Nom Type Description
target string La traduction du texte source.
source_language_code string Le code de la langue du texte source.
Valeur attendues : voir notre liste des langues prises en charge.
Note: peut être "" si la langue n'a pas été détectée avec certitude.

Exemples

Traduire un texte de l'anglais vers l'espagnol.

Dans cet exemple, nous utilisons uniquement les paramètres obligatoires.

requête
{
  "source": "Hello everyone, and welcome to our meeting!",
  "target_language_code": "es"
}
réponse
{
  "target": "¡Hola a todos y bienvenidos a nuestra reunión!",
  "source_language_code": "en"
}
Traduire en utilisant un moteur spécifique

Dans cet exemple, nous utilisons le paramètre optionnel engine, en plus des paramètres obligatoires.

requête
{
  "source": "We love trying different translation engines.",
  "target_language_code": "fr",
  "engine": "openai-4omini-eu"
}
réponse
{
  "target": "Nous aimons essayer différents moteurs de traduction.",
  "source_language_code": "en"
}
Traduire avec un ton formel

Dans cet exemple, nous utilisons le paramètre optionnel tone en plus des paramètres obligatoires.

requête
{
  "source": "I'm glad you could attend the meeting.",
  "target_language_code": "fr",
  "source_language_code": "en",
  "tone": "formal"
}
réponse
{
  "target": "Je suis ravi que vous ayez pu assister à la réunion.",
  "source_language_code": "en"
}
Traduire le même texte avec différents contextes

Dans ces exemples, nous utilisons les paramètres optionnels context et source_language_code, en plus des paramètres obligatoires.

requête #1 Remarque : le mot "washer" en anglais peut avoir différentes significations selon le contexte.
{
  "source": "Could you send me a photo of the damaged washer?",
  "target_language_code": "fr",
  "source_language_code": "en",
  "context": "online shop selling mechanical pieces"
}
réponse #1
{
  "target": "Pourriez-vous m'envoyer une photo de la rondelle endommagée ?",
  "source_language_code": "en"
}
requête #2 — nous utilisons un contexte différent, ce qui donne une traduction différente.
{
  "source": "Could you send me a photo of the damaged washer?",
  "target_language_code": "fr",
  "source_language_code": "en",
  "context": "online shop selling house appliances"
}
réponse #2
{
  "target": "Pourriez-vous m'envoyer une photo du lave-linge endommagé ?",
  "source_language_code": "en"
}
Traduire du contenu HTML

Dans cet exemple, nous utilisons le paramètre optionnel format en plus des paramètres obligatoires.

requête
{
  "source": "<article class=\"blog-post\"><h2 class=\"post-title\">Embracing Innovation: Shaping the Future</h2><p class=\"post-meta\">Published on <time datetime=\"2024-12-27\">December 27, 2024</time></p><p class=\"post-excerpt\">Innovation drives progress, inspiring groundbreaking solutions and transforming industries. Explore the key trends shaping tomorrow...</p></article>",
  "target_language_code": "fr",
  "format": "html"
}
réponse
{
  "target": "<article class=\"blog-post\"><h2 class=\"post-title\">Adopter l'innovation : façonner l'avenir</h2><p class=\"post-meta\">Publié le <time datetime=\"2024-12-27\">27 décembre 2024</time></p><p class=\"post-excerpt\">L'innovation stimule le progrès, inspire des solutions révolutionnaires et transforme les industries. Explorez les principales tendances qui façonnent demain...</p></article>",
  "source_language_code": "en"
}

Detect language

L'endpoint /detect_language permet de détecter la langue d'un texte.

POST https://neurooo.com/api/v1/detect_language(.json)

Paramètres

Nom Type Description
source string Le texte source pour lequel vous voulez détecter la langue.
Taille maximale : 12 500 caractères.
Exemple : "I love solving jigsaw puzzles!"

Réponse

Nom Type Description
code string Le code de la langue source détectée
Values attendues : voir notre liste des langues prises en charge.
Note : peut être "" si la langue n'a pas été détectée avec certitude.
name string Le nom de la langue source détectée
Values attendues : voir notre liste des langues prises en charge.
Note : peut être "Uncertain" si la langue n'a pas été détectée avec certitude.

Exemples

Détecter la langue d'un texte

Dans cet exemple, nous utilisons uniquement le paramètre obligatoire source.

requête
{
  "source": "Geweldig product! Hoge kwaliteit, betaalbare prijs en snelle levering."
}
réponse
{
  "code": "nl",
  "name": "Dutch"
}
Détecter la langue d'un texte, mais la détection est incertaine

Dans cet exemple, nous utilisons uniquement le paramètre obligatoire source.

request
{
  "source": "Why esperar mañana quand on peut jetzt vivre la dolce vita?"
}
requête
{
  "code": "",
  "name": "Uncertain"
}

Languages

L'endpoint /languages retourne la liste des langues que vous pouvez utiliser comme langues sources et cibles dans vos requêtes à l'endpoint /translate.

GET https://neurooo.com/api/v1/languages(.json)

Paramètres

Nom Type Description
full optionnel boolean

Pour récupérer la liste complète des langues, y compris toutes les variations régionales.

Valeurs acceptées :
  • true
  • false (par défaut - sans les variations régionales)

Réponse

Cet endpoint retourne un tableau de langues basé sur notre liste.

Chaque langue a la structure suivante:

Nom Type Description
code string Le code de la langue
name string Le nom de la langue

Exemples

Récupérer la liste de base
requête cURL
curl -X GET https://neurooo.com/api/v1/languages
réponse JSON
[
  {
    "code": "af",
    "name": "Afrikaans"
  },
  {
    "code": "ak",
    "name": "Akan"
  },
  {
    "code": "am",
    "name": "Amharic"
  },
  {
    "code": "ar",
    "name": "Arabic‎"
  },
  {
    "code": "as",
    "name": "Assamese"
  },
  {
    "code": "az",
    "name": "Azeri"
  },
  ...
]
Récupérer la liste complète
requête cURL
curl -X GET https://neurooo.com/api/v1/languages?full=true
réponse JSON
[
  {
    "code": "af",
    "name": "Afrikaans"
  },
  {
    "code": "ak",
    "name": "Akan"
  },
  {
    "code": "am",
    "name": "Amharic"
  },
  {
    "code": "ar",
    "name": "Arabic‎"
  },
  {
    "code": "ar-AE",
    "name": "Arabic (U.A.E.)‎"
  },
  {
    "code": "ar-BH",
    "name": "Arabic (Bahrain)‎"
  },
  {
    "code": "ar-DZ",
    "name": "Arabic (Algeria)‎"
  },
  ...
]

Vous avez besoin d'aide ou avez une question ?