QUÉ DEBE TENER A MANO
- Un enlace de invitación al clúster enviado por el administrador de su clúster. Le convierte en propietario de una organización completamente nueva.
- Esta guía todo lo que necesita para pasar de ese enlace a una integración funcional.
- Referencia de la API
- SDK de TypeScript en npm
- SDK de Python en PyPI
- SDK de C# en NuGet
- Instalación de la CLI
Bienvenido a MKA1
MKA1 es una plataforma para crear aplicaciones de IA. Ofrece a su equipo una única puerta de enlace a grandes modelos de lenguaje además de los bloques de construcción de alto nivel que los productos reales necesitan: agentes, conversaciones almacenadas, memoria a largo plazo, recuperación de documentos (RAG), herramientas y servidores MCP, prompts, habilidades, guardrails, voz y evaluaciones. Usted trabaja con MKA1 a través de dos superficies que comparten las mismas cuentas, equipos y recursos:- La Consola - un panel web para crear e inspeccionar todo manualmente: ejecutar prompts en el Playground, guardar agentes, indexar archivos, generar claves API, gestionar su organización y sus equipos. La consola vive en la dirección de su clúster (por ejemplo platform.mka1.com).
- La API y los SDK - las mismas capacidades sobre HTTPS, llamadas desde su propio código mediante el SDK de TypeScript, Python o C#, la CLI
mka1o curl a secas. Así es como su aplicación habla con MKA1 en producción.
Antes de empezar
Solo necesita dos cosas para comenzar, y ya tiene ambas:- Un enlace de invitación al clúster. Su administrador creó una invitación en el clúster y le envió el enlace. Al abrirlo, se convierte en propietario de una nueva organización dentro de ese clúster.
- Esta guía. Le lleva desde la invitación hasta una integración funcional con el SDK.
Configuración en 15 minutos
- Paso 1 Acepte su invitación al clúster y cree su organización.
- Paso 2 Oriéntese en la consola.
- Paso 3 Invite a compañeros y cree un equipo (las claves API viven en los equipos).
- Paso 4 Cree una clave API.
- Paso 5 Instale un SDK.
- Paso 6 Autentique sus solicitudes.
- Paso 7 Realice su primera solicitud.
Paso 1 · Acepte su invitación al clúster
Abra el enlace de invitación al clúster que le envió su administrador. Lleva un token de un solo uso y le deja en la página Set up your organization. Una invitación al clúster es una invitación de propietario - al aceptarla se crea una nueva organización y usted queda como propietario.Haga esto
- Abra el enlace de invitación. La página valida el token y muestra una insignia de Owner invite (y una fecha de caducidad, si se configuró una). Si dice que la invitación no está disponible, el token de invitación ha caducado o ha sido revocado. Pida a su administrador un enlace nuevo.
- Nombre su organización. Escriba un nombre como Acme Inc. Se genera automáticamente un slug de URL del espacio de trabajo (p. ej. acme-inc); expanda Customize si desea editarlo. Solo minúsculas, números y guiones.
- Elija cómo iniciar sesión. Cree una cuenta con correo y contraseña, o continúe con Google. Si la invitación estaba vinculada a su dirección de correo, esa dirección aparece precargada y bloqueada.
- Verifique su correo. Si se registró con contraseña, MKA1 le envía un correo de verificación. Haga clic en el enlace para confirmar; después entra directamente en su nueva organización.
- Ya está dentro. Aterriza en la consola como propietario de su organización, listo para invitar a compañeros y crear claves.
Ahora usted es el propietario de la organizaciónEl propietario tiene control total. Uso, miembros, equipos y configuración. Todos los demás que incorpore serán administradores o miembros (se cubre en el Paso 3). Si ya había iniciado sesión en MKA1 con un correo distinto al de la invitación, cierre sesión primero: las invitaciones están vinculadas a una dirección específica.
Paso 2 · Recorra la consola
Tómese un minuto para orientarse. La barra lateral izquierda agrupa cada superficie en Access, LLM, Agents y Admin. Esto es para qué sirve cada sección. Usará varias de ellas en los pasos siguientes.
Access
| Sección | Qué hace ahí |
|---|---|
| API Keys | Cree y gestione las claves de autenticación que usa su código (Paso 4). |
| Organizations | Gestione miembros, roles, equipos e invitaciones pendientes. |
| Teams | Cree equipos y gestione su membresía. Cada clave API está limitada a un equipo. |
| Service Accounts | Cree identidades no humanas para producción y adjúntelas a equipos. |
LLM
| Sección | Qué hace ahí |
|---|---|
| Playground | Chatee con modelos de forma interactiva. Transmita respuestas en tiempo real. Configure herramientas, habilidades y guardrails, con un panel de ajustes avanzados. |
| Models | Explore los modelos disponibles a través de la puerta de enlace, agrupados por modalidad, con detalles del registro para administradores. |
| Responses | Cree respuestas individuales e inspeccione el historial almacenado, la salida, las llamadas a herramientas y el uso de tokens. |
| Evals | Construya suites de evaluación y lance ejecuciones duraderas para medir y comparar la calidad de los modelos. |
| Conversations | Cree e inspeccione el estado de conversaciones almacenadas, con búsqueda por metadatos. |
| Text to speech | Sintetice voz a partir de texto e inspeccione el historial de generación. |
| Speech to text | Transcriba audio a texto e inspeccione el historial de transcripciones. |
| Prompts | Cree, versione y revierta plantillas de prompts reutilizables con {{variables}}. |
| Guardrails | Configure políticas de palabras prohibidas, inyección de prompts y filtraciones, y luego pruébelas. |
| Files | Suba, inspeccione y elimine archivos usados por flujos de trabajo LLM. |
| Vector Stores | Cree almacenes, adjunte archivos y busque fragmentos de documentos indexados para recuperación (RAG). |
| Feedback | Registre y actualice retroalimentación humana sobre la salida del modelo; consulte registros o exporte una instantánea en parquet. |
| Skills | Suba, versione y gestione habilidades reutilizables, cada una empaquetada tras un manifiesto SKILL.md. |
| MCP Servers | Registre definiciones de servidores MCP que los agentes guardados pueden adjuntar como herramientas; los secretos permanecen en Credentials. |
| Credentials | Guarde los secretos que sus servidores MCP e integraciones necesitan, separados de sus definiciones. |
Agents
| Sección | Qué hace ahí |
|---|---|
| Quickstart | Ponga en marcha un agente guardado rápidamente - elija un modelo, escriba instrucciones, adjunte herramientas y ejecútelo. |
| Agents | Cree y ejecute agentes guardados que agrupan un modelo, instrucciones, herramientas y metadatos. |
| Sessions | Rastree y depure ejecuciones de agentes. Reproduzca la transcripción y recorra los eventos sin procesar. |
| Memory Stores | Explore las memorias en markdown que los agentes leen y escriben entre ejecuciones. |
Admin
| Sección | Qué hace ahí |
|---|---|
| Audit | Revise solicitudes de auditoría de la puerta de enlace, construya casos y exporte respuestas (los administradores del clúster ven todas las organizaciones; los administradores de organización ven la actividad de su org). |
| Alerts | Registre endpoints de webhook que se disparan cuando fallan las respuestas, con alcance de clúster, organización o equipo. |
| Model Registry | Añada y configure los modelos personalizados disponibles en el registro de su organización. |
| Pricing | Mantenga el libro de precios de modelos: moneda del clúster, precios por modelo y anulaciones por organización (solo administradores del clúster). |
| Budgets | Cree presupuestos de gasto de la org con umbrales de alerta/bloqueo y estado de gasto en vivo (los presupuestos de claves API los gestiona el administrador del clúster). |
| Usage | Revise el uso de tokens, solicitudes y almacenamiento del org y equipo activos. |
| Fine-tuning | Lance y supervise ejecuciones de fine-tuning y checkpoints (próximamente). |
| Serving | Despliegue modelos en el clúster: despliegues con escalado y reversión, registros de modelos, imágenes, trabajos de fine-tuning, aceleradores y secretos (administradores). |
Paso 3 · Invite a su equipo y organice el acceso

