Commet
  • Pricing
Log InTry out
Introducción

Inicio rápido

Aprender

Trackear UsoCobro por Tokens de IAGestión de Licencias

Recursos

Referencia del SDKVersionado de APIManejo de erroresTestingCLI

Plugins

Better Auth
DocumentaciónRecursosConstruir con AIAPI ReferenceWebhooks

Cobro por Tokens de IA

Mide y cobra el uso de tokens de IA automáticamente con precios por modelo y márgenes configurables.

El Cobro por Tokens de IA te permite cobrarles a tus clientes en base a los tokens reales que consumen del modelo de IA. Commet mantiene un catálogo con más de 180 precios de modelos de IA, calcula el costo por request, aplica tu margen y lo descuenta del balance del cliente. Solo disponible para planes que usan el modelo de consumo Balance (modelos de consumo).

Cómo funciona

  1. Tu app llama a un modelo de IA (GPT-4o, Claude, Gemini, etc.)
  2. Reportas los tokens consumidos a Commet
  3. Commet busca el precio por token del modelo, aplica tu margen y descuenta del balance del cliente
  4. Al fin del ciclo de cobro, cualquier sobregiro se cobra como overage

Setup

1. Crea una feature

Ve a Features, crea una feature metered (por ejemplo, nombre: "AI Chat", código: ai_chat).

2. Agrégala a un plan Balance con pricing de AI Model

Ve a Planes, abre un plan con modelo de consumo Balance y agrega la feature. Selecciona AI Model como modo de pricing y define tu porcentaje de margen.

ConfiguraciónDescripción
Pricing ModeElige "AI Model" en vez de "Fixed Price"
MarginTu margen sobre el costo del modelo (por ejemplo, 20%)

3. Trackea el uso

Pasa model, inputTokens y outputTokens al trackear. Commet se encarga del resto.

Trackear tokens de IA con el SDK

Usa el mismo método track(). Cuando pasas model, Commet cambia a pricing por tokens de IA.

await commet.usage.track({
  customerId: "user_123",
  feature: "ai_chat",
  model: "gpt-4o",
  inputTokens: 1500,
  outputTokens: 300,
})
commet.usage.track(
    customer_id="user_123",
    feature="ai_chat",
    model="gpt-4o",
    input_tokens=1500,
    output_tokens=300,
)
inputTokens := 1500
outputTokens := 300
client.Usage.Track(ctx, &commet.TrackUsageParams{
    Feature:      "ai_chat",
    CustomerID:   "user_123",
    Model:        "gpt-4o",
    InputTokens:  &inputTokens,
    OutputTokens: &outputTokens,
})
commet.usage().track(
    TrackParams.builder("ai_chat")
        .customerId("user_123")
        .model("gpt-4o")
        .inputTokens(1500)
        .outputTokens(300)
        .build()
);
$commet->usage->track(
    customerId: 'user_123',
    feature: 'ai_chat',
    model: 'gpt-4o',
    inputTokens: 1500,
    outputTokens: 300,
);
curl -X POST https://commet.co/api/usage/events \
  -H "x-api-key: $COMMET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "feature": "ai_chat",
    "customerId": "user_123",
    "model": "gpt-4o",
    "inputTokens": 1500,
    "outputTokens": 300
  }'

Para modelos con prompt caching, incluye los cache tokens para un cobro preciso:

await commet.usage.track({
  customerId: "user_123",
  feature: "ai_chat",
  model: "anthropic/claude-sonnet-4.6",
  inputTokens: 10000,
  outputTokens: 2000,
  cacheReadTokens: 7000,
  cacheWriteTokens: 1000,
})
commet.usage.track(
    customer_id="user_123",
    feature="ai_chat",
    model="anthropic/claude-sonnet-4.6",
    input_tokens=10000,
    output_tokens=2000,
    cache_read_tokens=7000,
    cache_write_tokens=1000,
)
inputTokens := 10000
outputTokens := 2000
cacheReadTokens := 7000
cacheWriteTokens := 1000
client.Usage.Track(ctx, &commet.TrackUsageParams{
    Feature:          "ai_chat",
    CustomerID:       "user_123",
    Model:            "anthropic/claude-sonnet-4.6",
    InputTokens:      &inputTokens,
    OutputTokens:     &outputTokens,
    CacheReadTokens:  &cacheReadTokens,
    CacheWriteTokens: &cacheWriteTokens,
})
commet.usage().track(
    TrackParams.builder("ai_chat")
        .customerId("user_123")
        .model("anthropic/claude-sonnet-4.6")
        .inputTokens(10000)
        .outputTokens(2000)
        .cacheReadTokens(7000)
        .cacheWriteTokens(1000)
        .build()
);
$commet->usage->track(
    customerId: 'user_123',
    feature: 'ai_chat',
    model: 'anthropic/claude-sonnet-4.6',
    inputTokens: 10000,
    outputTokens: 2000,
    cacheReadTokens: 7000,
    cacheWriteTokens: 1000,
);
curl -X POST https://commet.co/api/usage/events \
  -H "x-api-key: $COMMET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "feature": "ai_chat",
    "customerId": "user_123",
    "model": "anthropic/claude-sonnet-4.6",
    "inputTokens": 10000,
    "outputTokens": 2000,
    "cacheReadTokens": 7000,
    "cacheWriteTokens": 1000
  }'

