Docs do Nodaro
DocumentaçãoReferência de nósModelosAgentes de IA (MCP)DesenvolvedoresSelf-hostingPesquisa
SDK para TypeScript

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étodoO 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:

CampoTipoDescrição
idstringO ID do modelo, para o parâmetro provider de uma execução de nó.
label, descriptionstringO nome de exibição e uma descrição curta.
modesstring[]O que o modelo faz, como t2i, i2i, t2v ou i2v.
useCasesstring[]As tarefas para as quais o modelo é indicado.
aspectRatios, resolutions, qualities, durationsarraysOs valores que o modelo aceita, quando se aplicam.
featuresstring[]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.
featuredbooleanSe o modelo está em destaque.
promptTipsstring[]Dicas curtas de prompt para o modelo.
doctrineCoveredbooleantrue 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})`)
CampoTipoDescrição
totalnumberOs créditos que você pode gastar agora.
subscriptionnumberOs créditos do período atual da assinatura.
topupnumberOs créditos que você comprou à parte.
dailySpentnumberOs créditos gastos hoje.
dailyLimitnumber | nullO limite diário de gastos, ou null quando não há limite.
monthlyAllocationnumberOs créditos concedidos por período de cobrança.
tierstringO nível de assinatura armazenado, como "free" ou "pro".
effectiveTierstringO 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.
featuresRecord<string, unknown>Os recursos do nível.
periodEndstring | nullO fim do período de cobrança, como data ISO 8601.
appCreditsAllowancenumberOs 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)
  • data associa cada identificador que tem preço ao seu preço em créditos.
  • missing lista os identificadores que não têm preço. Mostre um traço para eles.
  • errors lista 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

Última atualização

Nesta página