La organización y su propietario
Cuando acepta la invitación al clúster, se convierte en propietario de su organización. El propietario tiene control total: métricas de uso, miembros, equipos y configuración. Todos los demás que incorpore son administradores o miembros:| Rol | Qué puede hacer |
|---|---|
| Propietario | Control total de la organización - uso, miembros y configuración. |
| Administrador | Gestiona miembros, equipos y claves API en toda la organización. |
| Miembro | Accede a los modelos, archivos y claves API de su equipo. |
Equipos
Dentro de una organización usted crea equipos, y los miembros pertenecen a uno o más de ellos. Los equipos son donde realmente viven el trabajo y el acceso: las claves API, los agentes y otros recursos están limitados a un solo equipo. Una clave generada en un equipo concede acceso únicamente a los recursos de ese equipo. Sacar a alguien (o a una cuenta de servicio) de un equipo revoca el acceso que venía con él, y las claves ligadas a ese equipo dejan de funcionar. Esto convierte a los equipos en la frontera natural para separar proyectos, entornos o unidades de negocio. Gestiónelos en Access → Teams, donde puede crear un equipo y gestionar su lista plana de miembros.Invitar a compañeros

- Sin cuenta todavía (Este es el escenario más probable) - se registran (correo/contraseña o Google) con el correo invitado, lo verifican y vuelven a la invitación para terminar de unirse.
- Ya con sesión iniciada con el correo invitado - un clic en Accept & join los añade a la organización.
- Con sesión iniciada con otro correo - se les pide cambiar primero a la cuenta invitada, ya que las invitaciones están vinculadas a una dirección específica.
Cuentas de servicio para producción
Para sistemas de producción, ejecutores de CI, servicios backend y trabajos programados, use una cuenta de servicio en lugar de las credenciales de una persona. Una cuenta de servicio es una identidad máquina no humana que usted adjunta a uno o más equipos, y para la que genera claves API. Puede crear una navegando a Access → Service accounts y haciendo clic en New service account en la esquina superior derecha. Como las claves heredan el alcance del equipo, separar una cuenta de servicio de un equipo (o eliminarla) detiene inmediatamente todas las claves generadas para ella en ese equipo, dándole un interruptor de apagado limpio para las credenciales de producción.Paso 4 · Cree una clave API

