Documentation API et configuration IDE — Dikaya
Validez une requête texte avant de connecter l’éditeur. Retrouvez les configurations, les limites du chat et les règles de facturation, y compris lorsque le résultat reste inconnu.
Démarrage rapide
Créez un compte avec identifiant et mot de passe, sans email : 8 à 128 caractères saisis deux fois. La clé personnelle se trouve dans API et solde. Un nouveau compte éligible peut recevoir jusqu’à 3 requêtes seller-pro-2 : Chat Completions texte, 8192 jetons de sortie avec raisonnement, 6000 octets de contexte, 10 RPM et une seule requête simultanée. Les anciens quotas sont conservés ; une réinscription ne renouvelle pas la démo.
Créer un compte · API et solde
La Base URL contient exactement un /v1 ; transmettez Authorization: Bearer dk_…. Les exemples lisent une variable d’environnement et n’intègrent aucun secret réel. Les reprises automatiques du SDK sont désactivées pour éviter une nouvelle requête payante après une coupure. Contrôlez état et dépenses avant une reprise manuelle. La démo n’autorise pas les outils agents ; après recharge, les droits de la clé s’appliquent.
cURL
curl https://dikaya.cc/v1/chat/completions \
-H "Authorization: Bearer $DIKAYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seller-pro-2",
"max_tokens": 8192,
"messages": [
{
"role": "user",
"content": "Propose trois vérifications pour une petite API."
}
]
}'Python · OpenAI SDK
import os
from openai import OpenAI
client = OpenAI(
base_url="https://dikaya.cc/v1",
api_key=os.environ["DIKAYA_API_KEY"],
max_retries=0,
)
response = client.chat.completions.create(
model="seller-pro-2",
max_tokens=8192,
messages=[{"role": "user", "content": "Propose trois vérifications pour une petite API."}],
)
print(response.choices[0].message.content)
print(response.usage)JavaScript / TypeScript · OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://dikaya.cc/v1",
apiKey: process.env.DIKAYA_API_KEY,
maxRetries: 0,
});
const response = await client.chat.completions.create({
model: "seller-pro-2",
max_tokens: 8192,
messages: [{ role: "user", content: "Propose trois vérifications pour une petite API." }],
});
console.log(response.choices[0].message.content);
console.log(response.usage);Navigateur : fichiers, recherche et branches
L’historique est enregistré dans le compte. La recherche de conversations filtre les titres, pas les messages ; masquer le panneau ne supprime rien. Une conversation retrouve son modèle et ses réglages. Une nouvelle conversation démarre sans consigne système et avec le raisonnement par défaut. Les fichiers brouillons inutilisés et non envoyés expirent après 24 heures et sont purgés lors de nouveaux téléversements.
Conversations et versions sont conservées sur le serveur. Modifier une question avec génération crée une branche ; régénérer préserve la réponse précédente. Consulter une version enregistrée n’appelle aucun modèle. Arrêter interrompt le travail, pas les coûts déjà engagés.
Le chat payant accepte quatre pièces jointes privées au maximum : texte/code UTF-8 de 32 Kio chacun, 48000 octets de texte au total, ou PNG/JPEG/WebP de 2 Mio et 20 millions de pixels chacun. Le stockage du compte est limité à 64 Mio. Ce n’est pas un lecteur universel de PDF ou de documents.
La recherche est explicite : les moteurs reçoivent la requête visible, pas l’historique caché ni les fichiers. Jusqu’à cinq extraits réels sont conservés avec la réponse. Aucun supplément de recherche ; extraits et réponse consomment des jetons ordinaires. Un échec ne déclenche pas silencieusement une génération sans sources.
Réglages et limites du contexte
Le chat payant accepte une consigne système de 8000 caractères, enregistrée pour cette conversation après acceptation d’une requête, pas globalement. low/high/max apparaissent selon les métadonnées du modèle ; le choix par défaut omet reasoning_effort. La démo ne les modifie pas. Responses utilise reasoning.effort. Le raisonnement consomme le budget de sortie sans seconde facturation.
Le navigateur envoie au maximum 40 messages / 60000 octets de JSON texte en accès payant, et 24 / 5800 en démo, consignes incluses. Les anciens messages peuvent être omis sans effacer l’historique. Ce n’est pas un comptage exact de jetons. Contexte modèle, corps API de 16 Mio et budget images sont vérifiés séparément ; les limites des pièces jointes s’ajoutent.
Le panneau de requête API montre modèle, historique et options avec dk_YOUR_KEY, jamais le secret. Ouvrir ou copier n’envoie rien. Avec fichiers/recherche, le cURL texte incomplet est désactivé : futurs extraits et images ne sont pas présentés comme précisément comptés. Le code se copie, se télécharge et se déplie comme du texte sans s’exécuter ; Markdown n’intègre ni HTML exécutable ni images distantes.
Connecter un éditeur
Le client doit proposer OpenAI-compatible / Custom API. OpenAI décrit le protocole ; la destination est Dikaya, sans autre clé OpenAI. Testez /v1/models, /v1/balance puis le chat texte. Après recharge, validez séparément petit projet et outils : les renvois de fichiers et d’historique sont des entrées facturées. La recherche du navigateur n’ajoute pas d’outil internet à l’API publique.
curl https://dikaya.cc/v1/models \
-H "Authorization: Bearer $DIKAYA_API_KEY"
curl https://dikaya.cc/v1/balance \
-H "Authorization: Bearer $DIKAYA_API_KEY"OpenCode V2
Installez OpenCode selon son guide officiel. Créez opencode.jsonc à la racine ou fusionnez dikaya dans providers en conservant les autres réglages. V2 utilise providers, package et settings.baseURL ; les anciennes configurations V1 ne conviennent pas. Le secret reste dans DIKAYA_API_KEY, pas dans le fichier du projet.
{
"$schema": "https://opencode.ai/config.json",
"model": "dikaya/seller-pro-2",
"providers": {
"dikaya": {
"name": "Dikaya",
"env": [
"DIKAYA_API_KEY"
],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://dikaya.cc/v1"
},
"models": {
"seller-flash": {
"name": "Dikaya Flash"
},
"seller-pro": {
"name": "Dikaya Pro"
},
"seller-pro-2": {
"name": "Dikaya Pro 2"
},
"seller-glm-5-3": {
"name": "GLM 5.3 Abliterated"
},
"seller-glm-5-3-flash": {
"name": "GLM 5.3 Flash Abliterated"
},
"seller-qwen-3-8-flash-next": {
"name": "Qwen3.8 Flash Next Abliterated"
},
"seller-deepseek-v4-1-flash": {
"name": "DeepSeek V4.1 Flash Abliterated"
},
"seller-deepseek-v4-1-flash-1017": {
"name": "DeepSeek V4.1 Flash 1017 (Safeguards)"
}
}
}
}
}Définissez la variable dans le terminal du projet et lancez opencode --standalone. Ce serveur séparé hérite de cet environnement ; un serveur partagé déjà lancé peut ne pas avoir la clé. Les commandes couvrent macOS/Linux et PowerShell. Dans /models, choisissez Dikaya et l’ID exact.
macOS / Linux
export DIKAYA_API_KEY="dk_YOUR_KEY"
opencode --standaloneWindows / PowerShell
$env:DIKAYA_API_KEY = "dk_YOUR_KEY"
opencode --standaloneCommencez par demander une explication sans modification. Si le modèle manque, vérifiez répertoire, JSON et environnement, puis relancez cette instance. Les tâches agents nécessitent recharge et outils autorisés. Surveillez le compte : grand contexte et étapes répétées sont payants.
Cursor : utiliser votre clé
Ouvrez Cursor Settings → Models → API Keys, généralement Cmd+Shift+J sur macOS ou Ctrl+Shift+J sur Windows/Linux. Saisissez la clé Dikaya dans OpenAI API Key, activez Use OpenAI API Key puis Override OpenAI Base URL avec l’adresse ci-dessous. Ajoutez et activez seller-pro-2 via Add Custom Model, puis sélectionnez-le dans un nouveau chat Ask. Ajoutez d’autres ID autorisés au besoin.
Base URL: https://dikaya.cc/v1
API Key: dk_YOUR_KEY
Model ID: seller-pro-2Les libellés varient ; un administrateur d’équipe peut devoir autoriser les clés personnelles/BYOK. Cursor Tab ne passe pas sur Dikaya ; vérifiez Agent séparément. Si Verify teste un modèle intégré absent, testez votre ID dans le chat et avec cURL. Désactivez Override en revenant aux modèles intégrés : certaines versions redirigent aussi leurs requêtes.
Continue / VS Code et JetBrains
Installez Continue et ouvrez les réglages des modèles puis le fichier local, généralement ~/.continue/config.yaml pour YAML. Ajoutez le modèle sans effacer les autres entrées ; l’exemple ci-dessous concerne l’accès payant. Sélectionnez-le dans le panneau et rechargez l’extension si nécessaire. En démo, utilisez le texte et sa limite de sortie autorisée.
name: Dikaya
version: 1.0.0
schema: v1
models:
- name: Dikaya Pro 2
provider: openai
model: seller-pro-2
apiBase: https://dikaya.cc/v1
apiKey: YOUR_DIKAYA_KEY
defaultCompletionOptions:
maxTokens: 16384
- name: Dikaya Flash
provider: openai
model: seller-flash
apiBase: https://dikaya.cc/v1
apiKey: YOUR_DIKAYA_KEY
defaultCompletionOptions:
maxTokens: 8192Remplacez YOUR_DIKAYA_KEY uniquement dans le fichier local ; n’envoyez pas ce secret dans un dépôt. Si l’interface diffère, ajoutez manuellement un modèle compatible OpenAI avec les mêmes URL et ID. Rôles et outils dépendent de la version de Continue, pas seulement de l’adresse API.
Cline / Roo Code
Installez l’extension et ouvrez les réglages API. Choisissez OpenAI Compatible, ou OpenAI avec Base URL personnalisée, puis adresse, clé et seller-pro-2. L’exemple payant utilise 16384 jetons de sortie, raisonnement inclus. Enregistrez, posez une question courte, puis demandez l’explication d’un fichier dans un petit projet.
Base URL: https://dikaya.cc/v1
API Key: dk_YOUR_KEY
Model ID: seller-pro-2Le mode agent nécessite une recharge ; la démo n’autorise ni appels d’outils ni grand contexte. Les schémas d’outils varient selon la version. En cas d’erreur, testez séparément texte, modèle et format tools. Une grande limite de sortie demande une réserve plus élevée, même pour une petite question.
Claude Code / terminal IDE
Ouvrez le terminal de VS Code, JetBrains ou autre. ANTHROPIC_BASE_URL ne contient pas /v1 : le client ajoute le chemin. ANTHROPIC_AUTH_TOKEN contient votre clé Dikaya. seller-pro-2[1m] utilise un suffixe de contexte compatible ; l’ID reste seller-pro-2. Le mode agent nécessite l’accès payant.
macOS / Linux
export ANTHROPIC_BASE_URL="https://dikaya.cc"
export ANTHROPIC_AUTH_TOKEN="dk_YOUR_KEY"
claude --model 'seller-pro-2[1m]'Windows / PowerShell
$env:ANTHROPIC_BASE_URL = "https://dikaya.cc"
$env:ANTHROPIC_AUTH_TOKEN = "dk_YOUR_KEY"
claude --model 'seller-pro-2[1m]'Les variables concernent ce terminal. Si la destination diffère, vérifiez les clés ou adresses concurrentes dans l’environnement et le projet. Cette connexion Messages ne garantit pas toutes les extensions internes de Claude. Les nouveaux modèles acceptent texte et function tools ordinaires ; les extensions non prises en charge sont refusées avant exécution.
Antigravity : OpenCode dans le terminal
La documentation officielle ne confirme pas de Base URL OpenAI arbitraire pour l’agent intégré d’Antigravity. Une clé Dikaya ne remplace pas Google API key. Ouvrez projet et terminal, installez OpenCode, ajoutez la configuration ci-dessus, définissez DIKAYA_API_KEY et lancez opencode --standalone.
Choisissez le modèle via /models. OpenCode travaille sur le projet comme assistant distinct, sans remplacer le modèle intégré, modifier la connexion Google, les certificats ou les API internes. Ne laissez pas deux assistants modifier simultanément les mêmes fichiers. Si un Custom Provider officiel apparaît, suivez la documentation de cette version plutôt que de supposer sa compatibilité.
Points d’accès et protocoles
GET /v1/models renvoie le catalogue ou, avec clé, les modèles autorisés et tarifs personnels ; GET /v1/balance donne solde et limites. POST /v1/chat/completions utilise Chat Completions, POST /v1/responses Responses, POST /v1/messages Messages. Activez stream: true pour SSE, sans tarif de jeton distinct.
GET /v1/models
GET /v1/balance
POST /v1/chat/completions
POST /v1/responses
POST /v1/messagesLes nouveaux modèles utilisent nativement Chat Completions et Responses. Messages adapte texte et function tools ordinaires ; les extensions thinking/cache/media non compatibles sont refusées avant réservation, jamais supprimées silencieusement. Le pont images des nouveaux modèles fonctionne avec Chat Completions/Responses. Le flux OpenAI demande le usage final. Un protocole n’accorde ni système de fichiers ni outils au client.
Modèles actuels et tarifs publics
Contexte et tarifs viennent de la configuration. seller-pro-2 est une GLM-5.3 modifiée. Quatre variantes GLM/Qwen/DeepSeek ajoutées sont modifiées ; DeepSeek V4.1 Flash 1017 (Safeguards) est une variante originale distincte. Le catalogue ne prouve pas la disponibilité : un tarif non confirmé arrête la requête avant génération. Seules les valeurs réellement prises en charge de reasoning_effort sont affichées.
| Modèle | Identifiant API | Contexte, tokens | Traitement des images | Entrée | Entrée en cache | Sortie | reasoning_effort |
|---|---|---|---|---|---|---|---|
| Dikaya Flash | seller-flash | 256 000 | Direct | 2 | 0,2 | 6 | — |
| Dikaya Pro | seller-pro | 1 000 000 | Par description textuelle | 6 | 0,6 | 10 | — |
| Dikaya Pro 2 | seller-pro-2 | 1 000 000 | Par description textuelle | 6 | 0,6 | 10 | — |
| GLM 5.3 Abliterated | seller-glm-5-3 | 1 048 576 | Par description textuelle | 4 | 0,7 | 6 | low / high / max |
| GLM 5.3 Flash Abliterated | seller-glm-5-3-flash | 1 048 576 | Par description textuelle | 0,5 | 0,3 | 1,6 | low / high / max |
| Qwen3.8 Flash Next Abliterated | seller-qwen-3-8-flash-next | 262 144 | Par description textuelle | 0,36 | 0,18 | 1,2 | low / high / max |
| DeepSeek V4.1 Flash Abliterated | seller-deepseek-v4-1-flash | 1 048 576 | Par description textuelle | 1,2 | 0,3 | 3,2 | low / high / max |
| DeepSeek V4.1 Flash 1017 (Safeguards) | seller-deepseek-v4-1-flash-1017 | 1 048 576 | Par description textuelle | 0,1 | 0,008 | 0,3 | low / high / max |
Le catalogue n’est pas un test de disponibilité en temps réel. Les permissions de la clé et la vérification du tarif s’appliquent ; des conditions non confirmées arrêtent la requête avant génération. Consultez vos tarifs via /v1/models avec votre clé.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://dikaya.cc/v1",
api_key=os.environ["DIKAYA_API_KEY"],
max_retries=0,
)
response = client.chat.completions.create(
model="seller-glm-5-3",
max_tokens=1024,
reasoning_effort="low",
messages=[{"role": "user", "content": "Propose trois vérifications pour une petite API."}],
)
print(response.choices[0].message.content)
print(response.usage)Réservation, usage et coût final
Avant génération, une estimation prudente des entrées et de la limite de sortie est réservée atomiquement. Le usage connu détermine le coût réel et libère le reliquat. Un même crédit ne finance pas deux réservations simultanées. Le cache est compris dans l’entrée, le raisonnement dans la sortie. Les images peuvent ajouter une étape, toutes deux visibles dans les dépenses.
Estimation texte : ((entrée − cache) × tarif entrée + cache × tarif cache + sortie × tarif sortie) / 1 000 000. Le cache est compris dans l’entrée totale ; le raisonnement appartient à la sortie lorsqu’il est utilisé. Images et requêtes supplémentaires peuvent ajouter des étapes distinctes.
Un refus HTTP explicite de l’exécution libère la réserve. Coupure, délai dépassé ou usage absent peuvent survenir après le début du travail : l’estimation reste retenue pour rapprochement. Un accusé perdu ne prouve ni absence d’enregistrement ni gratuité. Fermer l’onglet ou arrêter n’efface pas le travail accompli. Les litiges passent par l’assistance du compte, avec examen manuel sans remboursement automatique garanti.
Sans limite client, la valeur personnelle de la clé prime, sinon le défaut payant vaut 16384. Une limite explicite prime sur les deux ; maximum passerelle 65536 selon le modèle. Démo Pro 2 : 8192, ancien Flash : 512 ; une limite explicite inférieure reste appliquée. Un solde positif peut produire 402 si la réserve manque : réduisez contexte/sortie ou rechargez.
Recharges et factures
Chat et API partagent le crédit disponible. Créez une facture pour un réseau configuré et disponible : USDT TRON, TON, BNB Smart Chain, Ethereum, ou BTC si son portefeuille est configuré. La création ne crédite rien. Validité de 30 minutes ; cours BTC fixé à la création et trois confirmations requises. Le crédit automatique dépend des confirmations et du bon fonctionnement de la surveillance.
Envoyez le montant exact, frais réseau en plus. N’arrondissez pas l’incrément d’identification ; solde et bonus sont indiqués sur la facture. Montant incorrect ou retard : contactez l’assistance. Le bonus dépend d’un seul paiement confirmé, pas d’un cumul. Aucun abonnement, prélèvement mensuel automatique ou expiration. Un code d’activation donne un budget distinct selon ses conditions, sans constituer une preuve de paiement ni ouvrir un bonus de recharge.
| Forfait | Paiement, USD | Crédit ajouté, USD | Bonus |
|---|---|---|---|
| Start | 5 | 5 | 0% |
| Builder | 20 | 21 | 5% |
| Studio | 50 | 55 | 10% |
| Scale | 100 | 115 | 15% |
Le bonus dépend d’un seul paiement confirmé. Des paiements séparés ne se cumulent pas pour atteindre un palier ; créer une facture n’ajoute aucun crédit. Les conditions personnelles ou de gros ne recalculent pas les opérations terminées.
Erreurs et reprise
400 : JSON, ID, sortie et limites démo. 401 : clé absente, erronée, révoquée ou accès bloqué. 402 : crédit disponible insuffisant pour la réserve. 404 : Base URL et un seul /v1, sans ce suffixe pour Claude Code. 429 : limite de clé, réduisez la concurrence et attendez. 502/503 : exécution indisponible ou conditions non confirmées ; lisez error.message, type et code.
413 signifie corps JSON supérieur à 16 Mio. Réduisez historique, pièces jointes ou résultats d’outils. Ce refus de taille d’entrée précède la génération et ne débite pas le solde ; le contexte modèle est vérifié séparément. Une grande fenêtre ne supprime ni la limite du corps ni celle du navigateur.
Un refus HTTP connu n’est pas une réponse réseau manquante. Ne répétez pas automatiquement un POST dont le résultat est incertain. Dans le navigateur, contrôlez l’exécution acceptée ; la reprise manuelle conserve le request ID. Un nouvel appel API ou essai SDK peut être un nouveau travail facturé. Une exception locale ne prouve pas un coût nul.
{"error":{"message":"…","type":"…","code":"…"}}Images : vision directe et pont
seller-flash traite directement les images. Les Pro/Pro 2 payants reçoivent d’abord une description Flash, puis le modèle choisi répond, sans substitution. Deux réserves sont obligatoires avant traitement, avec facturations séparées. La description peut perdre des détails. Les nouveaux modèles utilisent le pont Chat Completions/Responses ; la démo reste textuelle.
Huit images distinctes au maximum par requête API. Les images data/base64 sont mises en cache par clé pendant 24 heures ; leur répétition dans l’historique ne relance pas l’analyse. Pas de cache HTTP/HTTPS, dont le contenu peut changer. Pro/Pro 2 utilisent le pont dans Chat Completions, Responses et Messages. Les quatre pièces jointes du navigateur constituent une limite plus stricte.
X-Dikaya-Vision-Bridge, X-Dikaya-Vision-Cost-Usd et X-Dikaya-Vision-Cache-Hits décrivent le pont. dikaya_image_handling: reject le désactive et demande un refus explicite des images. Si l’analyse échoue, le modèle principal ne démarre pas et sa réserve revient ; le Flash terminé est facturé, son usage inconnu conserve l’estimation. Les images ne signifient pas lecture de tout document.
{
"model": "seller-pro-2",
"max_tokens": 1024,
"dikaya_image_handling": "reject",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Propose trois vérifications pour une petite API."
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,IMAGE_BYTES"
}
}
]
}
]
}Données, clés et accès
L’historique est stocké sur le serveur. Questions, réponses et dépenses sont conservées pour modération manuelle ; l’administrateur utilise une console protégée et des notifications Telegram privées. Les éléments nécessaires vont à une infrastructure externe de traitement. N’exposez la clé ni en frontend, ni dans un dépôt ou une conversation. Sa rotation révoque immédiatement l’ancien secret sans perdre le crédit. La suppression n’efface pas automatiquement dossiers financiers/de modération, notifications ou sauvegardes. Conditions et confidentialité figurent en bas.
Questions fréquentes
HTTP 200 ne garantit pas un message.content non vide. Un agent peut recevoir des tool_calls que le client doit exécuter puis renvoyer. Avec finish_reason: length, le raisonnement peut épuiser le budget avant le texte final. Examinez ce motif et usage.completion_tokens_details.reasoning_tokens, pas seulement content. Ne relancez pas automatiquement une requête tronquée.
Pour seller-flash en Chat Completions, le raisonnement est désactivé par défaut sauf réglage explicite ; cela ne concerne pas tous les modèles nommés Flash. Pro/Pro 2 gardent leur mode. En démo Pro 2, reasoning_effort=none signifie raisonnement faible à trace masquée, sans garantir zéro jeton de raisonnement ou une réponse non vide. Grand contexte ne veut pas dire longue sortie.
Le compte et /v1/balance indiquent RPM et limite de sortie de votre clé. Démo : 10 RPM et une requête simultanée ; aucun RPM uniforme n’est promis aux clés payantes. Les outils IDE nécessitent prise en charge, configuration et permissions : une Base URL ne donne pas accès aux fichiers, à internet ou aux commandes.
Aucun abonnement ni expiration du solde. Utilisez l’assistance du compte pour les paiements, l’usage et l’accès. L’examen est manuel, sans remboursement automatique ni délai de réponse promis. Aucun canal public distinct de récupération de mot de passe n’est publié ; la récupération automatique n’est pas disponible.
Références officielles des clients
Ces liens expliquent les logiciels tiers, dont interfaces et possibilités changent par version. Leur documentation n’étend pas les droits d’une clé Dikaya. Les exemples ne s’exécutent pas et leur copie n’envoie rien. Les articles pratiques de cette édition sont proposés séparément.