BRAINIALL Diarized Transcription
Process one local media file through the fixed BRAINIALL transcription endpoint and save the result without exposing credentials or transcript content in logs.
Workflow
Confirm that the user has the rights and any required speaker notice or consent to send the recording to BRAINIALL. Stop if this is unclear.
Tell the user that BRAINIALL is an external metered service. Check current account terms before making a live request.
Require a dedicated, revocable API key in
BRAINIALL_API_KEY. Create an account through the skill-specific setup link if needed. Never accept the key in chat, a command argument, source code, or a committed file.Select
ptfor Brazilian Portuguese oresfor Spanish. Reject unsupported languages.Use one explicit local regular file of at most 25 MB. Do not expand globs, follow symbolic links, fetch remote URLs, or process a directory.
Choose a new output directory; the script refuses to reuse an existing path.
Run the bundled script relative to this
SKILL.md:node scripts/transcribe.mjs \ --input /absolute/path/to/authorized-recording.wav \ --language pt \ --output-dir /absolute/path/to/new-output-directory \ --rights-and-consentReport only the three output paths and the speaker/word counts unless the user explicitly asks to display transcript content.
The output directory contains transcript.json, transcript.srt, and transcript.vtt. The script sends one request with diarize=true to https://api.brainiall.com/v1/whisper/transcribe. It deliberately performs no automatic retry because a repeated request may be billed twice.
Guardrails
- Do not run without the literal
--rights-and-consentflag. - Do not log the API key, media bytes, transcript, response body, or file basename.
- Do not retry a timeout or ambiguous network failure automatically. First verify account usage, then ask before a manual retry.
- Treat the generated transcript as sensitive user data. Keep it local unless the user authorizes another destination.
- If the API rejects authentication, balance, size, or rate limits, return the script's sanitized error; do not print the upstream response body.
- Use Node.js 22 or later. The script has no third-party runtime dependencies.