API de Hermes: Cambia tu cliente en tres líneas
Comienza con la API de Hermes en minutos usando SDKs estándar de OpenAI. Esta guía rápida cubre configuración, peticiones básicas, streaming y manejo de errores para tu integración de LLM sin censura.
- por 1M tokens de entrada
- $0.25
- Tokens de salida / 1M
- $1.00
- ventana de contexto de tokens
- 100,000
- crédito de prueba
- $0.50
- peticiones por minuto
- 300
Instala el SDK de OpenAI
Dado que nuestro endpoint es compatible con OpenAI, puedes usar los SDKs oficiales que ya conoces. Este enfoque te permite cambiar de otros proveedores sin reescribir la lógica de tu aplicación. Admitimos el paquete estándar openai para entornos Python y Node.js.
Asegúrate de usar una versión reciente del SDK para garantizar la compatibilidad con las funciones de streaming y llamadas a funciones. La biblioteca cliente maneja automáticamente la serialización JSON y el transporte HTTP, así que puedes centrarte en los parámetros del modelo en lugar de los detalles de red.
Configura la URL base y la clave
La autenticación se maneja con un token Bearer en el header Authorization. Obtienes tu clave registrándote con email y contraseña en nuestro panel. No se requiere tarjeta para la prueba y puedes regenerar tu clave en cualquier momento para revocar el acceso.
Establece la URL base en nuestro endpoint dedicado. Esto asegura que todas las peticiones vayan a nuestra infraestructura de modelo sin censura en lugar de la nube predeterminada de OpenAI. Puedes encontrar tu clave de API en la página 'Obtener clave de API' inmediatamente después del registro.
Envía tu primera petición
Envía una petición estándar de completado de chat para probar la conectividad. El ID del modelo es siempre uncensored. Este modelo está ajustado para responder sin rechazos de contenido para uso adulto legal, lo que lo hace ideal para escritura creativa, roleplay o investigación sin restricciones.
- Usa
POST /v1/chat/completionspara la generación de texto. - La ventana de contexto admite hasta 100.000 tokens para prompt más completado.
- Las peticiones se cobran según el recuento de tokens de entrada y salida.
curl https://api.hermesllmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Habilita streaming (SSE)
Para una mejor experiencia de usuario, habilita el streaming para recibir tokens a medida que se generan. Esto reduce la latencia percibida, especialmente para respuestas más largas. El servidor devuelve Eventos Enviados por Servidor (SSE) que tu cliente puede analizar en tiempo real.
Establece el parámetro stream en true en el cuerpo de tu petición. El SDK generará fragmentos a medida que lleguen. Esto es particularmente útil para interfaces de chat donde deseas mostrar texto de forma incremental en lugar de esperar a que termine toda la respuesta.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Usa llamadas a funciones
Nuestra API admite llamadas a funciones, permitiendo que el modelo genere JSON estructurado para la ejecución de herramientas externas. Define tus funciones en el parámetro tools, y el modelo devolverá tool_calls en la respuesta si corresponde.
Esta función funciona exactamente como se documenta en la especificación de OpenAI. Puedes analizar el nombre de la función y los argumentos, ejecutar la lógica de tu backend y devolver los resultados a la conversación. Es totalmente compatible con los flujos de trabajo de llamadas a funciones de los SDK estándar de OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hermesllmapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Consulta los modelos disponibles
Consulta el endpoint de modelos para verificar la conectividad y ver las opciones disponibles. Actualmente, ofrecemos un único modelo dedicado: uncensored. Esta simplicidad evita la complejidad del enrutamiento de modelos o infraestructura genérica, asegurando un comportamiento predecible.
También puedes usar este endpoint para depurar problemas de autenticación. Si la petición falla, verifica la validez de tu clave de API y la conectividad de red. La respuesta enumerará los detalles del modelo, incluido el tamaño de la ventana de contexto y los límites de tokens.
from openai import OpenAI
client = OpenAI(base_url="https://api.hermesllmapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Maneja límites de peticiones y errores
Nuestra API aplica un límite de 300 peticiones por minuto por clave. Si excedes esto, recibirás un error 429. También admitimos un límite de cuerpo de petición de 8 MB para prompts complejos o ventanas de contexto grandes.
Los errores comunes incluyen 401 (clave inválida) y 402 (crédito insuficiente). El crédito prepago no caduca, así que puedes recargar cuando te convenga. Los bonos de crédito se aplican automáticamente para compras más grandes: +5% desde $50 y +10% desde $100.
Especificaciones técnicas
Todos los límites y funciones reales de la API en un solo lugar: revísalos antes de recargar.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| ID del modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.hermesllmapi.com/v1 |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Modo JSON | response_format: {"type": "json_object"} |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Concurrencia | 8 peticiones a la vez por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Límite de peticiones | 300 por minuto por clave |
| Tamaño de petición | hasta 8 MB |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Bono | +5 % desde $50, +10 % desde $100 |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Prueba gratis | $0,50 durante 7 días, sin tarjeta · Clave de prueba: 2 solicitudes paralelas, 60 por minuto; límites completos (8 y 300) tras la primera recarga |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |
Preguntas y respuestas
¿La API de Hermes admite generación de imágenes o audio?
No, actualmente ofrecemos una API de chat-completions solo de texto. No admitimos embeddings, generación de imágenes, audio o video, ni ofrecemos ajuste fino. Nos enfocamos en proporcionar un modelo de texto sin censura directo para clientes compatibles con OpenAI estándar.
¿Cómo maneja el modelo sin censura el contenido para adultos?
El modelo no rechaza temas adultos legales, ficticios o controversiales. Sin embargo, existe un límite estricto de contenido: las solicitudes que involucren contenido sexual con menores siempre se bloquean. Esta es la única restricción estricta aplicada a tus prompts.
¿Qué sucede si me quedo sin crédito?
Tu clave de API permanece activa, pero las solicitudes devolverán un error 402 indicando fondos insuficientes. Puedes recargar tu cuenta con criptomonedas (USDT o USDC) en cualquier momento. Tu crédito prepago no caduca, así que puedes agregar fondos cuando estés listo para continuar.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.