1 · Identidad
Nombre la clave (p. ej. Production gateway) y elija el principal como el que actúa: My user (usa su rol de org y el equipo seleccionado) o una Service account (una identidad no humana dedicada. Las cuentas de servicio se recomiendan para casos de uso en producción).2 · Vinculación de alcance
Elija la organización y el equipo a los que pertenece la clave. Una clave solo puede ver recursos dentro de ese único equipo en esa única org — así que elija el equipo cuyos modelos, archivos y agentes debe alcanzar esta clave. (Si aún no tiene equipo, cree uno primero en Access → Teams; las claves deben estar limitadas a un equipo.)3 · Permisos (scopes)
Elija qué recursos puede leer y escribir la clave. Los scopes se comprueban en cada solicitud. Use un preajuste para avanzar rápido y luego afine:- Standard - los scopes de lectura/escritura cotidianos para crear apps (respuestas, conversaciones, archivos, almacenes vectoriales, prompts, agentes y más).
- Read-only - todos los scopes
read:y nada más. - All - todos los scopes, incluidos los exclusivos de administrador. Disponible solo para propietarios y administradores de la org.
4 · Limitación de tasa (opcional)
Opcionalmente limite la clave a un número máximo de solicitudes por minuto, hora o día. La puerta de enlace lo aplica y devuelve429 Too Many Requests antes de que la solicitud llegue a un modelo, así que las llamadas por encima del límite no cuestan nada.
Paso 5 · Instale un SDK
MKA1 ofrece SDK para TypeScript, Python y C#, además de una CLImka1 independiente. Cada cliente se autentica con su clave API como token Bearer y apunta a la puerta de enlace de la API. La puerta de enlace alojada por defecto es https://apigw.mka1.com.
Clústeres privadosEn un despliegue privado, sustituya
https://apigw.mka1.com por el host de la puerta de enlace de su propio clúster en todo lo que sigue. Páselo como la opción serverURL / server_url / serverUrl del SDK, o configúrelo una vez para la CLI. Su administrador puede decirle la URL de la puerta de enlace (es la contraparte de API de su dirección de consola).TypeScript - @meetkai/mka1
El SDK de TypeScript se instala desde el registro de paquetes npm:Python - meetkai-mka1
Requiere Python 3.10 o más reciente:C# - MeetKai.MKA1
CLI - mka1
Los binarios precompilados se sirven desde downloads.mka1.com. En macOS (Apple silicon):Paso 6 · Autentique sus solicitudes
Cada solicitud lleva su clave API como token bearer en el encabezadoAuthorization. Para apps multiusuario del lado del servidor también envía X-On-Behalf-Of para identificar para cuál de sus usuarios finales es la solicitud.
Cuándo enviar X-On-Behalf-Of
EstablezcaX-On-Behalf-Of con un identificador estable de su propio sistema (p. ej. user_123) siempre que su servidor actúe para un usuario final específico. Esto mantiene las solicitudes, archivos, memoria y uso de ese usuario correctamente atribuidos. Use un ID que no cambie. Nunca use un correo ni un nombre visible.
- Solo Authorization - su propio flujo de trabajo backend, no ligado a ningún usuario final.
- Authorization + X-On-Behalf-Of - su servidor actuando para uno de sus usuarios finales; el uso y los recursos quedan asociados a él.
Emita tokens de corta duración (opcional)
Cuando un servicio descendente o un cliente de navegador necesita llamar a MKA1 sin poseer su clave API, intercambie la clave por un JWT de corta duración mediantePOST /api/v1/authentication/api-keys/exchange-token, y luego use ese JWT como token bearer. Vea la guía de autenticación y el análisis en profundidad.
Paso 7 · Realice su primera solicitud
Con una clave en mano, genere su primera respuesta. Usarmodel: 'auto' permite que la puerta de enlace elija el modelo adecuado para la solicitud.

