Ce que vous configurez
Cursor est un éditeur qui prend en charge des fournisseurs de modèles personnalisés. Si vous lui fournissez une URL de base de style OpenAI, une clé et un nom de modèle, il enverra ses requêtes de chat à cet endroit au lieu de son fournisseur par défaut. Ce service utilise ce protocole : POST /v1/chat/completions avec authentification Bearer, ainsi que GET /v1/models.
Deux points à clarifier dès le départ. Il s'agit d'une API indépendante exécutant un seul modèle à poids ouverts, pas le Codex d'OpenAI ni un produit officiel de Cursor. Et Cursor modifie souvent ses écrans de paramètres, les libellés ci-dessous peuvent donc se trouver à un endroit légèrement différent dans votre version. Les trois valeurs ne changent jamais : URL de base, clé, nom de modèle.
Étape 1 : obtenez une clé et testez-la hors de Cursor
Inscrivez-vous sur la page clé API avec Google ou avec e-mail et mot de passe. Les nouveaux comptes peuvent obtenir 0,50 $ de crédit d'essai en un clic, valable 7 jours, sans carte. Cela suffit pour tester une configuration d'éditeur.
Avant de toucher à Cursor, confirmez que la clé fonctionne. Une erreur dans un éditeur est plus difficile à lire qu'une erreur dans un terminal.
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a Python function that reverses a string."}]
}'
Si vous obtenez une réponse JSON avec un code, passez à la suite. Si vous obtenez une erreur, corrigez-la ici d'abord. Les causes courantes sont un caractère manquant dans la clé ou un espace collé à la fin.
Étape 2 : configurez Cursor
- Ouvrez les paramètres de Cursor et accédez à la section des modèles.
- Trouvez le champ pour une clé API OpenAI et collez votre clé de ce service.
- Activez l'option pour remplacer l'URL de base OpenAI, et saisissez
https://api.getcodexapi.com/v1. - Ajoutez un modèle personnalisé et tapez le nom exact
uncensored. - Exécutez le bouton de vérification s'il y en a un, puis ouvrez un panneau de chat et sélectionnez
uncensoreddans la liste des modèles.
Si l'étape de vérification signale un échec, vérifiez trois choses dans l'ordre : l'URL de base se termine par /v1 sans chemin d'endpoint après, la clé a été collée sans espace blanc à la fin, et le nom de modèle n'a pas de lettres majuscules. Le guide sur la page docs liste les mêmes valeurs avec des exemples de clients supplémentaires.
Une chose à prévoir : le remplacement est un paramètre, pas un choix par modèle, donc si vous utilisez également votre propre clé OpenAI ailleurs dans Cursor, désactivez d'abord le remplacement. Notez ce que vous avez modifié.
Après avoir enregistré, posez une question simple de codage au modèle dans le chat et observez la réponse. Une première réponse lente est normale pendant que Cursor construit sa requête. Si la réponse revient, vous êtes connecté, et l'étape suivante est de l'essayer sur un vrai travail dans votre propre dépôt.
Ce qui passera ou non par votre clé
Cursor mélange plusieurs fonctionnalités. Les requêtes de chat et d'édition en ligne sont celles qui ont le plus de chances d'utiliser votre modèle personnalisé une fois sélectionné. D'autres fonctionnalités, comme l'autocomplétion Tab, ont historiquement utilisé des modèles que Cursor exécute lui-même, et les fonctionnalités de type agent peuvent dépendre de la façon dont Cursor gère les outils. La façon honnête de le savoir est d'essayer la fonctionnalité sur laquelle vous comptez et de surveiller votre solde.
C'est facile à faire : chaque réponse de cette API porte un en-tête X-Balance-USD, et votre solde est visible dans votre compte. Si vous envoyez un message de chat et que le solde ne change pas, cette requête ne nous est pas parvenue.
L'appel de fonctions est pris en charge sur cet endpoint (tools, tool_choice, streaming tool_calls, et résultats en tant que role: "tool"), ce dont ont besoin les agents d'éditeur. Le streaming fonctionne via les événements envoyés par le serveur avec stream: true. La fenêtre de contexte est de 100 000 tokens, prompt et complétion combinés, donc un gros fichier plus ses voisins tient dans une seule requête.
Pourquoi utiliser un modèle sans censure dans un éditeur
La plupart du travail de codage ne déclenche jamais de refus. Lorsqu'il y en a, ils concernent souvent des tâches légitimes qui semblent risquées pour un filtre prudent : écrire un scanner de ports pour votre propre réseau, analyser des échantillons de logiciels malveillants que vous examinez, générer des données de test contenant un langage offensant, créer le back-end d'une application de jeu de rôle ou d'application compagnon pour adultes, ou refactoriser du code qui gère la modération de contenu. Ce modèle est ajusté pour répondre sans refus de contenu pour une utilisation adulte légale.
Il s'agit toujours d'un modèle général à poids ouverts, pas d'un modèle de code spécialisé, et rien ici ne promet qu'il batte une alternative particulière sur votre base de code. Exécutez vos propres tâches à travers lui. Une règle est fixe : pas de contenu sexuel impliquant des mineurs, et cela ne peut pas être modifié.
Ce que cela coûte en pratique
La tarification est de 0,15 $ par 1 M de tokens d’entrée et de 0,50 $ par 1 M de tokens de sortie, prélevés sur le crédit prépayé sans abonnement. Le trafic des éditeurs est très consommateur d’entrée, car chaque requête renvoie le contexte du fichier.
Une requête avec 8 000 tokens d'entrée et 1 000 tokens de sortie coûte 8 000 x 0,15 $ / 1 000 000 = 0,0012 $ pour l'entrée, plus 1 000 x 0,50 $ / 1 000 000 = 0,0005 $ pour la sortie, ce qui fait 0,0017 $. Si vous en faites 150 dans une journée lourde, cela fait 150 x 0,0017 $ = 0,255 $, environ 26 centimes.
Une requête qui envoie 40 000 tokens de contexte et en reçoit 1 500 en retour coûte 0,006 $ + 0,00075 $ = 0,00675 $. Les recharges commencent à 20 $ et le crédit n’expire jamais, donc il n’y a aucune pression pour l’épuiser. Consultez la page tarification pour les paliers bonus, et la page API de codage pour l’aperçu général.
Limites de débit pour l'utilisation dans l'éditeur
Une clé complète permet 8 requêtes simultanées et 300 requêtes par minute. Une clé d'essai permet 2 simultanées et 60 par minute. Une personne tapant dans un éditeur atteint rarement l'une ou l'autre, mais une équipe partageant une clé, ou un agent qui envoie de nombreuses requêtes en parallèle, peut. Lorsque vous dépassez, l'API retourne HTTP 429. Le code rate_limited signifie trop de requêtes par minute, et concurrency signifie trop de requêtes en même temps. Si le service est brièvement surchargé, vous voyez aussi un 429 avec Retry-After: 5.
Un chat en streaming occupe son slot de concurrence jusqu'à la fin du flux. Pour une utilisation partagée, donnez à chaque développeur sa propre clé au lieu d'une clé pour l'équipe.
Liste de dépannage
- Modèle introuvable. Retapez
uncensoredsans espaces. Supprimez les anciens modèles personnalisés que vous n'utilisez pas. - Erreur d'authentification. Recopiez la clé. Assurez-vous que Cursor n'utilise pas encore une clé d'un autre fournisseur.
- Les réponses s'arrêtent prématurément. Vérifiez si Cursor définit sa propre limite de sortie. De notre côté,
max_tokensest optionnel. - Rien ne change dans votre solde. La fonctionnalité que vous avez utilisée n'est pas acheminée via votre clé personnalisée. Essayez le chat à la place.
- 429 fréquents. Réduisez les requêtes simultanées, ou utilisez une clé complète plutôt qu'une clé d'essai.