Los cache read tokens son mucho más baratos que los input tokens regulares. Commet cotiza cada tipo de token por separado para que los clientes paguen tarifas justas.

Tracking automático con @commet/ai-sdk

Si usas el Vercel AI SDK (solo Node.js), instala @commet/ai-sdk para trackear tokens automáticamente.

npm install @commet/ai-sdk

Envuelve tu modelo con tracked(). Cada llamada a generateText y streamText se trackea sin código extra.

import { tracked } from "@commet/ai-sdk"
import { Commet } from "@commet/node"
import { openai } from "@ai-sdk/openai"
import { generateText } from "ai"

const commet = new Commet({ apiKey: process.env.COMMET_API_KEY! })

const model = tracked(openai("gpt-4o"), {
  commet,
  feature: "ai_chat",
  customerId: "user_123",
})

const result = await generateText({ model, prompt: "Hello!" })
// Tokens trackeados y balance descontado automáticamente

Funciona con cualquier provider del AI SDK: OpenAI, Anthropic, Google y cualquier modelo disponible a través del Vercel AI Gateway.

Parámetros

ParámetroTipoRequeridoDescripción
featurestringSíCódigo de evento de una feature metered
customerIdstringSíID del cliente en Commet (cus_xxx) o tu ID externo
modelstringSíIdentificador del modelo de IA (por ejemplo, gpt-4o, anthropic/claude-sonnet-4.6)
inputTokensnumberSíCantidad de tokens de input (prompt)
outputTokensnumberSíCantidad de tokens de output (completion)
cacheReadTokensnumberNoTokens de input cacheados leídos (tarifa más barata)
cacheWriteTokensnumberNoTokens de input cacheados escritos (tarifa más cara)
idempotencyKeystringNoPreviene eventos duplicados

Formatos del identificador de modelo

Commet acepta identificadores de modelo en dos formatos:

FormatoEjemploCuándo usar
Solo Model IDgpt-4oUso directo del SDK del provider
Provider/Modelanthropic/claude-sonnet-4.6Setups con AI Gateway o multi-provider

Cálculo del costo

Para cada request, Commet calcula:

inputCost  = nonCachedInputTokens  x  inputPrice  / 1M
outputCost = outputTokens          x  outputPrice / 1M
cacheCost  = cacheReadTokens       x  cachePrice  / 1M
             + cacheWriteTokens    x  cacheWritePrice / 1M
subtotal   = inputCost + outputCost + cacheCost
total      = subtotal  x  (1 + margin%)

Catálogo de modelos de IA

Commet mantiene un catálogo de más de 180 modelos de IA con precios por token actualizados, sincronizados a diario desde el Vercel AI Gateway. El catálogo incluye precios de input, output, cache read y cache write para cada modelo.

Los providers soportados incluyen OpenAI, Anthropic, Google, Meta, Mistral, Cohere y más.

Dashboard de Costos de IA

Ve todos los costos de tokens de IA en el dashboard bajo AI Costs. Cada entrada muestra el modelo usado, el desglose de tokens, el cálculo del costo, el margen aplicado y el total cobrado.

Relacionado

  • Modelos de Consumo — Cómo funciona el modelo Balance
  • Trackear Uso — Tracking de uso estándar
  • Configurar Features — Crea features metered

¿Cómo está esta guía?

Trackear Uso

Trackea eventos de consumo para features metered con el SDK de Commet.

Gestión de Licencias

Gestiona licencias por usuario con el SDK de Commet.

En esta página

Cómo funciona
Setup
1. Crea una feature
2. Agrégala a un plan Balance con pricing de AI Model
3. Trackea el uso
Trackear tokens de IA con el SDK
Tracking automático con @commet/ai-sdk
Parámetros
Formatos del identificador de modelo
Cálculo del costo
Catálogo de modelos de IA
Dashboard de Costos de IA
Relacionado