Construya con la plataforma
Todo lo que sigue puede llamarse con la clave API que acaba de crear. Cada sección se apoya en las guías oficiales de docs.mka1.com. Siga los enlaces incorporados para la referencia completa.Generar respuestas (la llamada principal)

input para un prompt de un solo turno; el resultado incluye el texto generado en output_text. Use auto_routing: true para que la puerta de enlace elija el modelo adecuado por usted.
Llamada básica
X-On-Behalf-Of cuando actúe para un usuario final; omítalo en caso contrario.
Qué hace auto_routing
auto_routing es un indicador de solicitud opcional, separado del alias de modelo auto. Cuando establece auto_routing: true, la puerta de enlace puntúa la complejidad de la solicitud y la enruta al mejor hermano cuantizado, MoE o denso dentro de la familia de modelos que usted solicitó. Nunca cambia a un modelo no relacionado, y recurre al modelo que pidió si esa familia no tiene un hermano compatible.
La puntuación es aditiva. Sube con la longitud del prompt, muchas herramientas o herramientas de alta agencia (p. ej. code_interpreter, mcp), tool_choice: 'required', salida estructurada, un max_output_tokens grande, contexto multivuelta y señales de razonamiento complejo en el texto (debug, refactor, plan, incident, code); baja con prompts cortos y tareas simples reconocidas (traducir, resumir, clasificar, extraer). El total elige el nivel. Puntuaciones altas enrutan a dense, medias a moe, bajas a quantized. Se establece un reasoning.effort acorde (desde minimal hasta xhigh) a menos que usted mismo haya fijado el esfuerzo. Así, un breve “resuma esto” se enruta a quantized con esfuerzo minimal, mientras que un largo informe de incidente se enruta a dense con esfuerzo high (o xhigh).
Siempre que el enrutamiento se ejecuta, los metadatos de la respuesta registran routed_model - la variante realmente usada. Añada auto_routing_debug: true para obtener también un campo de metadatos auto_routing_debug: una cadena JSON compacta con el modelo solicitado y el enrutado, el nivel elegido, el esfuerzo de razonamiento, la puntuación y las razones detrás de la decisión. Se registra incluso cuando no hay variante hermana disponible, así que es útil para validar el comportamiento del despliegue. Deje este campo desactivado para el tráfico normal de producción.
Transmita texto a medida que se genera
Establezcastream: true para recibir eventos enviados por el servidor en lugar de esperar la respuesta completa. Úselo para renderizar salida parcial a medida que llega.
Entrada multimodal (imagen + texto)
La API de Responses acepta texto, imágenes, audio y archivos en una sola solicitud. Use un arregloinput estructurado de elementos de mensaje, donde content es un arreglo que mezcla input_text e input_image (imagen por URL, URI de datos base64 o un file_id subido).
Respuestas en segundo plano
Para trabajo de larga duración, establezcabackground: true (con stream: false) para obtener de inmediato una respuesta en cola, y luego recupere el resultado más tarde sondeando con mka1.llm.responses.get(...) o mediante streaming. Vea la guía de respuestas en segundo plano.
Webhooks en lugar de sondeo
En lugar de sondear, pasewebhook_url (y opcionalmente webhook_secret) al crear una respuesta en segundo plano. La puerta de enlace envía por POST cada cambio de estado a su endpoint — response.queued, response.in_progress, response.completed, response.failed, response.incomplete, response.cancelled — como { event, resource_id, created_at, data }, donde data es el objeto de evento completo.
Con un secreto configurado, cada entrega lleva X-Webhook-Signature: sha256=<hex>, un HMAC-SHA256 del cuerpo JSON sin procesar — verifíquelo antes de confiar en la carga útil. La entrega nunca bloquea la respuesta: tres intentos con retroceso exponencial y un tiempo límite de 10 segundos. El endpoint debe ser accesible públicamente — las direcciones privadas y localhost se rechazan. La puerta de enlace requiere que webhook_secret tenga al menos 16 caracteres.
Conversaciones y memoria

