Pitch: reyvo.com — atribuindo o custo de APIs de IA a cada projeto (com script de conciliação)
Trabalho com desenvolvimento de negócios na reyvo.com (AIPower Inc.), plataforma de cartões virtuais. No post anterior falei de renovações. Aqui o foco é outro: quando vários projetos usam APIs de IA, como saber quanto cada um custou de verdade?
O problema tem duas metades que raramente batem:
- Uso: o provedor mostra consumo por chave, projeto ou período.
- Cobrança: o cartão mostra o valor efetivamente cobrado, às vezes agregado, com créditos pré-pagos ou ajustes.
1. Uma chave por projeto e ambiente. Se o provedor permitir, crie chaves separadas (por exemplo cliente-a-prod e cliente-a-dev) e mantenha um mapa chave → projeto. Uma chave compartilhada entre projetos torna a atribuição um palpite.
2. Um meio de pagamento por projeto. Com um cartão por projeto, a cobrança já chega separada e a conciliação vira comparação 1:1.
3. Concilie e mostre o que não tem dono. Exemplo com dados fictícios:
from collections import defaultdict
uso = [ # exportação de uso do provedor (fictício)
{"chave": "cliente-a-prod", "usd": 41.20},
{"chave": "cliente-a-dev", "usd": 3.10},
{"chave": "cliente-b-prod", "usd": 18.75},
{"chave": "teste-antigo", "usd": 2.40},
]
chave_projeto = {"cliente-a-prod": "cliente-a", "cliente-a-dev": "cliente-a",
"cliente-b-prod": "cliente-b"}
cartao_projeto = {"cliente-a": "cartao-a", "cliente-b": "cartao-b"}
cobrado = {"cartao-a": 44.30, "cartao-b": 18.75} # extrato do cartão (fictício)
custo = defaultdict(float)
for l in uso:
custo[chave_projeto.get(l["chave"], "SEM_PROJETO")] += l["usd"]
for projeto, usd in sorted(custo.items()):
c = cobrado.get(cartao_projeto.get(projeto), 0.0)
print(f"{projeto:12} uso {usd:7.2f} | cobrado {c:7.2f} | dif {c - usd:+.2f}")
A linha SEM_PROJETO (2,40 USD) é o sinal importante: uma chave sem projeto que continua gastando. Revogue-a ou atribua um responsável.
Três cuidados:
- Diferença não é necessariamente erro: ciclo de faturamento, créditos pré-pagos e impostos mudam o valor. Registre o motivo em vez de "forçar" o zero.
- Para o custo em reais, use o valor da fatura (com câmbio e IOF efetivamente aplicados), não a cotação do dia. A alíquota depende do meio de pagamento; confirme no extrato.
- Limite do cartão não é limite de uso da API: o provedor pode contabilizar consumo antes de cobrar. Configure também os limites/alertas do próprio provedor.
Onde a reyvo.com entra: vários cartões virtuais, limite por cartão, congelamento e consulta de transações, o que cobre o passo 2. O script acima é independente e não usa nenhuma API da reyvo.com.
Se fizer sentido, você pode solicitar uma conta: https://reyvo.com/register?ref=B0C05A598C&utm_source=other&utm_medium=referral&utm_campaign=b0c05a598c
É um link de divulgação; o código identifica a origem do cadastro. A abertura segue a verificação normal, e a aceitação do cartão depende de cada fornecedor. Confira elegibilidade e tarifas atuais.
Pergunta para quem já faz isso: vocês atribuem custo por chave, por tag de requisição ou por fatura?