Saltar al contenido
Saltar al contenido

Docs / Guías

Página traducida automáticamente

Esta página se tradujo automáticamente, así que puede contener errores o sonar un poco rara. La versión en inglés es la fuente de la verdad. Leer el original en inglés.

Estima el coste antes de una ejecución

Dimensiona una ejecución de traducción antes de gastar: cuenta las claves con un dry run, deja que verbatra calcule el coste y limita la ejecución acordada.

Usa esto antes de la primera ejecución en un proyecto real, o antes de cualquier ejecución que alguien tenga que aprobar. verbatra no publica precios, porque las tarifas son del proveedor y cambian sin avisar. Cuenta lo que se te va a facturar y lo convierte en dinero en cuanto le das las tarifas actuales de tu proveedor.

En un proyecto típico, lo que cuesta es la primera ejecución, y la siguiente casi nada, porque solo se envían las claves que cambiaron.

Cuenta el trabajo

verbatra translate --dry-run
Salida
verbatra translate (dry run)
  de: 400 would translate, 0 unchanged
  es: 400 would translate, 0 unchanged
  fr: 400 would translate, 0 unchanged
3 succeeded, 0 partial, 0 failed (dry run: nothing written)

would translate es el número de claves que enviaría una ejecución real: las que faltan en el archivo de destino más las que cambiaron de texto de origen. Un dry run no construye ningún proveedor, no lee ninguna clave y no escribe nada. Toma la cifra como un límite superior: se salta la caché, que en una ejecución real sirve gratis las cadenas repetidas, y no agrupa las cadenas de origen idénticas, que una ejecución real envía una sola vez.

Estima el gasto

verbatra translate --estimate
Salida
verbatra translate (estimate)
  de: 400 would translate, 0 unchanged
  es: 400 would translate, 0 unchanged
  fr: 400 would translate, 0 unchanged
  estimate: 1200 keys in 24 requests, ~40944 input + ~30720 output tokens
  estimated spend: no rate on file for gemini/gemini-2.5-flash; add rates.table["gemini/gemini-2.5-flash"] to your config to see a currency figure
  estimate excludes: cache hits, duplicate source strings, provider-side retries, translation length, tokenizer differences, repair requests
3 succeeded, 0 partial, 0 failed (dry run: nothing written)

--estimate implica --dry-run, así que no gasta nada. Informa en la unidad que factura tu proveedor: tokens para un LLM, caracteres de origen para DeepL y Google Cloud Translation, y ningún coste de API para un servidor propio openai-compatible o libretranslate. Con --json, las mismas cifras están en result.estimate, por locale y en total, para que un script pueda decidir con ellas.

Para ver dinero, consulta la tarifa actual de tu modelo en la página de precios del propio proveedor:

ProveedorFactura porPrecios
Geminitokens de entrada y de salida (con nivel gratuito)Gemini API pricing
Anthropictokens de entrada y de salidaAnthropic pricing
OpenAItokens de entrada y de salidaOpenAI API pricing
OpenCodetokens de entrada y de salidaOpenCode Zen pricing
DeepLcaracteres de origenDeepL API pricing
Google Cloud Translationcaracteres de origenCloud Translation pricing
openai-compatible, LibreTranslatenada: tu propio servidorsin coste de API

Luego añádela a la configuración con la fecha en que la consultaste:

verbatra.config.ts
export default defineConfig({
  // ...
  rates: {
    asOf: "2026-01-15",
    currency: "USD",
    table: {
      // placeholders: copy the current rates from https://ai.google.dev/gemini-api/docs/pricing
      "gemini/gemini-2.5-flash": { inputPerMillionTokens: 1, outputPerMillionTokens: 2 },
    },
  },
});

Las tarifas de arriba son marcadores, no precios citados. Cada cifra calculada con ellas lleva la fecha asOf, así que una tabla de precios antigua se ve antigua. verbatra nunca inventa una tarifa que falta ni imprime 0.00 para un modelo que no puede tarificar; en su lugar nombra la entrada que falta. El formato de las claves y las unidades están en rates.

Entiende qué cubre la cifra

La estimación hace las cuentas que, si no, harías a mano:

  • Peticiones. Las claves de cada locale se reparten en lotes de como mucho maxBatchSize (por defecto 50), una petición por lote, más los lotes que enviaría generatePlurals.
  • Entrada. Cada petición a un LLM lleva unas reglas de sistema fijas (unos 550 tokens) y un esquema de respuesta (unos 100 tokens), y después las claves, sus descripciones, el tono y el glosario completo del locale de destino. El prompt se mide serializando la carga que se enviaría, así que un glosario grande cuenta en cada petición que lo lleva.
  • Salida. La traducción aún no existe, así que se calcula como el texto de origen más un 50 por ciento, porque el alemán, el francés y el ruso suelen ser entre un tercio y la mitad más largos que el inglés.
  • Tokens. Los caracteres se convierten a razón de unos cuatro por token, lo que encaja con prosa en inglés; otras escrituras son más densas.

