Modelos e créditos
Liste os modelos de IA de uma instância do Nodaro com client.models, consulte seu saldo de créditos e veja o preço de um modelo antes de executá-lo.
client.models retorna o catálogo de modelos de IA que uma instância do Nodaro oferece, e client.credits retorna seu saldo de créditos e o preço de qualquer modelo. Use os dois juntos para mostrar aos usuários quais modelos eles podem escolher e quanto custa cada execução. Os métodos chamam os mesmos endpoints da API REST de créditos. Preços e saldos existem no Nodaro Cloud; as instalações self-hosted Community e Business não têm sistema de créditos. Veja Créditos.
Métodos
| Método | O que faz |
|---|---|
models.list(opts?) | Lista os modelos, agrupados por tipo e por fabricante |
credits.balance() | Lê seu saldo de créditos e seu nível |
credits.modelCosts(ids) | Consulta o preço em créditos de até 50 modelos ou variações |
client.models
models.list(opts?)
Retorna o catálogo de modelos (GET /v1/models), agrupado por tipo (imagem, vídeo, áudio) e por fabricante. Cada modelo traz seus recursos, seus preços em créditos no Nodaro Cloud e dicas curtas de prompt. O endpoint é público, e o servidor guarda a resposta em cache por 5 minutos. A ferramenta list_models do MCP retorna os mesmos dados.
list(opts?: {
kind?: "image" | "video" | "audio"
mode?: string
family?: string
featuredOnly?: boolean
}): Promise<ModelsListResult>Prop
Type
const catalog = await client.models.list({ kind: "video", mode: "i2v" })
for (const section of catalog.sections) {
for (const family of section.families) {
for (const model of family.models) {
console.log(family.family, model.id, model.durations, model.pricing?.[0]?.credits)
}
}
}O resultado tem sections, uma por tipo, cada uma com families de modelos; recommendations, listas de IDs de modelos para tarefas comuns; e totalModels. Cada modelo tem estes campos:
| Campo | Tipo | Descrição |
|---|---|---|
id | string | O ID do modelo, para o parâmetro provider de uma execução de nó. |
label, description | string | O nome de exibição e uma descrição curta. |
modes | string[] | O que o modelo faz, como t2i, i2i, t2v ou i2v. |
useCases | string[] | As tarefas para as quais o modelo é indicado. |
aspectRatios, resolutions, qualities, durations | arrays | Os valores que o modelo aceita, quando se aplicam. |
features | string[] | Recursos extras. |
pricing | { identifier, credits, note? }[] | O preço em créditos de cada variação: o preço cobrado por uma execução, o mesmo número do botão Executar. Apenas no Nodaro Cloud. |
featured | boolean | Se o modelo está em destaque. |
promptTips | string[] | Dicas curtas de prompt para o modelo. |
doctrineCovered | boolean | true apenas quando o Nodaro obteve orientações de prompt para a família do modelo. Mostre um selo de “orientação do fabricante” apenas quando o valor for true. |
O mesmo catálogo está nas páginas de Modelos. Para saber qual modelo usar, leia Como escolher um modelo.
client.credits
credits.balance()
Retorna seu saldo de créditos e seu nível (GET /v1/user/credits). Lança UnauthorizedError quando não há nenhum usuário conectado.
balance(): Promise<UserBalance>const balance = await client.credits.balance()
console.log(`${balance.total} credits (${balance.effectiveTier})`)| Campo | Tipo | Descrição |
|---|---|---|
total | number | Os créditos que você pode gastar agora. |
subscription | number | Os créditos do período atual da assinatura. |
topup | number | Os créditos que você comprou à parte. |
dailySpent | number | Os créditos gastos hoje. |
dailyLimit | number | null | O limite diário de gastos, ou null quando não há limite. |
monthlyAllocation | number | Os créditos concedidos por período de cobrança. |
tier | string | O nível de assinatura armazenado, como "free" ou "pro". |
effectiveTier | string | O nível realmente aplicado. "payg" significa pagamento conforme o uso: sem assinatura, mas com créditos comprados, com todos os modelos, sem marca d'água e sem limite diário. |
features | Record<string, unknown> | Os recursos do nível. |
periodEnd | string | null | O fim do período de cobrança, como data ISO 8601. |
appCreditsAllowance | number | Os créditos ganhos com a execução de apps, no nível gratuito. |
externalWallet | { available: number | null } | Presente quando a implantação usa uma carteira externa compartilhada. null significa que o valor não está disponível. Não mostre total no lugar dele. Veja Carteiras externas. |
Prefira effectiveTier a tier quando decidir o que mostrar.
credits.modelCosts(ids)
Consulta o preço em créditos de modelos e das variações deles em uma única chamada (POST /v1/credits/model-costs). Verifica no máximo os 50 primeiros identificadores.
modelCosts(ids: string[]): Promise<{
data: Record<string, number>
missing: string[]
errors: string[]
}>Prop
Type
const { data, missing } = await client.credits.modelCosts([
"nano-banana-pro",
"nano-banana-pro:4K",
"seedance-2-fast:8s:720p",
])
console.log(data["nano-banana-pro:4K"])
if (missing.length) console.warn("No price for:", missing)dataassocia cada identificador que tem preço ao seu preço em créditos.missinglista os identificadores que não têm preço. Mostre um traço para eles.errorslista os identificadores cuja consulta falhou. Os outros preços chegam mesmo assim.
Os identificadores de cada modelo estão no campo pricing de models.list() e na página de cada modelo. Configurações como qualidade, resolução e duração mudam o preço, então informe a variação que a execução vai usar. O preço é verificado de novo quando a execução começa, então esta chamada é uma prévia.
Mostrar os modelos com os preços
Monte um seletor de modelos para um nó, com o preço ao lado de cada modelo:
const { data: node } = await client.nodes.get("generate-video")
const { data: prices } = await client.credits.modelCosts(node.providers ?? [])
const options = (node.providers ?? []).map((id) => ({
id,
price: prices[id] ?? null, // null: no price on this instance
}))Omita provider em uma execução para usar o modelo padrão do nó. Quando um usuário escolher um modelo, envie o ID dele como provider para client.nodes.runAndWait().
Perguntas frequentes
Páginas relacionadas
Executar nós
Créditos
Como escolher um modelo
Modelos de IA no Nodaro
Créditos
Última atualização
Copilot
client.copilot controla as threads e as rodadas em streaming do Copilot. Só funciona dentro de um app do Nodaro, com a sessão do próprio usuário conectado.
Seletores, predefinições e prompts
Em TypeScript, leia as opções válidas dos seletores, preencha-os descrevendo a cena, carregue predefinições e melhore prompts com o Assistente de prompt.