Conversaciones con estado
Una conversación es un contenedor del lado del servidor que la puerta de enlace usa para mantener el estado entre solicitudes de Responses, de modo que nunca reenvíe el historial completo. Cree una y luego pase su ID en cada respuesta de seguimiento.conversation en cada solicitud; la puerta de enlace mantiene el hilo por usted. Use una conversación cuando quiera un contenedor reutilizable e inspeccionable para muchos turnos y la capacidad de listar, obtener o eliminar elementos después. Use previous_response_id en su lugar cuando solo necesite bifurcar desde una única respuesta anterior.
Almacén de memoria a largo plazo
La herramienta history da al modelo memoria que persiste entre sesiones. Añada{ type: 'history' } a tools y establezca store: true; cada par solicitud/respuesta se indexa en segundo plano y se busca semánticamente (embeddings vectoriales) cuando el modelo decide que necesita recordar algo. La memoria está aislada por usuario final mediante el encabezado X-On-Behalf-Of.
Archivos, almacenes vectoriales y recuperación (RAG)

1. Suba un archivo
Suba el documento una vez. La respuesta devuelve un objeto de archivo cuyoid se parece a file_1783478060914_iemq10dh5h — páselo a los almacenes vectoriales en el siguiente paso.
2. Cree un almacén vectorial y adjunte archivos
Cree un almacén vectorial, pasando uno o más ID de archivos subidos enfileIds. El almacén devuelve un ID como vs_1783478061269_mptf5b93t0q. Los archivos adjuntos se indexan automáticamente.
createFile:
status: "in_progress" mientras se ejecuta la indexación, así que espere a que el procesamiento termine antes de confiar en los resultados de búsqueda.
3. Busque fragmentos relevantes en el almacén
Ejecute una búsqueda semántica para recuperar los fragmentos más relevantes para la pregunta de un usuario. La respuesta devuelve coincidencias clasificadas confile_id, filename, datos de puntuación y el contenido del fragmento. Alimente ese texto a su propia lógica de aplicación o a una solicitud de Responses.
Extra: extracción estructurada
Cuando necesita JSON tipado de un documento en lugar de fragmentos de texto libre, use el recurso Extract. Para trabajo puntual, llame aextract con un JSON Schema en línea — pasado como cadena JSON — y el archivo a leer. Para trabajos repetidos, guarde el esquema una vez con createSchema (aquí el esquema es un objeto simple) y ejecútelo contra muchos archivos con extractWithSchema, referenciando el id del esquema devuelto bajo data.id. Nombre un modelo explícitamente en cada llamada de extracción. Una respuesta exitosa devuelve success, un objeto data con los campos extraídos y metadata sobre la ejecución.
Agentes, herramientas y MCP

tools, tool_choice, parallel_tool_calls, max_tool_calls, text, reasoning). Cuando lo ejecuta, el servicio combina su entrada por ejecución con la configuración guardada y la reenvía a la API de Responses a través de mkllm-gateway. Cada ejecución persiste la entrada más el resultado de Responses del upstream, así que también obtiene historial de ejecuciones gratis. Los agentes reciben un id estable como agt_....
Cree un agente
Cree un agente una vez con los SDK de MKA1 para Python, TypeScript o C#, incluyendo una herramienta integradaweb_search para que las ejecuciones puedan incorporar información externa actual:
tools completo (tal como se envía por HTTPS) configura la herramienta integrada:
Ejecute un agente
Ejecute enviando solo la entrada por ejecución. La ejecución persistestatus, el gateway_response almacenado y gateway_response_id de la llamada upstream. Si la ejecución usó web_search, el gateway_response persistido incluye las entradas de llamadas a herramientas.
sdk.agents.list_agents(...) / sdk.agent_runs.list_agent_runs(agent_id=...) para inspeccionar agentes guardados y ejecuciones anteriores.
Historial de versiones y reversión
Cada cambio confirmado en un agente guardado — crear, actualizar, revertir — añade una versión inmutable, así que el historial de configuración de un agente siempre es inspeccionable. Revertir no reescribe el historial: añade una nueva versión restaurada desde la de destino.Adjunte un servidor de herramientas MCP
Más allá de las herramientas integradas, puede permitir que el modelo llame a herramientas de un servidor MCP externo añadiendo una entradamcp a tools. Establezca require_approval en "never" para ejecutar de inmediato, o "always" para pausar y pedir aprobación del usuario final. Limite las herramientas invocables con allowed_tools; pase credenciales upstream en headers (se enmascaran en las respuestas almacenadas).
require_approval: "always", cree la respuesta en modo de segundo plano, sondéela y maneje el elemento mcp_approval_request devolviendo un mcp_approval_response.
Prompts, habilidades y guardrails

