halfoff.devDocs
Obtén una clave
Cuenta

Uso y registros

Mira cuánto gasta cada clave de Half Off Dev, revisa tokens, latencia y errores por petición, rastrea llamadas por ID y cuadra tu saldo.

Pagar la mitad solo sirve de algo si ves a dónde va el dinero. Half Off Dev registra cada petición a modelos que hacen tus claves, normalmente a los pocos segundos de terminar, y te ofrece cuatro sitios donde mirar.

PáginaPara qué sirve
OverviewSeguir el gasto, la tasa de éxito y la latencia en el tiempo, por grupo de canales y por modelo
LogsRevisar cada petición: tokens, cargo, tiempos, errores
API keysComparar el gasto acumulado y el último uso de cada clave
BillingConsultar saldo, créditos y gasto diario

Panel de resumen#

Overview suma el tráfico de todas tus claves en las últimas 24 horas, 7, 30 o 90 días.

IndicadorQué te dice
GastoImporte cobrado en el periodo y número de peticiones
Tasa de éxitoPorcentaje de peticiones correctas y cuántas fallaron
TTFT P95Tiempo hasta el primer token en el percentil 95, con la media
RendimientoMedia de tokens de salida por segundo
Tasa de aciertos de cachéPorcentaje de tokens de entrada servidos desde la caché de prompts
SaldoLo que te queda y cuántas claves activas tienes

Debajo de los totales hay gráficos de gasto y de tokens, desgloses Por grupo de canales y Por modelo, y una Distribución de errores que agrupa las peticiones fallidas por tipo de error. El tiempo hasta el primer token y el rendimiento se miden solo en peticiones con streaming.

Logs#

Logs lista tus peticiones a modelos de la más reciente a la más antigua, 50 por página; Cargar más carga las anteriores. Filtra por grupo de canales, modelo, estado (Completado o Fallido) y, si tienes varias, por clave de API.

ColumnaContenido
HoraInicio de la petición. Pasa el ratón para ver la hora exacta.
ModeloID del modelo. ⇢ indica una petición con streaming.
GrupoGrupo de canales que la atendió
EstadoCódigo HTTP que recibiste
Ent.Tokens de entrada, incluidos los escritos en la caché de prompts
En cachéTokens de entrada leídos de la caché de prompts
Sal.Tokens de salida, incluidos los de razonamiento
TTFTTiempo hasta el primer token, en peticiones con streaming
Tok/sTokens de salida por segundo
CargoLo que pagaste por ella

Haz clic en una fila para ver el detalle: Id de solicitud, la Clave usada, el Formato de API (anthropic, openai o gemini), la Latencia total, Escritura de caché y Tokens de razonamiento, la tasa de Acierto de caché, el tipo de Error si falló y la Afinidad. Al final, Pregunta a soporte sobre esta solicitud abre una consulta a soporte con el ID ya rellenado.

Afinidad#

La afinidad indica si la petición se mantuvo en el mismo canal que el resto de su conversación, que es lo que permite a la caché de prompts abaratar las conversaciones largas. El ahorro se explica en Caché de prompts.

ValorSignificado
newPrimera petición de la conversación
stickyUn turno posterior que siguió en el canal de su conversación, así que la caché pudo reutilizarse
explicitAgrupada por un ID de sesión que envió tu cliente
noneNo hay conversación con la que agruparla

Qué se registra#

  • Toda petición que superó las comprobaciones de clave y saldo, haya ido bien o mal. Las fallidas muestran su estado y tipo de error, con un cargo de $0.
  • No se registran, ni se cobran, las peticiones rechazadas en la entrada: clave ausente o no válida, cuerpo que no es JSON, modelo desconocido, modelo que la clave no tiene permitido, saldo vacío y clave por encima de su límite de ritmo. Tu código recibe el error directamente.

Los registros se conservan 90 días.

IDs de petición#

Cada respuesta de un modelo lleva la cabecera x-halfoff-request-id, por ejemplo req_3f9c1a7e5b2d4c6e8a0b1d2f. Es el mismo Id de solicitud que ves en Logs. Los errores también la llevan, incluidas las peticiones rechazadas antes de registrarse (clave incorrecta, saldo vacío, modelo desconocido), y soporte puede rastrearlas solo con ese ID.

Guárdalo junto a tus propios registros e inclúyelo cuando preguntes a soporte por una llamada.

curl -sD - -o /dev/null https://halfoff.dev/v1/chat/completions \
  -H "Authorization: Bearer $HALFOFF_API_KEY" \
  -H "content-type: application/json" \
  -d '{"model": "gpt-6.1-sol", "messages": [{"role": "user", "content": "Responde con una palabra: ¿listo?"}]}' \
  | grep -i '^x-halfoff'

La cabecera x-halfoff-group de esa misma respuesta indica qué grupo de canales la atendió.

Cuadrar los cargos#

Tu saldo solo se mueve por dos motivos: los créditos lo suben y las peticiones lo bajan.

  • Créditos: recargas, códigos canjeados y ganancias por referidos, en Historial de saldo dentro de Billing.
  • Peticiones: cada petición cobrada, en Logs.

Para auditar una sola clave, compara su Gastado en API keys con sus peticiones en Logs, filtradas por esa clave.

Las pequeñas diferencias suelen deberse a una de estas causas:

  • Los cargos llegan con unos segundos de retraso. Se registran poco después de que termine la petición, así que un total consultado en pleno pico de tráfico puede ir algo por detrás.
  • Un stream que cortas se cobra por lo que se generó. Si cierras el stream antes de su evento final de uso, la salida se factura según una estimación del texto que ya recibiste. Consulta Streaming.
  • La columna Charge es la referencia. Es exactamente lo que salió de tu saldo por esa petición. Los precios por token están en la lista de modelos.

Contactar con soporte#

Abre Support y pulsa Nueva solicitud. Si tu duda es sobre una llamada concreta, incluye su ID de petición (req_…); desde una fila de Logs, Pregunta a soporte sobre esta solicitud lo hace por ti. Las respuestas aparecen en la misma página y Soporte, en la barra lateral, muestra un aviso cuando llega una nueva. Responde para añadir detalles o marca la consulta como resuelta.