JavaScript / Node.js
Requer Node.js 24, com fetch nativo. Execute no servidor: não exponha a API key
em uma aplicação de navegador. Configure as três variáveis dos
primeiros passos.
// Node.js 24: fetch nativo. Não incluir uma API key em código de navegador.for (const name of ['NEXVRA_BASE_URL', 'NEXVRA_API_KEY', 'NEXVRA_MODEL']) { if (!process.env[name]) throw new Error(`Configure ${name}`);}const response = await fetch(`${process.env.NEXVRA_BASE_URL.replace(/\/$/, '')}/chat/completions`, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(60_000), headers: { Authorization: `Bearer ${process.env.NEXVRA_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ model: process.env.NEXVRA_MODEL, messages: [{ role: 'user', content: 'Olá! Responda em uma frase.' }], max_tokens: 128, }),});if (!response.ok) { console.error(`HTTP ${response.status}; request-id=${response.headers.get('x-nexvra-request-id') ?? ''}`); console.error(await response.text()); process.exit(1);}const result = await response.json();console.log(result.choices[0].message.content);Execute com node chat.mjs. HTTP 4xx/5xx não causa uma exceção automática no
fetch; por isso o exemplo verifica response.ok antes de ler o resultado.