Repositorio de prompts
La API de Prompts almacena, versiona y renderiza plantillas de prompts de forma centralizada. Cada cambio de plantilla crea una versión inmutable, así que obtiene un historial de cambios completo y puede revertir a cualquier versión anterior en cualquier momento. Una reversión no es destructiva y solo cambia la versión activa. Las plantillas usan marcadores{{variable}} que se renderizan del lado del servidor cuando recupera un prompt, permitiéndole reutilizar una plantilla en distintos contextos. Los prompts están aislados por clave API.
Habilidades
Las habilidades son paquetes de capacidades reutilizables y versionados que usted sube a la puerta de enlace. Cada habilidad empaqueta el comportamiento de herramientas tras un manifiesto SKILL.md. El nombre y la descripción de la habilidad se leen directamente de ese manifiesto. Puede subir un conjunto de archivos único o un paquete completo, gestionar versiones (cada habilidad rastrea una versión por defecto y la más reciente) y revisar cada archivo antes de crearla. Gestione las habilidades en el panel bajo Skills, o mediante la API de Skills.Guardrails, limitación de tasa y auditoría de uso
Estas tres funciones de gobernanza mantienen el tráfico delegado y multiusuario controlado y con rendición de cuentas:- Limitación de tasa - Cada clave API puede llevar una cuota sobre una ventana configurable — por minuto, hora o día. Cuando una clave supera su límite, la puerta de enlace devuelve
429 Too Many Requestsantes de que la solicitud llegue al modelo, así que no se consumen tokens ni se factura uso. Maneje los 429 con reintentos de retroceso exponencial. - Auditoría de uso - Revise el uso de tokens, solicitudes y almacenamiento por org y equipo en Admin → Usage, filtrable por usuario (miembros de la org). Para informes por usuario final, consulte la API de uso con su filtro
external_user_ids— la identidadX-On-Behalf-Of. Cada respuesta también devuelve unX-Request-IDque puede guardar como clave de correlación. - Guardrails - Las decisiones de política se registran en el mismo flujo de auditoría: resultados como
policy_violationothrottledy valores depolicy_actiondewarn,blockoescalatefluyen a la página de Guardrails, dándole un camino consistente desde un informe de uso hasta la acción exacta que fue permitida, advertida, bloqueada o escalada.
Habla y voz

llm.speech del SDK. Use speak para texto a voz y transcribe para voz a texto. Para conversaciones bidireccionales en tiempo real, use el modo de voz avanzado en su lugar. El modo de voz avanzado se cubre por separado.
Texto a voz
speak devuelve un archivo WAV completo. El cuerpo de la respuesta es audio binario, y los encabezados de respuesta incluyen X-Language-Code.
speakStreaming y elija mp3 (más pequeño) o pcm (sin comprimir):
Voz a texto
transcribe acepta un archivo de audio (FLAC, MP3, MP4, M4A, OGG, WAV, WebM, PCM y más) y devuelve la transcripción junto con el idioma detectado y la confianza:
includeSpeakerData: true (requiere audio WAV o PCM). La respuesta entonces incluye un arreglo speakers con segmentos etiquetados y tiempos offset_ms / duration_ms.
Archivos fuente: voz, salida multimodal.
Evaluar y observar
Una vez que algo funciona, MKA1 le ayuda a medirlo y a vigilarlo en producción.
- Evals - Construya una suite de evaluación a partir de conjuntos de datos, prompts y calificadores, y luego lance ejecuciones duraderas contra uno o más modelos. Rastree la precisión y las puntuaciones por muestra, y compare modelos en una tabla de clasificación. Úselo para elegir un modelo y para detectar regresiones antes de que se publiquen.
- Sessions - Cada ejecución de agente se registra. Reproduzca la transcripción (mensajes, razonamiento, llamadas a herramientas) y recorra los eventos sin procesar para depurar exactamente qué hizo un agente.
- Uso y auditoría - Revise el uso de tokens, solicitudes y almacenamiento por org y equipo en Admin → Usage, y filtre por usuario final cuando envíe
X-On-Behalf-Of. Cada respuesta también devuelve unX-Request-IDque puede guardar como clave de correlación.
Auditoría

