Pixmind
Models & tools

PixMind API / Audio Tool

Text to speech API

A voice for every finished script.

Choose a voice, submit your script, and bring downloadable narration into your video or application. One API workflow connects the configured speech providers.

  • Choose a voice for the script
  • Bring text into an audio workflow
  • Integrate provider-specific controls
Text to speech API
Audio-production scene · listen to an existing Microsoft voice sample below

Voice sample · Microsoft Aria · English

Up to 10,000 characters per request. Paid providers bill per 100 characters, rounded up.

Try this API

Text to speech

Use your API key to run the request. Current prices and available options load for your application.

Playground

Sign in and create an API key to run a request. TTS needs audio permission; video tools need video permission.

0 / 10,000

Running this request uses your API balance at the configured price.

Result

Current API credits per billing unit

Select an API key to load current prices.

Integration examples

cURL
curl 'https://aihub-admin.aimix.pro/api-platform/v1/tts/synthesize' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: YOUR_UNIQUE_REQUEST_ID' \
  -d '{
  "text": "",
  "provider": "microsoft-api",
  "voiceId": ""
}'
TypeScript
const response = await fetch("https://aihub-admin.aimix.pro/api-platform/v1/tts/synthesize", {
  method: "POST",
  headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
  "text": "",
  "provider": "microsoft-api",
  "voiceId": ""
})
});
const result = await response.json();
if (!response.ok || result.code !== 1000) throw new Error(result.message);
console.log(result.data);
Python
import json, os, requests

response = requests.post("https://aihub-admin.aimix.pro/api-platform/v1/tts/synthesize",
    headers={"Authorization": "Bearer " + os.environ["PIXMIND_API_KEY"]},
    json=json.loads("{\n  \"text\": \"\",\n  \"provider\": \"microsoft-api\",\n  \"voiceId\": \"\"\n}"), timeout=120)
response.raise_for_status()
result = response.json()
if result["code"] != 1000: raise RuntimeError(result["message"])
print(result["data"])

01 / Made for your workflow

Choose a voice for the script

Browse available providers and voices, listen to voice samples where supplied, and choose the voice that fits your narration language and delivery.

Open Playground
Narrator recording at a studio microphone

02 / Made for your workflow

Bring text into an audio workflow

Send a script of up to 10,000 characters in one request. The endpoint returns an audio URL that can be played or downloaded directly.

Open Playground
A script notebook and headphones on a recording desk

03 / Made for your workflow

Integrate provider-specific controls

The API supports provider-specific speed, pitch, volume and output formats. The docs list accepted parameters; the playground uses the selected provider's defaults.

Open Playground
An audio-production studio with waveform editing

Use cases

Where this tool fits

Narrate a video

Workflow illustration

Narrate a video

Generate a voiceover from your finished script, then add the audio to your video editor.

Read product and learning content

Workflow illustration

Read product and learning content

Turn an explanation, lesson or product walkthrough into a reusable spoken audio asset.

Produce a spoken reading

Workflow illustration

Produce a spoken reading

Turn an article or book passage into audio. Keep the same voice across sections for a continuous listening experience.

Match the provider to your audio workflow

Match the provider to your audio workflow
API optionMicrosoftGoogleHuoshanMiniMaxXjguoyu
Provider IDmicrosoft-apigoogle-genaihuoshan_big_modelMiniMaxxjguoyu
FormatsMP3MP3 / WAV / OGGMP3 / WAVMP3WAV
Speed range−100…1000…20.8…20.5…20…2
Style controlsSpeed, pitch, volumestylePromptSpeed and volumeemotionSpeed and volume
BillingZero API creditsPer 100 charactersPer 100 charactersPer 100 charactersPer 100 characters

Parameters checked on October 9, 2026

API reference

From input to output

  1. 01

    Prepare the script

    Paste the text to be spoken, using punctuation and paragraph breaks for your intended phrasing.

  2. 02

    Choose provider and voice

    Select an API key with audio permission, browse configured providers, and audition a sample when available.

  3. 03

    Synthesize and download

    Submit once, listen to the returned audio and download it for your video or application.

Frequently asked questions

Which speech providers can I select?

The API supports Microsoft, Google, Huoshan, MiniMax and Xjguoyu routes. Only providers configured for the current API service are available to run.

How do I find the correct voice ID?

Use the voice selector or GET /api-platform/v1/tts/voices. Choose a voice from the same provider you pass to the synthesis endpoint.

How much text can I send?

Each request accepts 1 to 10,000 characters of non-blank text. Split longer scripts into separate requests and keep their order in your application.

What audio format will I receive?

Defaults are MP3 for Microsoft, Google, Huoshan and MiniMax, and WAV for Xjguoyu. Google also accepts WAV and OGG; Huoshan accepts WAV. Use the documented provider-specific formats.

Can I adjust speech speed and emotion?

The API accepts speed, pitch and volume with provider-specific ranges. stylePrompt belongs to Google and emotion belongs to MiniMax. The playground submits provider defaults; use the docs for custom controls.

How is speech synthesis billed?

Paid providers round text length up to 100-character units and use the current API unit price. The Microsoft route is currently free of API credits. Provider availability still depends on service configuration.

Does TTS return an asynchronous task?

This endpoint returns the synthesis result directly, including an audio URL and usage. It does not use the video task polling endpoint.

How can I retry without creating a duplicate charge?

Reuse the same Idempotency-Key and identical request body. A completed attempt returns its cached result; processing, changed or uncertain attempts return a conflict. Do not automatically send a new key after a timeout.

Give your next script a voice

Up to 10,000 characters per request. Paid providers bill per 100 characters, rounded up.

Open Playground