Subspace Institute

OpenAI TTS API

Generates speech audio from the provided text using OpenAI's Text-to-Speech service

POST
/tts-openai

Request Body

application/jsonOptional
textRequiredstring
Minimum length: 1Maximum length: 4096
voicestring

The voice to use for speech generation

Default: "alloy"Value in: "alloy" | "ash" | "ballad" | "coral" | "echo" | "fable" | "onyx" | "nova" | "sage" | "shimmer"
modelstring

The TTS model to use

Default: "gpt-4o-mini-tts"
instructionsstring

Additional instructions for the speech

tokenRequiredstring

OpenAI API key for authentication

Minimum length: 1

Response Body

Audio file containing the generated speech

TypeScript Definitions

Use the response body type in TypeScript.

responseRequiredunknown

Bad request - validation error

TypeScript Definitions

Use the response body type in TypeScript.

successRequiredboolean
Value in: false
messageRequiredstring
codeRequiredstring
typeRequiredstring

Server error or OpenAI API error

TypeScript Definitions

Use the response body type in TypeScript.

successRequiredboolean
Value in: false
messageRequiredstring
codeRequiredstring
typeRequiredstring
curl -X POST "https://edge-workers.laplace.cn/laplace/tts-openai" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
    "voice": "alloy",
    "model": "gpt-4o-mini-tts",
    "instructions": "string",
    "token": "string"
  }'
const body = JSON.stringify({
  "text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
  "voice": "alloy",
  "model": "gpt-4o-mini-tts",
  "instructions": "string",
  "token": "string"
})

fetch("https://edge-workers.laplace.cn/laplace/tts-openai", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "https://edge-workers.laplace.cn/laplace/tts-openai"
  body := strings.NewReader(`{
    "text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
    "voice": "alloy",
    "model": "gpt-4o-mini-tts",
    "instructions": "string",
    "token": "string"
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://edge-workers.laplace.cn/laplace/tts-openai"
body = {
  "text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
  "voice": "alloy",
  "model": "gpt-4o-mini-tts",
  "instructions": "string",
  "token": "string"
}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
null
{
  "success": false,
  "message": "string",
  "code": "string",
  "type": "string"
}
{
  "success": false,
  "message": "string",
  "code": "string",
  "type": "string"
}