Documentación API y configuración de IDE — Dikaya
Comprueba una solicitud de texto antes de conectar tu editor. Aquí tienes configuraciones, límites del chat y reglas de cobro, también cuando el resultado es desconocido.
Inicio rápido
Regístrate con usuario y contraseña sin email: entre 8 y 128 caracteres, introducidos dos veces. Tu clave está en API y saldo. Las cuentas nuevas elegibles pueden recibir hasta 3 solicitudes seller-pro-2: Chat Completions de texto, 8192 tokens de salida incluido razonamiento, 6000 bytes de contexto, 10 RPM y una simultánea. Se conservan cuotas anteriores; volver a registrarte no renueva la demo.
Usa exactamente un /v1 en Base URL y Authorization: Bearer dk_…. Los ejemplos leen una variable de entorno, no guardan una clave real. Se desactivan los reintentos del SDK para evitar trabajo de pago inadvertido tras una desconexión. Comprueba estado y gasto antes de repetir manualmente. La demo no admite herramientas de agente; al recargar siguen aplicándose los permisos de la clave.
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": "Propón tres comprobaciones para una API pequeña."
}
]
}'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": "Propón tres comprobaciones para una API pequeña."}],
)
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: "Propón tres comprobaciones para una API pequeña." }],
});
console.log(response.choices[0].message.content);
console.log(response.usage);Navegador: archivos, búsqueda y ramas
El historial se guarda en tu cuenta. La búsqueda de conversaciones filtra títulos, no mensajes; ocultar el panel no borra nada. Una conversación guardada recupera su modelo y ajustes. La nueva comienza sin instrucción de sistema y con razonamiento predeterminado. Los borradores de archivos no usados ni enviados caducan a las 24 horas y se limpian al subir nuevos archivos.
Las conversaciones y versiones se guardan en el servidor. Editar una pregunta y generar crea una rama; regenerar conserva la respuesta anterior. Ver una versión guardada no llama al modelo. Detener cancela el trabajo, no los costes ya generados.
El chat de pago acepta hasta cuatro adjuntos privados: texto/código UTF-8 de 32 KiB cada uno y 48000 bytes de texto en total, o PNG/JPEG/WebP de 2 MiB y 20 millones de píxeles cada uno. El almacenamiento por cuenta es de 64 MiB. No es un lector universal de PDF ni documentos.
La búsqueda se activa expresamente: los buscadores reciben la consulta visible, no el historial oculto ni los archivos. Se guardan hasta cinco extractos reales con la respuesta. No hay recargo de búsqueda; extractos y respuesta consumen tokens normales. Un fallo no inicia generación sin fuentes en silencio.
Ajustes y límites del contexto
El chat de pago permite una instrucción de sistema de 8000 caracteres, guardada en esa conversación tras aceptar una solicitud, no globalmente. low/high/max aparecen solo si los metadatos lo admiten; el valor predeterminado omite reasoning_effort. La demo no los modifica. Responses usa reasoning.effort. El razonamiento consume salida sin un segundo cobro.
El navegador envía hasta 40 mensajes / 60000 bytes de JSON de texto de pago, o 24 / 5800 en demo, incluidas instrucciones. Puede omitir contexto antiguo sin borrar el historial. No es un conteo exacto de tokens. Se comprueban por separado contexto del modelo, cuerpo API de 16 MiB e imágenes; también rigen los límites de adjuntos.
El panel de solicitud API muestra modelo, historial y opciones con dk_YOUR_KEY, nunca el secreto. Abrir o copiar no envía nada. Con archivos/búsqueda se desactiva el cURL de texto incompleto: no se presenta un conteo preciso de futuros extractos o imágenes. El código se copia, descarga y expande como texto sin ejecutarlo; Markdown no incrusta HTML ejecutable ni imágenes remotas.
Conectar el editor
Necesitas OpenAI-compatible / Custom API. OpenAI nombra el protocolo; las solicitudes van a Dikaya y no requieren otra clave OpenAI. Prueba /v1/models, /v1/balance y texto. Tras recargar, verifica un proyecto pequeño y sus herramientas por separado: reenviar archivos e historial genera entrada facturable. La búsqueda del navegador no añade herramientas de internet a la API pública.
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
Instala OpenCode con la guía oficial. Crea opencode.jsonc en la raíz o integra dikaya en providers sin borrar otros ajustes. V2 usa providers, package y settings.baseURL; los ejemplos V1 con otra sintaxis no sirven. El secreto queda en DIKAYA_API_KEY, fuera del archivo del proyecto.
{
"$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)"
}
}
}
}
}Define la variable en la terminal del proyecto y ejecuta opencode --standalone. Ese servidor independiente hereda el entorno; uno compartido ya abierto podría no tener la clave. Abajo hay comandos macOS/Linux y PowerShell. Usa /models para elegir Dikaya y el ID exacto.
macOS / Linux
export DIKAYA_API_KEY="dk_YOUR_KEY"
opencode --standaloneWindows / PowerShell
$env:DIKAYA_API_KEY = "dk_YOUR_KEY"
opencode --standaloneEmpieza pidiendo explicar el proyecto sin cambios. Si no aparece el modelo, revisa directorio, JSON y entorno y reinicia esa instancia. Las tareas de agente necesitan recarga y herramientas autorizadas. Vigila el gasto: el contexto amplio y los pasos repetidos no son gratuitos.
Cursor: tu propia clave
Abre Cursor Settings → Models → API Keys, normalmente Cmd+Shift+J en macOS o Ctrl+Shift+J en Windows/Linux. Introduce la clave Dikaya en OpenAI API Key y activa Use OpenAI API Key. Habilita Override OpenAI Base URL con la dirección de abajo. Añade y activa seller-pro-2 en Add Custom Model y selecciónalo en un chat Ask nuevo. Puedes añadir otros ID permitidos.
Base URL: https://dikaya.cc/v1
API Key: dk_YOUR_KEY
Model ID: seller-pro-2Los nombres cambian según versión; el administrador del equipo quizá deba permitir claves personales/BYOK. Cursor Tab no cambia a Dikaya; comprueba Agent aparte. Si Verify usa un modelo integrado ausente, prueba tu ID en chat y cURL. Desactiva Override al volver a modelos integrados: algunas versiones también redirigen sus solicitudes.
Continue / VS Code y JetBrains
Instala Continue, abre ajustes de modelos y el archivo local, normalmente ~/.continue/config.yaml con YAML. Añade el modelo sin eliminar entradas; el ejemplo siguiente es de pago. Selecciónalo en el panel y recarga la extensión si hace falta. En demo usa texto y su límite permitido.
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: 8192Sustituye YOUR_DIKAYA_KEY solo en el archivo local; no subas el secreto al repositorio. Si la interfaz difiere, añade manualmente un modelo compatible con OpenAI con la misma URL e ID. Roles y herramientas dependen de la versión de Continue, no solo de la dirección API.
Cline / Roo Code
Instala la extensión y abre ajustes API. Elige OpenAI Compatible, o OpenAI con Base URL personalizada, e indica dirección, clave y seller-pro-2. El ejemplo de pago usa 16384 tokens de salida con razonamiento. Guarda, prueba una pregunta breve y luego la explicación de un archivo de un proyecto pequeño.
Base URL: https://dikaya.cc/v1
API Key: dk_YOUR_KEY
Model ID: seller-pro-2El agente exige recarga; la demo no permite herramientas ni contexto grande. Los esquemas de herramientas varían por versión. Si fallan, comprueba por separado texto, modelo y formato tools. Una salida mayor exige una reserva mayor, aunque la pregunta sea corta.
Claude Code / terminal del IDE
Abre la terminal de VS Code, JetBrains u otro entorno. ANTHROPIC_BASE_URL va sin /v1 porque el cliente añade la ruta. ANTHROPIC_AUTH_TOKEN contiene tu clave Dikaya. seller-pro-2[1m] usa un sufijo de contexto compatible; el ID sigue siendo seller-pro-2. El agente necesita acceso de pago.
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]'Las variables se aplican a esa terminal. Si las solicitudes van a otro destino, revisa conflictos de clave/dirección en entorno y proyecto. Es una conexión Messages, no garantía de todas las extensiones internas de Claude. Los nuevos modelos admiten texto y function tools normales; las extensiones no admitidas se rechazan antes de ejecutar.
Antigravity: OpenCode en la terminal
La documentación oficial no confirma una Base URL OpenAI arbitraria para el agente integrado de Antigravity. Una clave Dikaya no sustituye a Google API key. Abre proyecto y terminal, instala OpenCode, añade la configuración anterior, define DIKAYA_API_KEY y ejecuta opencode --standalone.
Elige en /models. OpenCode es un asistente separado para los archivos, no reemplaza el modelo integrado ni cambia el acceso Google, certificados o API internas. No dejes dos asistentes editando los mismos archivos simultáneamente. Si llega Custom Provider oficial, sigue la documentación de esa versión en lugar de suponer compatibilidad.
Endpoints y protocolos
GET /v1/models devuelve catálogo o, con clave, modelos permitidos y precios personales; GET /v1/balance da saldo y límites. POST /v1/chat/completions usa Chat Completions, POST /v1/responses Responses y POST /v1/messages Messages. Usa stream: true para SSE, sin tarifa de tokens distinta.
GET /v1/models
GET /v1/balance
POST /v1/chat/completions
POST /v1/responses
POST /v1/messagesLos nuevos modelos usan Chat Completions y Responses nativos. Messages adapta texto y function tools normales; las extensiones thinking/cache/media no admitidas se rechazan antes de reservar y no se descartan en silencio. Las imágenes nuevas usan puente en Chat Completions/Responses. El flujo OpenAI pide usage final. Un protocolo no concede archivos ni herramientas al cliente.
Modelos actuales y tarifas minoristas
Contexto y precios proceden de la configuración. seller-pro-2 es una GLM-5.3 modificada. Cuatro variantes nuevas GLM/Qwen/DeepSeek son modificadas; DeepSeek V4.1 Flash 1017 (Safeguards) es una original independiente. Aparecer no demuestra disponibilidad: una tarifa no confirmada detiene antes de generar. reasoning_effort solo muestra valores admitidos.
| Modelo | ID de API | Contexto, tokens | Procesamiento de imágenes | Entrada | Entrada en caché | Salida | reasoning_effort |
|---|---|---|---|---|---|---|---|
| Dikaya Flash | seller-flash | 256.000 | Directo | 2 | 0,2 | 6 | — |
| Dikaya Pro | seller-pro | 1.000.000 | Mediante descripción textual | 6 | 0,6 | 10 | — |
| Dikaya Pro 2 | seller-pro-2 | 1.000.000 | Mediante descripción textual | 6 | 0,6 | 10 | — |
| GLM 5.3 Abliterated | seller-glm-5-3 | 1.048.576 | Mediante descripción textual | 4 | 0,7 | 6 | low / high / max |
| GLM 5.3 Flash Abliterated | seller-glm-5-3-flash | 1.048.576 | Mediante descripción textual | 0,5 | 0,3 | 1,6 | low / high / max |
| Qwen3.8 Flash Next Abliterated | seller-qwen-3-8-flash-next | 262.144 | Mediante descripción textual | 0,36 | 0,18 | 1,2 | low / high / max |
| DeepSeek V4.1 Flash Abliterated | seller-deepseek-v4-1-flash | 1.048.576 | Mediante descripción textual | 1,2 | 0,3 | 3,2 | low / high / max |
| DeepSeek V4.1 Flash 1017 (Safeguards) | seller-deepseek-v4-1-flash-1017 | 1.048.576 | Mediante descripción textual | 0,1 | 0,008 | 0,3 | low / high / max |
El catálogo no es una prueba de disponibilidad en tiempo real. Se aplican los permisos de la clave y la verificación de tarifas; si no se confirman, la solicitud se detiene antes de generar. Consulta tus tarifas en /v1/models con tu clave.
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": "Propón tres comprobaciones para una API pequeña."}],
)
print(response.choices[0].message.content)
print(response.usage)Reserva, usage y coste final
Antes de inferencia se reserva atómicamente una estimación conservadora de entrada y salida máxima. El usage conocido determina el coste real y libera lo sobrante; el mismo saldo no financia dos reservas paralelas. Caché forma parte de entrada, razonamiento de salida. Las imágenes pueden añadir otra etapa, visible también en el historial de gastos.
Estimación de texto: ((entrada − caché) × tarifa de entrada + caché × tarifa de caché + salida × tarifa de salida) / 1.000.000. La caché ya forma parte de la entrada; el razonamiento se incluye en la salida cuando se utiliza. Las imágenes y solicitudes adicionales pueden añadir etapas.
Un rechazo HTTP explícito de ejecución devuelve la reserva. Corte, tiempo agotado o falta de usage pueden ocurrir cuando el trabajo ya empezó: se retiene la estimación hasta conciliar. Perder la confirmación no demuestra que no se guardó o que fue gratis. Cerrar la pestaña o detener no borra lo realizado. Las disputas se revisan manualmente en soporte de la cuenta, sin devolución automática garantizada.
Si no hay límite explícito, prima el personal de la clave; de lo contrario el predeterminado de pago es 16384. El límite del cliente prima sobre ambos; máximo 65536 sujeto al modelo. Demo Pro 2 hasta 8192, Flash antiguo 512; se respetan límites explícitos menores. Una reserva grande puede producir 402 con saldo positivo: reduce contexto/salida o recarga.
Recargas y facturas
Chat y API comparten saldo disponible. Crea factura en una red configurada y disponible: USDT TRON, TON, BNB Smart Chain, Ethereum o BTC con cartera configurada. Crearla no abona crédito. Dura 30 minutos; BTC fija cambio al crear y exige tres confirmaciones. El abono automático depende de confirmaciones y monitorización operativa.
Envía el importe exacto y paga comisiones aparte. No redondees el incremento identificador; crédito y bono figuran en factura. Importe incorrecto o retraso requieren soporte. El bono depende de un pago confirmado, no de sumar pagos previos. Sin suscripción, cargo mensual automático ni caducidad. Un código de activación concede presupuesto separado según sus condiciones, no confirma pago ni da bono de paquete.
| Paquete | Pago, USD | Crédito añadido, USD | Bonificación |
|---|---|---|---|
| Start | 5 | 5 | 0% |
| Builder | 20 | 21 | 5% |
| Studio | 50 | 55 | 10% |
| Scale | 100 | 115 | 15% |
La bonificación depende de un único pago confirmado. Los pagos separados no se suman para subir de nivel; crear una factura no añade saldo. Las condiciones personales o mayoristas no recalculan operaciones finalizadas.
Errores y recuperación
400: JSON, ID, salida y demo. 401: clave ausente, errónea, revocada o acceso bloqueado. 402: saldo libre insuficiente para reservar. 404: Base URL y un solo /v1; Claude Code sin él. 429: límite de clave, reduce concurrencia y espera. 502/503: ejecución no disponible o condiciones no confirmadas; lee error.message, type y code.
413 significa JSON mayor de 16 MiB. Reduce historial, adjuntos o resultados de herramientas. Ese rechazo de entrada ocurre antes de generar sin descontar saldo; el contexto se comprueba aparte. Una gran ventana no elimina el límite del cuerpo ni el del navegador.
Rechazo HTTP conocido no es lo mismo que respuesta de red perdida. No repitas POST automáticamente con resultado incierto. En navegador comprueba la ejecución aceptada; la recuperación manual usa el request ID original. Una nueva llamada API o reintento SDK puede generar nuevo trabajo facturado. Una excepción local no prueba coste cero.
{"error":{"message":"…","type":"…","code":"…"}}Imágenes: visión nativa y puente
seller-flash procesa imágenes directamente. Pro/Pro 2 de pago reciben primero una descripción Flash y luego responde el modelo elegido, sin sustituirlo. Son obligatorias dos reservas antes del procesamiento, facturadas por separado. La descripción puede perder detalle. Los nuevos modelos usan puente Chat Completions/Responses; demo solo texto.
Hasta ocho imágenes distintas por solicitud API. data/base64 se guarda en caché por clave 24 horas; repetir en historial no vuelve a analizar. HTTP/HTTPS no se cachea porque puede cambiar. Pro/Pro 2 admiten puente en Chat Completions, Responses y Messages. El navegador limita a cuatro adjuntos, más estricto que API.
X-Dikaya-Vision-Bridge, X-Dikaya-Vision-Cost-Usd y X-Dikaya-Vision-Cache-Hits informan del puente. dikaya_image_handling: reject lo desactiva y pide rechazo explícito de imágenes. Si falla el análisis no se ejecuta el principal y su reserva vuelve; Flash completado se cobra y usage desconocido conserva estimación. No implica lectura universal de documentos.
{
"model": "seller-pro-2",
"max_tokens": 1024,
"dikaya_image_handling": "reject",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Propón tres comprobaciones para una API pequeña."
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,IMAGE_BYTES"
}
}
]
}
]
}Datos, claves y acceso
El historial se guarda en servidor. Preguntas, respuestas y gasto se conservan para moderación manual; el administrador dispone de consola protegida y avisos Telegram privados. El material necesario llega a infraestructura externa de modelos. No publiques claves en frontend, repositorios o conversaciones. Rotarlas revoca inmediatamente el secreto anterior manteniendo saldo. Borrar no elimina automáticamente registros financieros/de moderación, avisos o copias. Condiciones y privacidad enlazadas al pie.
Preguntas frecuentes
HTTP 200 no garantiza message.content con texto. Un agente puede recibir tool_calls que el cliente ejecuta y devuelve. Con finish_reason: length, el razonamiento puede consumir la salida antes del texto final. Revisa el motivo y usage.completion_tokens_details.reasoning_tokens, no solo content. No repitas automáticamente solicitudes truncadas.
seller-flash Chat Completions desactiva razonamiento por defecto salvo ajuste explícito; no todos los modelos llamados Flash. Pro/Pro 2 mantienen su modo. reasoning_effort=none en demo Pro 2 es razonamiento bajo con traza oculta, no garantía de cero tokens ni respuesta no vacía. Contexto amplio no significa salida igual de larga.
Cuenta y /v1/balance muestran RPM y salida de tu clave. Demo: 10 RPM y una simultánea; no se promete un RPM común para todas las claves pagadas. Las herramientas IDE necesitan soporte, configuración y permisos; Base URL por sí sola no da archivos, internet ni comandos.
No hay suscripción ni caducidad del saldo. Usa el soporte de la cuenta para pagos, consumo y acceso. La revisión es manual, sin promesa de reembolso automático ni plazo de respuesta. No se publica un canal independiente de recuperación de contraseña ni existe recuperación automática.
Referencias oficiales de los clientes
Los enlaces explican herramientas externas, cuyas interfaces cambian por versión. Su documentación no amplía los permisos Dikaya. Estos ejemplos no se ejecutan y copiarlos no envía nada. Los artículos prácticos de esta edición están en una sección aparte.