Passer au contenu principal
POST
/
v1
/
chat
/
completions
curl --request POST \
  --url https://direct.evolink.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "model": "deepseek-v4-flash",
  "messages": [
    {
      "role": "user",
      "content": "Présentez-vous s'il vous plaît"
    }
  ]
}
EOF
{
  "id": "837f529d-00f9-4731-b2e1-4a54fc31790a",
  "object": "chat.completion",
  "created": 1777026806,
  "model": "deepseek-v4-flash",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Bonjour ! Je suis l'assistant DeepSeek, toujours prêt à répondre à vos questions et à vous aider."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 7,
    "completion_tokens": 31,
    "total_tokens": 38,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "prompt_cache_hit_tokens": 0,
    "prompt_cache_miss_tokens": 7
  },
  "system_fingerprint": "fp_evolink_v4_20260402"
}
BaseURL : La BaseURL par défaut est https://direct.evolink.ai, qui offre une meilleure prise en charge des modèles de texte et des connexions persistantes. https://api.evolink.ai est le point d’accès principal pour les services multimodaux et sert d’adresse de secours pour les modèles de texte.

Autorisations

Authorization
string
header
requis

##Toutes les API nécessitent une authentification Bearer Token##

Obtenir une clé API :

Visitez la Page de gestion des clés API pour obtenir votre clé API

Ajouter à l'en-tête de requête :

Authorization: Bearer YOUR_API_KEY

Corps

application/json
model
enum<string>
défaut:deepseek-v4-flash
requis

Nom du modèle de conversation

  • deepseek-v4-flash : modèle rapide et généraliste, contexte de 1M
  • deepseek-v4-pro : modèle de raisonnement approfondi, excelle en mathématiques, en programmation et en logique complexe

Astuce : Les deux modèles ont thinking activé par défaut, la réponse contiendra reasoning_content ; vous pouvez le désactiver via thinking.type="disabled" pour réduire le coût des tokens de sortie. Les paramètres des deux sont totalement identiques.

Options disponibles:
deepseek-v4-flash,
deepseek-v4-pro
Exemple:

"deepseek-v4-flash"

messages
(System Message · object | User Message · object | Assistant Message · object | Tool Message · object)[]
requis

Liste des messages de conversation, prend en charge les dialogues multi-tours

Les messages de rôles différents ont des structures de champs différentes, veuillez sélectionner le rôle correspondant

Minimum array length: 1
thinking
object

Contrôle du mode de réflexion (nouveauté V4)

Remarque :

  • Utilisé pour contrôler la fonctionnalité de réflexion approfondie (Chain of Thought)
  • Activé par défaut pour les deux modèles (type=enabled)
  • Une fois activé, le processus de raisonnement est retourné via choices[].message.reasoning_content et facturé au tarif des tokens de sortie

⚠️ Attention pour les conversations multi-tours / appels d'outils : si la réponse de ce tour contient reasoning_content, le message assistant correspondant dans l'historique messages de la requête suivante doit retourner ce champ tel quel, sinon l'API renverra 400 The reasoning_content in the thinking mode must be passed back to the API. Si vous ne souhaitez pas le gérer, vous pouvez définir explicitement thinking.type="disabled" pour toute la session.

temperature
number
défaut:1

Température d'échantillonnage, contrôle le caractère aléatoire de la sortie

Remarque :

  • Valeurs basses (ex. 0.2) : sortie plus déterministe et ciblée
  • Valeurs élevées (ex. 1.5) : sortie plus aléatoire et créative
  • Valeur par défaut : 1
Plage requise: 0 <= x <= 2
Exemple:

1

top_p
number
défaut:1

Paramètre d'échantillonnage nucleus (Nucleus Sampling)

Remarque :

  • Contrôle l'échantillonnage à partir des tokens avec une probabilité cumulative
  • Par exemple, 0.9 signifie un échantillonnage parmi les tokens ayant 90 % de probabilité cumulative
  • Valeur par défaut : 1.0 (considère tous les tokens)

Suggestion : Ne pas ajuster simultanément temperature et top_p

Plage requise: 0 <= x <= 1
Exemple:

1

max_tokens
integer

Limite le nombre maximum de tokens générés

Remarque :

  • La série V4 peut atteindre 384 000 tokens
  • Lorsque thinking est activé, reasoning_tokens sont également comptés dans la limite max_tokens
  • Si non défini, le modèle décide lui-même de la longueur générée
Plage requise: 1 <= x <= 384000
Exemple:

4096

frequency_penalty
number
défaut:0

Paramètre de pénalité de fréquence, utilisé pour réduire le contenu répétitif