X-Request-ID — devuelto en cada respuesta de la API — para saltar a la solicitud exacta. Marque entradas para revisión, agrupe solicitudes relacionadas en casos y exporte datos de respuesta para análisis fuera de línea.
Alertas

response.failed (una solicitud de respuesta falló en el proveedor del modelo) y gateway.request.failed (cualquier solicitud de la puerta de enlace devolvió un 5xx) — o deje la suscripción vacía para recibirlos todos. Los filtros opcionales limitan la entrega a claves API, códigos de error o modelos específicos.
Cada endpoint tiene una página de detalle que muestra su configuración, su secreto de firma (revelarlo, copiarlo o rotarlo) y las entregas recientes con cargas útiles y estado succeeded / failed / pending. Desde ahí puede reenviar una entrega, disparar una alerta de prueba mientras integra, y editar, deshabilitar o eliminar el endpoint — editar nunca cambia el secreto de firma.
Precios, presupuestos y uso
Cada solicitud fluye por una tubería de facturación: el uso registra los volúmenes, el libro de precios de modelos los convierte en costos y los presupuestos aplican límites sobre el resultado. Esta sección cubre los tres.Precios

- Moneda del clúster - La moneda en la que se denominan todos los precios y presupuestos.
- Precios de modelos - La tarifa por defecto del clúster, un precio por modelo. Las dimensiones de tarifa siguen la modalidad del modelo: tokens de entrada, salida, entrada en caché y razonamiento para LLM; audio y caracteres para voz; tarifas por imagen con niveles opcionales por tamaño; búsqueda web.
- Anulaciones por org - Precios por organización para cuando una org factura distinto del valor por defecto del clúster.
- Tarifas efectivas - Una vista de resolución que muestra qué precio — por defecto del clúster, anulación de org o sin precio — resuelve cada modelo para una organización dada. Los modelos sin precio facturan a 0.
- Admin → Usage - Gasto total tarificado desde el libro de precios, desglosado por organización, equipo, clave API y modelo — junto con los volúmenes subyacentes (vea Uso más abajo).
- La API - Consulte el gasto en cualquier rango de tiempo, agrupado por modelo, clave API, equipo, organización o usuario final (la identidad
X-On-Behalf-Of). Este es el alimentador para sistemas de facturación; los Presupuestos (abajo) aplican límites contra el mismo gasto.
Presupuestos

- Período y límite - Diario, semanal o mensual, con un límite en la moneda del clúster. Las ventanas de gasto se reinician en los límites del calendario UTC.
- Umbrales - Porcentajes únicos del límite, cada uno emparejado con una acción:
alert(notificar) oblock(rechazar más solicitudes). Un presupuesto que superó un umbral de bloqueo muestra Blocked en las columnas en vivo Spend y Status. - Webhook de alerta (opcional) - Una URL más un secreto de firma HMAC que recibe las notificaciones de umbral.
read:budgets / write:budgets) en el asistente de claves del Paso 4.
Uso

