Preços, créditos e uso
A ReOpenly precifica computação em créditos. Consulte taxas e estimativas ao vivo em vez de copiar valores dos exemplos: preços e configurações da plataforma podem mudar sem uma nova versão do cliente.
Endpoints públicos de preços
GET /api/v1/pricing/platform
GET /api/v1/pricing/models
POST /api/v1/pricing/estimate
Essas rotas não exigem autenticação e têm rate limit. /platform retorna a
taxa atual e o bônus de cadastro; /models traz o catálogo estreito da
calculadora pública. /api/v1/base-models, autenticado, continua sendo a fonte
para modelos implantáveis, capacidades e limites de treino.
Estime inferência com tokens e requisições, ou fine-tune com steps, tamanho de sequência, quantidade de conversas treináveis, exemplos separados e batch efetivo:
{
"kind": "fine_tune",
"model": "<catalog-model-id>",
"workload": {
"max_steps": 100,
"max_seq_length": 2048,
"messages": 5000,
"examples": 1000,
"eval_examples": 50,
"effective_batch_size": 8
}
}
No fine-tune, expected é a previsão central do tempo cobrado — somente o
laço de treino — enquanto authorization_ceiling é o valor conservador de
admissão e cobre a locação inteira, porque ele limita por quanto tempo uma
execução pode ocupar uma GPU, não quanto ela custa. Os dois diferem por mais do
que um fator de segurança: em uma execução curta, o início não cobrado pode ser
a maior parte da locação. O limite pago atual está em
duration_components.execution_limit_seconds. Não apresente o teto como gasto
esperado nem a estimativa como garantia. O termo de preparação para corpus
grande ainda é um limite de admissão aguardando validação em escala. A estimativa
subtrai a densidade da calibração medida e adiciona a agenda exata de avaliação,
permitindo que planos esparsos custem menos e planos densos custem mais.
embedded_evaluation_seconds, scheduled_evaluation_seconds e
evaluation_adjustment_seconds expõem a conta. Workloads de fine-tune podem incluir o mesmo objeto discriminado
evaluation_cadence aceito na criação do job.
Os segundos cobrados do fine-tune são o tempo de treinamento na GPU, e nada
dos dois lados dele. A cobrança é o intervalo training_started_at até
post_processing_started_at de cada tentativa, com retorno ao fim da tentativa
quando ela nunca chegou ao pós-processamento. Tudo antes do início do
treinamento não é cobrado — tempo em fila, congelar sua seleção, carregar o
modelo, ler e tokenizar seus dados — e tudo depois do fim do laço também não:
salvar, verificar e publicar o modelo. Intervalos antes de uma
nova tentativa também não são cobrados.
Uma execução que nunca começou a treinar não é cobrada. É isso que torna gratuito cancelar um job na fila ou preparando.
A cobrança final usa o intervalo medido de cada tentativa cobrada, não a duração de parede do job nem a estimativa.
examples é a quantidade de conversas treináveis selecionadas antes da divisão, enquanto messages é a
quantidade de mensagens selecionadas mantida como hipótese explícita. Envie
eval_examples quando souber a quantidade separada. Se os dois campos de corpus
forem omitidos, a calculadora pública assume conservadoramente o máximo atual de
512 exemplos separados e retorna confiança baixa; omitir o campo não significa
zero trabalho de avaliação. O wizard autenticado obtém a divisão real e o plano
congelado exato por estimate-messages.
O tempo de treino é arredondado para cima em unidades de 100 ms para cada tentativa cobrada. As cobranças no extrato e os saldos mantêm seis casas decimais. A tela de treino exibe custos com quatro casas decimais; essa exibição não altera a cobrança armazenada. Por exemplo, 40,3 segundos a 0,03 créditos por minuto de GPU custam 0,020150 créditos, exibidos como 0,0202.
Saldo e extrato
GET /api/v1/credits
GET /api/v1/credits/usage?month=YYYY-MM
GET /api/v1/credits/usage?month=YYYY-MM&limit=50&cursor=<next_cursor>
/api/v1/credits retorna o saldo e apenas as 100 linhas mais recentes. /usage
traz o mês UTC completo, com totais, agregados por categoria/projeto e cursor
opcional de até 100 linhas. Uma linha pode ter billable_seconds,
rate_credits_per_minute e surcharge_percent; ausência em linhas antigas,
depósitos ou reembolsos significa “não registrado”, não zero computação.
Linhas de inferência também podem incluir o endpoint_name solicitado e o
base_model_name resolvido. Uma requisição de modelo base mantém o nome
<catalog-model-id> no extrato.
Compra de créditos
POST /api/v1/credits/checkout
GET /api/v1/credits/checkout/status?session_id=<stripe_session_id>
No corpo do checkout, amount é uma quantidade de créditos, não dinheiro:
{"amount": 25, "currency": "brl"}
A resposta trava e retorna credits, currency, money_amount e fx_rate,
além da URL do Stripe. Envie um UUID v4 novo em Idempotency-Key por tentativa
lógica. Depois do retorno do Stripe, consulte o status autenticado e considere
somente fulfilled como creditado; autorização, captura e reconciliação podem
ser intermediárias. Um status fulfilled também retorna purchase com os
credits concedidos e o money_amount cobrado em currency (ISO 4217, em
maiúsculas); em qualquer outro estado ele é null.
Não existe endpoint de cliente para conceder créditos. /api/credits/grant é
uma rota de operador app-admin, e a antiga rota de depósito próprio não existe.
As entradas do extrato sempre usam cursor (50 por padrão, máximo 100). Siga
entries_next_cursor para alcançar todas. Os cursores pertencem à conta e ao mês;
os totais e agrupamentos mensais estão completos em cada página, sem ativar um modo.