Remarque :

  • Les valeurs positives pénalisent en fonction de la fréquence d'apparition des tokens dans le texte généré
  • Plus la valeur est élevée, moins le contenu déjà apparu sera répété
  • Valeur par défaut : 0 (pas de pénalité)
Plage requise: -2 <= x <= 2
Exemple:

0

presence_penalty
number
défaut:0

Paramètre de pénalité de présence, utilisé pour encourager la génération de nouveaux sujets

Remarque :

  • Les valeurs positives pénalisent en fonction de la présence antérieure des tokens dans le texte
  • Plus la valeur est élevée, plus le modèle tend à aborder de nouveaux sujets
  • Valeur par défaut : 0 (pas de pénalité)
Plage requise: -2 <= x <= 2
Exemple:

0

response_format
object

Spécifier le format de la réponse

Remarque :

  • Définir sur {"type": "json_object"} pour activer le mode JSON
  • En mode JSON, le modèle produira un contenu au format JSON valide
  • Il est recommandé de demander explicitement une sortie JSON dans le message system ou user pour obtenir les meilleurs résultats
stop

Séquences d'arrêt, le modèle arrête la génération lorsqu'il rencontre ces chaînes

Remarque :

  • Peut être une chaîne unique ou un tableau de chaînes
  • Prend en charge jusqu'à 16 séquences d'arrêt
stream
boolean
défaut:false

Indique si la réponse doit être retournée en streaming

  • true : retour en streaming, le contenu est renvoyé bloc par bloc en temps réel via SSE (Server-Sent Events)
  • false : attendre la réponse complète et la retourner en une seule fois (par défaut)
Exemple:

false

stream_options
object

Options de réponse en streaming

Valide uniquement lorsque stream=true

tools
object[]

Liste des définitions d'outils, utilisée pour Function Calling

Remarque :

  • Prend en charge jusqu'à 128 définitions d'outils
  • Chaque outil doit définir un nom, une description et un schéma de paramètres
Maximum array length: 128
tool_choice

Contrôle le comportement d'appel des outils

Valeurs possibles :

  • none : n'appeler aucun outil
  • auto : le modèle décide automatiquement d'appeler ou non un outil (par défaut lorsque tools est fourni)
  • required : force le modèle à appeler un ou plusieurs outils
  • Forme objet {"type":"function","function":{"name":"xxx"}} : spécifier un outil particulier à appeler

Valeur par défaut : none si tools n'est pas fourni, auto si tools est fourni

Options disponibles:
none,
auto,
required
logprobs
boolean
défaut:false

Retourner ou non la probabilité logarithmique des tokens

Remarque :

  • Lorsque défini sur true, la réponse inclura les informations de probabilité logarithmique de chaque token
top_logprobs
integer

Retourner la probabilité logarithmique des N tokens avec la probabilité la plus élevée

Remarque :

  • Nécessite logprobs défini sur true
  • Plage de valeurs : [0, 20]
Plage requise: 0 <= x <= 20
logit_bias
object

Mappage de biais des tokens

Remarque :

  • La clé est l'ID du token dans le tokenizer, la valeur est un biais entre -100 et 100
  • -100 signifie interdire totalement ce token, 100 signifie forcer la génération
  • La plage typique -1 à 1 produit déjà un effet observable
n
integer
défaut:1

Nombre de complétions de chat à générer pour chaque message d'entrée

Remarque :

  • Par défaut 1 ; lorsque défini sur N, N candidats seront retournés (facturés à N × output_tokens)
Plage requise: 1 <= x <= 8
Exemple:

1

seed
integer

Graine aléatoire (Bêta)

Remarque :

  • Une fois spécifiée, le modèle tentera un échantillonnage déterministe
  • Même seed + mêmes autres paramètres → même sortie (garantie non à 100 %)
user
string

Identifiant unique représentant l'utilisateur final

Remarque :

  • Permet à la plateforme de surveiller et détecter les abus
  • Il est recommandé d'utiliser un ID utilisateur haché

Réponse

Génération de conversation réussie

id
string

Identifiant unique de la complétion de conversation

Exemple:

"53c548dc-ec02-4a2f-bbb6-eca4184630b8"

model
string

Nom du modèle réellement utilisé

Exemple:

"deepseek-v4-flash"

object
enum<string>

Type de réponse

Options disponibles:
chat.completion
Exemple:

"chat.completion"

created
integer

Horodatage de création (Unix en secondes)

Exemple:

1777021417

choices
object[]

Liste des choix de génération de conversation

usage
object

Statistiques d'utilisation des tokens (avec détail du cache et du raisonnement)

system_fingerprint
string

Identifiant d'empreinte système

Exemple:

"fp_evolink_v4_20260402"