- En la consola - Admin → Usage muestra un gráfico de tokens en el tiempo (24h / 7d / 30d), desgloses por categoría (Responses, Completions, Embeddings, Classify, Extract) con tokens de entrada/salida y conteos de solicitudes por modelo, filas por usuario final, almacenamiento de archivos y vectores, y operaciones de sandbox — todo exportable como CSV. La sección de gasto tarifica estos volúmenes desde el libro de precios de modelos (vea Precios arriba).
- Por la API - Los endpoints por categoría (
llm.usage.responses,completions,conversations,embeddings,extract,classify,vectorStores,files) devuelven series agrupadas en el tiempo. Elija unbucket_width, filtre pormodels,user_idsoexternal_user_ids(la identidadX-On-Behalf-Of) y agrupe pormodel,api_key_id,user_id,org_idobackgroundpara informes por dimensión.
Serving
Serving convierte los aceleradores de su clúster — GPU, NPU o TPU — en endpoints de inferencia con autoescalado para los modelos que usted elija. Vive en su propia sección Serving de la barra lateral (administradores de organización y de clúster), y su organización debe ser aprovisionada para serving por el operador del clúster antes del primer uso. Seis bloques de construcción:- Deployments - Un modelo servido tras un endpoint de inferencia en aceleradores dedicados, respaldado por vLLM o SGLang. Los cambios de configuración generan una nueva revisión — vuelva a cualquier revisión anterior en cualquier momento — mientras que los cambios de escalado se aplican en el sitio. La URL del endpoint se asigna cuando el despliegue está listo, y la autenticación del endpoint requiere que los llamadores presenten una clave API válida. Cada despliegue expone estado, réplicas, revisiones, registros y métricas.
- Models - Registre un modelo servible por nombre y origen, opcionalmente fijando una rama, etiqueta o revisión de commit para despliegues reproducibles.
- Images - Construya imágenes de contenedor personalizadas (imagen OCI base, paquetes apt, comandos de build) para motores de serving y trabajos de fine-tuning; los despliegues usan por defecto la imagen estándar del motor.
- Fine-tune jobs - Entrene en los aceleradores del clúster: un modelo base, un conjunto de datos, una estrategia (LoRA por defecto, o fine-tuning completo) e hiperparámetros libres. Siga los registros y la línea de tiempo de eventos, recoja checkpoints y cancele en cualquier momento.
- Accelerators - Los tipos de aceleradores disponibles para su organización (p. ej. A100, H100) y sus límites por tipo.
- Volumes & secrets - Volúmenes persistentes (de tamaño fijo, o elásticos que crecen bajo demanda) y secretos como un hf-token, inyectados en los despliegues como variables de entorno.
En conjunto: construya un agente de principio a fin
Los bloques de construcción se componen. Este es el flujo insignia de principio a fin: indexe conocimiento, conecte herramientas, empaquete una habilidad, ensamble un agente, ejecútelo y rastree el resultado.
- Indexe conocimiento. Suba sus documentos como Files y adjúntelos a un Vector Store para que el agente pueda fundamentar respuestas en su contenido (vea Archivos, almacenes vectoriales y recuperación).
- Conecte herramientas. Registre un servidor MCP (o use herramientas integradas como
web_search) para que el agente pueda actuar y obtener datos en vivo (vea Agentes, herramientas y MCP). - Empaquete una habilidad. Agrupe comportamiento reutilizable tras un SKILL.md y súbalo bajo Skills, luego adjúntelo.
- Ensamble el agente. Cree un agente guardado con un modelo, instrucciones y ese conjunto de herramientas. Configura el agente una vez, así que no reconstruye la solicitud en cada llamada.
- Ejecútelo. Ejecute el agente con entrada nueva desde la consola o
POST /api/v1/agents/{id}/runs. Cada ejecución persiste su entrada y la respuesta de la puerta de enlace. - Rastree la ejecución. Abra Sessions para reproducir la transcripción y confirmar que el agente llamó a las herramientas correctas.
Referencia y soporte
Tenga esto a mano mientras construye:| Recurso | Dónde |
|---|---|
| Referencia completa de la API (OpenAPI + “Try it”) | Referencia de la API |
| Autenticación | docs.mka1.com/docs/authentication |
| Generar una respuesta | docs.mka1.com/docs/generate-a-response |
| Archivos y almacenes vectoriales | docs.mka1.com/docs/files-and-vector-stores |
| Gestionar agentes | docs.mka1.com/docs/managing-agents |
| Herramientas MCP | docs.mka1.com/docs/mcp-tools |
| CLI | docs.mka1.com/docs/cli/introduction |
| SDK de Python | pypi.org/project/meetkai-mka1/ |
| SDK de C# | nuget.org/packages/MeetKai.MKA1/ |
| SDK de TypeScript | npmjs.com/package/@meetkai/mka1 |
Resumen rápido
- Acepte la invitación al clúster → es propietario de una nueva organización.
- Cree un equipo e invite a compañeros.
- Genere una clave API en ese equipo (copie el secreto una vez).
- Instale un SDK y autentíquese con
Authorization: Bearer. - Llame a
responses.create— luego componga conversaciones, memoria, RAG, agentes, herramientas y voz en su app.