Journal des modifications

Toutes les évolutions techniques de l'API : nouveaux endpoints, changements de comportement, corrections. Les annonces produit sont sur Nouvelles.

Notre engagement de compatibilité

Nous n'introduisons pas de rupture silencieuse. Un champ peut être ajouté à une réponse à tout moment (votre code doit ignorer les champs inconnus) ; un champ ne sera jamais retiré ni changé de sens sans annonce préalable ici et sur Nouvelles.

2026-08 : API Fichiers et API Responses#

Ajouté

  • /v1/files : téléverser, lister, récupérer, supprimer des documents ; le texte est extrait à l'enregistrement et récupérable via GET /v1/files/{id}/content (guide).
  • POST /v1/responses : format Responses d'OpenAI, avec streaming (guide).

Refusés explicitement (plutôt qu'ignorés en silence)

  • previous_response_id et store : l'API est sans état.
  • Outils intégrés (web_search, code_interpreter…).
  • Un fichier illisible est enregistré avec status: "error" et la raison exacte, jamais avec un contenu vide.

2026-08 : Mode de pensée#

Ajouté

  • reasoning_effort (minimal / low / medium / high) et thinking (enabled / disabled) sur /v1/chat/completions : voir Mode de pensée.
  • Le champ thinking de la surface Anthropic est désormais honoré (il était accepté puis ignoré), budget_tokens compris.
  • Blocs de contenu thinking dans les réponses Anthropic, et usage.cache_read_input_tokens.
  • usage.completion_tokens_details.reasoning_tokens : ce que la réflexion a coûté (déjà inclus dans completion_tokens, jamais facturé en plus).

2026-08 : FIM, préfixe et cache de contexte#

Ajouté

  • POST /v1/completions : complétion FIM (prompt + suffix), pour l'autocomplétion d'éditeur.
  • Complétion de préfixe : un dernier message assistant marqué "prefix": true est poursuivi au lieu d'être suivi d'un nouveau message.
  • Cache de contexte facturé à tarif réduit, avec les champs prompt_cache_hit_tokens, prompt_cache_miss_tokens et prompt_tokens_details.cached_tokens dans usage.

Modifié

  • Le bloc usage contient désormais toujours les champs de cache (à zéro quand le moteur n'en fournit pas). Champs ajoutés, aucun retiré.

2026-08 : Vision#

Ajouté

  • Les trois modèles acceptent des images en entrée, sur les deux surfaces : blocs image_url (format OpenAI) et blocs image base64 ou url (format Anthropic). Voir Vision.
  • Formats PNG, JPEG, WebP, GIF ; 8 Mo par image ; 8 images par requête.
  • Les images sont facturées comme des jetons d'entrée, au tarif normal du modèle.

2026-08 : Version initiale#

Ajouté

  • POST /v1/chat/completions : compatible OpenAI, avec et sans streaming.
  • GET /v1/models : catalogue des modèles, avec fenêtre de contexte et sortie maximale.
  • GET /v1/user/balance : solde du portefeuille en dinars.
  • POST /anthropic/v1/messages : compatible Anthropic Messages, avec streaming événementiel complet et appels d'outils.
  • GET /anthropic/v1/models.
  • Modèles mina-flash, mina-low, mina-full.
  • Clés API au format zir_ai_ + 48 caractères hexadécimaux, avec révocation effective en moins d'une minute.
  • Paliers de débit trial / standard / pro, avec isolement par utilisateur final via user (OpenAI) ou metadata.user_id (Anthropic).
  • En-têtes X-Request-Id, X-RateLimit-Limit-Requests, X-RateLimit-Remaining-Requests.
  • Sortie JSON via response_format: {"type": "json_object"}.
  • Appels d'outils sur les deux surfaces, y compris en streaming.
  • Portefeuille prépayé en dinars, sans abonnement. Les moyens de paiement proposés apparaissent sur la page Top up de la plateforme.

Comportements à connaître

  • Le champ model des réponses renvoie toujours le nom Mina demandé.
  • Les requêtes qui échouent sans produire de texte ne sont pas facturées.
  • Quand un moteur ne renvoie pas d'usage en streaming, la consommation est estimée et signalée comme telle dans Usage.
  • Pendant l'attente d'un moteur, la connexion est maintenue : commentaires SSE : keep-alive (surface OpenAI), événements ping (surface Anthropic).

Pas encore disponible

  • Documents PDF envoyés tels quels (blocs document).
  • response_format: {"type": "json_schema"} : utiliser json_object.
  • cache_control (marquage manuel du cache) est accepté puis ignoré : la mise en cache est automatique.
  • n > 1, logprobs, seed garanti.

Paramètres

Réponse API