“API rate limits are generous. We process 10,000+ jobs monthly without hitting caps. The async job model fits our architecture perfectly.”
Jennifer M.
API integration specialist, MusicTech
If you build on the OpenAI Responses API, add Voxmin as a remote MCP tool. The model then calls Voxmin's tools itself, inside one API request, and spends from your Voxmin credits.
vxm_ and is shown only once, so copy it when you create it. For an app, make a token just for it, with a daily credit cap.Add an mcp tool to your request. Your Voxmin token goes in the tool's authorization field — the token itself, without Bearer:
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5",
"tools": [
{
"type": "mcp",
"server_label": "voxmin",
"server_description": "Make pictures, songs, karaoke, lyric videos, voice covers and transcripts with Voxmin credits.",
"server_url": "https://api.voxmin.com/auth/mcp",
"authorization": "<your token>",
"require_approval": "never"
}
],
"input": "What is my Voxmin balance?"
}'
import OpenAI from 'openai';
const client = new OpenAI();
const response = await client.responses.create({
model: 'gpt-5',
tools: [
{
type: 'mcp',
server_label: 'voxmin',
server_description: 'Make pictures, songs, karaoke, lyric videos, voice covers and transcripts with Voxmin credits.',
server_url: 'https://api.voxmin.com/auth/mcp',
authorization: process.env.VOXMIN_TOKEN,
require_approval: 'never'
}
],
input: 'Make a square picture of a lighthouse at dawn and give me the link.'
});
console.log(response.output_text);
Use any model that supports remote MCP tools. The Authorization: Bearer $OPENAI_API_KEY header is your OpenAI key, for OpenAI; the Voxmin token only ever goes in authorization.
authorization value, so send it with every request.require_approval: "never" lets the model call Voxmin tools without stopping to ask, including the ones that spend credits. Every spending tool states its price in its description, and the token's daily credit cap is checked before anything is spent.{ "never": { "tool_names": ["get_account", "get_prices", "get_job", "list_jobs"] } } skips approval only for the tools you list — here, the free look-ups — and asks for everything else.require_approval (or set it to "always") to get an mcp_approval_request item back for each call; approve it by sending an mcp_approval_response in your next request.allowed_tools limits the model to the tools you list — for example ["get_account", "get_prices", "generate_image", "get_image"] for an app that only makes pictures.Send the curl request above with your token in place of <your token>. The response's output has an mcp_list_tools item listing Voxmin's tools, an mcp_call item for get_account, and the model's answer with your credit balance.
| What you see | Why | What to do |
|---|---|---|
An error listing tools, or 401 | The token is wrong, revoked or expired, missing from authorization, or the account is suspended or deleted | Check authorization holds the token without Bearer; if it was revoked, make a new one on AI Integrations |
| "Daily credit cap reached" | Today's spend through this token would pass the cap you set on it | Wait until midnight UTC, or make a token with a higher cap |
| "Not enough credits" | Your balance is lower than the tool's price | Top up on the Pricing page |
429 Too Many Requests | More than 60 requests in a minute through this token | Slow down; each model turn can make several tool calls |
| The request is refused | It did not pass Voxmin's content checks | Change the request. A refused picture is not charged |
See the overview for every tool, its price and how billing works.
Connect Codex
Add the Voxmin MCP server to the Codex CLI in config.toml, so Codex can make pictures, songs and karaoke with your Voxmin credits.
Connect ChatGPT
Add Voxmin to ChatGPT as a custom MCP server and sign in with your Voxmin account, so ChatGPT can make pictures, songs and karaoke with your Voxmin credits.
From developers integrating the Voxmin API into their applications.
“API rate limits are generous. We process 10,000+ jobs monthly without hitting caps. The async job model fits our architecture perfectly.”
Jennifer M.
API integration specialist, MusicTech
“The translation API is surprisingly accurate for technical terms in song lyrics. We use it to generate multilingual lyric videos at scale.”
David C.
Full-stack developer, GlobalKaraoke
“The REST API is well-documented. We built a batch processor that handles 500+ tracks overnight for our venue clients.”
Marcus K.
Backend engineer, SingAlong Pro
“Documentation covers edge cases well. The "numPasses" parameter documentation alone saved us hours of trial and error.”
Michael B.
Staff engineer, AudioAI