blog/developers·13 sept 2026·7 min·por el equipo de eroq
Cómo leer tu registro de uso: cada cargo, cada reembolso
Cuadra un saldo línea a línea: qué contiene una fila de operación, por qué un reembolso es negativo y cómo saber qué miembro o clave gastó los créditos.
El saldo es 180 más bajo de lo que dicen tus cuentas, o 180 más alto, y en ambos casos te gustaría saber por qué antes de decírselo a un cliente. El registro de solicitudes lo responde, pero solo si sabes qué está registrando, porque es un libro de movimientos, no una lista de generaciones exitosas, y no son la misma lista.
Una fila por movimiento
Cada crédito que se mueve escribe una fila. La fila contiene cuándo ocurrió, la operación, el id del modelo y una cantidad de créditos con signo, y eso es lo que muestra el registro, en Registro de solicitudes, dentro del panel de desarrolladores.
Hay seis operaciones y son los únicos valores que verás en esa columna:
chat: una respuesta de RP+ o RP mini, incluidos los 2 créditos extra por imagen adjunta cuando se usa la visión.image: una llamada de generación de imágenes. Un lote de cuatro es una fila, no cuatro.video: un clip en cola.speech: una llamada de texto a voz, con precio por cada bloque de 100 caracteres empezado.transcription: una llamada de voz a texto, con precio por cada minuto de audio empezado (la duración medida está en los detalles de la fila).storage: una subida a eroq Store, 2 créditos por cada 10 MB empezados.
El registro es del espacio de trabajo, así que las llamadas de tus compañeros también aparecen, y cubre los últimos 30 días en páginas de cincuenta. La columna del modelo muestra el id público del modelo (eroq-image-anime, seedance-2-5, eroq-voice-turbo), que es la misma cadena que pasaste en la petición, así que cada fila se puede rastrear hasta una llamada concreta en tus propios logs.
Se cobra al enviar, no al entregar
La regla que explica la mayoría de los registros confusos: los créditos se gastan antes de que el motor se ejecute, nunca después. Cobrar solo cuando sale bien suena más justo y no es implementable: si no, un cliente que cuelga a mitad del stream se llevaría una generación gratis cada vez.
Así que la fila del cargo existe desde el momento en que se acepta tu petición. Un clip de video se debita cuando el job entra en cola, no cuando llega el archivo. Un lote de cuatro imágenes debita 40 créditos antes de que se dibuje el primer píxel. Lo que lo hace justo es la otra mitad de la regla: los fallos devuelven los créditos.
Una fila negativa es un reembolso
Los reembolsos se escriben como una segunda fila con una cantidad negativa, etiquetada como reembolso en la tabla y mostrada con un signo más, porque en el registro un reembolso es dinero que vuelve a ti.
Los reembolsos son automáticos y cubren todas las formas en que una generación puede quedarse sin entregar: un motor que no devolvió nada, un prompt que el motor bloqueó, un job de video que sigue sin terminar pasado su plazo de diez minutos, un stream de chat que murió antes de emitir un token, una subida que falló después de cobrarse. No hay nada que reclamar ni ningún ticket de soporte que abrir.
La cantidad te dice qué falló. Un reembolso de video siempre es el precio completo del clip, porque un clip llega o no llega. Un reembolso de imagen es una unidad (10 créditos) por cada toma fallida, así que un lote de cuatro con dos fallidas muestra un cargo de 40 créditos y dos reembolsos separados de 10 créditos. Esa asimetría es todo el diagnóstico: un reembolso parcial en una fila de imagen significa que parte de tu lote volvió vacía.
Cuadrar un saldo, paso a paso
Supón que una sesión muestra esto, de lo más reciente a lo más antiguo, en un espacio de trabajo que empezó el día con 5,000 créditos:
video seedance-2-5 +310 (refund)
video seedance-2-5 −310
image eroq-image-one +10 (refund)
image eroq-image-one −40
video eroq-motion-one −60
Léelo de abajo arriba. Un clip de Motion One de cinco segundos costó 60 y se entregó. Un lote de cuatro imágenes costó 40, una toma volvió vacía y se reembolsaron 10, así que tres imágenes costaron 30. Un clip de Seedance 2.5 de cinco segundos cobró 310 y reembolsó 310: nunca se entregó y no costó nada.
El movimiento neto es de 90 créditos, y el saldo queda en 4,910. Cinco filas, tres entregas, un fallo gratis. De aquí se siguen dos cosas. Primero, los totales del gráfico diario son netos de reembolsos, así que la cifra que muestra es lo que realmente gastaste. Segundo, el contador de solicitudes solo cuenta las filas positivas (un reembolso no es una solicitud), y por eso el número de solicitudes y el de filas difieren cualquier día en que hubo un fallo.
Saber quién lo gastó
El registro no desglosa el gasto por persona, porque el lugar que lo hace es la pestaña Miembros de tu espacio de trabajo. Cada fila de miembro muestra los créditos que ha gastado en lo que va de mes, netos de reembolsos y con un mínimo de cero.
Esa columna es también la que se usa para medir el tope mensual por miembro, y el neteo es deliberado: un colaborador externo cuyo render falló y se reembolsó solo no ha consumido nada de su asignación. El tope se reinicia el día uno de cada mes, y un administrador puede subirlo sin tocar el rol de nadie.
La atribución a una clave funciona a través de esa misma columna, no de una aparte. Cada fila del registro guarda la clave de API que hizo la llamada (las llamadas desde el estudio no guardan ninguna, ya que una sesión del navegador no es una clave), y una clave pertenece exactamente a un miembro y hereda su rol. Así que el gasto por miembro es el gasto por clave, agregado por titular. Si necesitas que la separación sea limpia, dale a cada integración su propio puesto de miembro; roles y permisos del espacio de trabajo explica qué puede hacer cada peldaño.
La vista propia de la API es más estrecha
GET /v1/account te da un saldo y un resumen de 30 días:
{
"object": "account",
"credits": 4870,
"usage_30d": { "requests": 213, "credits": 9614 }
}
Una trampa que le ha costado una tarde a más de uno: este endpoint se limita a la cuenta titular de la clave, mientras que el registro del panel abarca el espacio de trabajo. En un espacio de trabajo individual coinciden. En uno compartido, no: el usage_30d de tu clave excluye todo lo que tus compañeros gastaron del mismo monedero, aunque credits sea el saldo compartido del que todos tiran. Consulta el panel para los totales del espacio de trabajo y /v1/account para saber «qué ha hecho el titular de esta clave».
usage_30d.credits también es neto de reembolsos, y requests solo cuenta cargos, exactamente igual que el gráfico.
Las filas que nadie espera
Dos patrones explican la mayoría de las preguntas del tipo «¿qué es esta línea?».
Una fila storage junto a una generación. Pasar store: true guarda el resultado en eroq Store y devuelve una URL de CDN, con un cargo adicional de 2 créditos por cada 10 MB empezados. Es una segunda fila con el modelo eroq-store, y por eso una imagen de 10 créditos a veces aparece como 12. Guardar un render en tu Biblioteca es gratis y no escribe ninguna fila: solo lo hace Store.
Varias filas chat para una sola conversación. El chat se cobra por respuesta, así que una escena de doce turnos son doce filas de 3 créditos con RP+. Hay más sobre cómo poner precio a ese tipo de uso en precios por créditos para APIs de IA, y sobre los monederos de equipo en gestionar créditos de IA en equipo.
Abre el registro de solicitudes y cuadra tu última sesión: lleva más o menos un minuto cuando sabes qué filas son reembolsos.
Preguntas frecuentes
¿Por qué baja mi saldo antes de que termine el render?
Porque los créditos se cobran cuando se acepta un job y no cuando se entrega, que es la única forma de impedir que una petición abandonada se lleve una generación gratis. Si el render falla, se agota su tiempo o se bloquea, una fila de reembolso devuelve los créditos automáticamente. Tu saldo acaba donde debe en cualquier caso.
¿Qué significa un número negativo en la columna de créditos?
Es un reembolso que vuelve al monedero del espacio de trabajo, y por eso la tabla etiqueta la fila y la muestra con un signo más. Cada reembolso indica la operación y el modelo que revierte, así que puedes emparejarlo con el cargo que tiene encima. Los prompts bloqueados, los renders fallidos y los jobs que superan su plazo generan uno.
¿Por qué los totales de mi panel no coinciden con lo que indica mi clave de API?
El registro del panel cubre todo el espacio de trabajo y GET /v1/account cubre solo la cuenta propietaria de la clave. En un monedero compartido, las cifras de 30 días de la clave serán más bajas que las del espacio de trabajo, porque el gasto de tus compañeros no se atribuye a tu cuenta. El saldo credits es compartido, así que ese siempre coincide.
¿Cuánto tiempo atrás abarca el registro de solicitudes?
Treinta días, cargados de cincuenta en cincuenta filas. El gráfico diario cubre el mismo periodo, así que si necesitas un historial más largo, exporta lo que te haga falta antes de que desaparezca. El gasto mensual por miembro en la pestaña Miembros del espacio de trabajo se calcula sobre el mes en curso, que es otro periodo distinto.
Crea esto con los modelos detrás del artículo: empieza con 50 créditos gratis o explora todos los motores y sus precios.