Una ejecución real suele costar menos, por las dos razones por las que la cifra del dry run es un límite superior. También puede costar más, y la línea estimate excludes nombra cada motivo. Dos pesan más que el resto:

  • Reintentos. Una petición fallida se reintenta: hasta dos intentos extra en Anthropic, OpenAI, OpenCode, openai-compatible y Gemini, cinco en DeepL, ninguno en Google Cloud Translation y LibreTranslate. Un intento que llegó al modelo se factura.
  • Reparaciones. Cuando vuelven claves que faltan, verbatra envía una petición de reparación, que lleva de nuevo completos las reglas de sistema, el glosario y el tono.

Planifica con la cifra, pero no la prometas como techo. Además, la estimación solo cubre translate: volver a traducir una entrada desde Studio o con una herramienta de agente gasta por su propio camino.

Limita la ejecución

Pon a la ejecución acordada un tope firme algo por encima de la suma de tokens de entrada y salida estimados:

verbatra translate --max-tokens 80000

Una petición que superaría el tope se retiene en lugar de enviarse, y sus claves quedan pendientes para la siguiente ejecución. Si la configuración también fija maxTokens, se aplica la cifra menor. DeepL, Google Cloud Translation y LibreTranslate no informan de tokens, así que con ellos el tope se aplica contra la proyección propia de verbatra. Consulta Tope de tokens, y maxTokens y budgetBehavior para un presupuesto que valga en cada ejecución.

Calibra con un locale

La cifra exacta sale de una ejecución real. Traduce un locale y lee el consumo:

verbatra translate --locales de
Salida
verbatra translate
  de: 400 translated, 0 unchanged, 18400 tokens (10800 in, 7600 out)
  total: 18400 tokens (10800 in, 7600 out)
1 succeeded, 0 partial, 0 failed

Multiplica por el número de locales que quedan. Con --json, las cifras son usage.inputTokens y usage.outputTokens. La ejecución gasta dinero real, pero el trabajo se conserva: ese locale ya está hecho.

Lee lo que costaron las ejecuciones pasadasnuevo

El Overview de Studio lista las ejecuciones registradas con su coste, fijado cuando terminó la ejecución, así que un cambio posterior en rates nunca lo reescribe. Un importe son los tokens que informó el proveedor por la tarifa vigente entonces. Estimated es una cifra de caracteres de origen para un proveedor que no informa del uso. At least es un mínimo, porque un locale no informó de tokens. No rate significa que ninguna tarifa coincidía con ese modelo, y unknown significa que se enviaron claves pero no volvieron tokens; ninguno es gratis. Los proveedores autoalojados muestran not billed. El registro está documentado en runHistory; Review in Studio muestra la página.

Proveedores de traducción automática

DeepL y Google Cloud Translation facturan caracteres de origen, no tokens, y LibreTranslate cuenta caracteres de origen sin facturar nada. verbatra les envía el texto de origen con los placeholders como marcadores numerados cortos, sin reglas de sistema, nombres de clave ni JSON alrededor. La estimación solo cuenta caracteres de origen. DeepL no factura las etiquetas alrededor de sus marcadores; si Google factura el marcado span que los rodea no está documentado. Un valor que estos proveedores retienen (PLACEHOLDER_UNSUPPORTED) no se envía, así que los caracteres enviados pueden ser menos que el total bruto.

Google Cloud Translation

Google Cloud Translation se cuenta como DeepL: caracteres de origen en la estimación y una cifra de tokens proyectada para un presupuesto maxTokens, marcada como estimada en el resumen de la ejecución.

Estima desde un agente

Dos herramientas de agente devuelven lo que imprime translate --estimate --json, para todos los locales o un subconjunto, y nunca llaman a un proveedor:

HerramientaDónde
translation.estimateel servidor MCP
verbatra_translation_estimatelas herramientas de agente de Studio

Gasta dentro de lo estimado

Después, translation.translatePending acepta los mismos locales y un tope maxTokens. Consulta Estimar y luego gastar.

Por qué la siguiente ejecución cuesta menos

Las cifras de arriba son el coste de la primera ejecución. Después, verbatra solo envía las claves que faltan o cuyo origen cambió desde la referencia de el archivo de bloqueo, y la caché reutiliza traducciones anteriores de cadenas idénticas. En el día a día pagas por las cadenas que editaste. Para ensayar gratis, usa el nivel gratuito de Gemini o apunta openai-compatible a un modelo local; consulta Proveedores.

Relacionado

Editar en GitHub

En esta página