“작업 상태를 이용해 앱을 멈추지 않고도 명확한 진행 상황을 보여 줍니다.”
오서연
풀스택 개발자, 부산
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.
From developers integrating the Voxmin API into their applications.
“작업 상태를 이용해 앱을 멈추지 않고도 명확한 진행 상황을 보여 줍니다.”
오서연
풀스택 개발자, 부산
“오디오 처리를 한곳으로 모으면서 클라이언트별 예외 로직이 줄었습니다.”
윤도현
테크 리드, 인천
“비동기 작업 모델이 기존 큐와 잘 맞아서 통합 구조를 단순하게 유지할 수 있었습니다.”
정우진
백엔드 개발자, 서울
“문서를 보며 배치 처리기를 연결하기 전에 요청 형식을 검증했습니다.”
한지민
플랫폼 엔지니어, 대전