Google Text-to-Speech

Google neironu teksta-runas dzinējs ar WaveNet balsīm. Vairāk nekā 380 balsis 50+ valodās ar SSML atbalstu.

✓ 380+ balsis

✓ 50+ valodas

✓ WaveNet kvalitāte

✓ SSML atbalsts

Autentifikācija

Lai piekļūtu Google TTS, izmantojot Doitong API, lietojiet savu Doitong API atslēgu. Iekļaujiet to GraphQL mutācijā vai REST API galvenēs (headers).

Svarīgi: Glabājiet savu Doitong API atslēgu drošībā un nekad neizpaudiet to klienta puses kodā. API izsaukumus vienmēr veiciet no sava backend servera.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

// REST Header
"X-API-Key": "YOUR_API_KEY"

Ātrais darba sākums

Sāciet lietot Google TTS API dažu minūšu laikā. Izpildiet šos vienkāršos soļus, lai ģenerētu savu pirmo tts.

1. solis: Saņemiet API atslēgu

Reģistrējieties Doitong kontam un dodieties uz vadības paneli, lai izveidotu API atslēgu.

2. solis: Veiciet pirmo pieprasījumu

Izmantojiet kādu no zemāk redzamajiem koda piemēriem, lai veiktu savu pirmo API izsaukumu.

curl -X POST https://api.doitong.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "query": "mutation Generate($input: GenerateInput!) { generate(input: $input) { id status type provider url metadata creditCost } }",
    "variables": {
      "input": {
        "type": "AUDIO",
        "provider": "google-tts",
        "input": {
          "text": "Hello world, this is a text to speech example.",
          "voice": "en-US-neural"
        },
        "options": {
          "speed": 1.0
        }
      }
    }
  }'
const response = await fetch('https://api.doitong.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    query: `
      mutation GenerateSpeech($input: TTSInput!) {
        generateSpeech(input: $input) {
          id
          audioUrl
          duration
        }
      }
    `,
    variables: {
      input: {
        service: 'google-tts',
        text: 'Hello world, this is a text to speech example.',
        voice: 'en-US-neural',
        speed: 1.0
      }
    }
  })
});

const data = await response.json();
console.log('Result:', data.data.generate);
import requests
import json

url = "https://api.doitong.com/graphql"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

query = """
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
  }
}
"""

variables = {
    "input": {
        "type": "AUDIO",
        "provider": "google-tts",
        "input": {
            "text": "Hello world, this is a text to speech example.",
            "voice": "en-US-neural"
        },
        "options": {
            "speed": 1.0
        }
    }
}

response = requests.post(url, json={
    "query": query,
    "variables": variables
}, headers=headers)

data = response.json()
print("Result:", data["data"]["generate"])
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
    createdAt
  }
}

# Variables
{
  "input": {
    "type": "AUDIO",
    "provider": "google-tts",
    "input": {
      "text": "Hello world, this is a text to speech example.",
      "voice": "en-US-neural"
    },
    "options": {
      "speed": 1.0,
      "pitch": 1.0,
      "language": "en",
      "version": "neural2"
    }
  }
}

Cenas

Google TTS API izmanto kredītpunktu cenu modeli. Kredīti tiek patērēti atkarībā no ģenerētā satura sarežģītības un ilguma.

Funkcija Kredīti Apraksts
Standarta balss 1 kredīts par 100 rakstzīmēm Pamata neironu balsis
Premium balss 2 kredīti par 100 rakstzīmēm Uzlabotas neironu balsis ar emocijām

API galapunkti

Google TTS API ir pieejams caur mūsu vienoto GraphQL galapunktu.

GraphQL galapunkts

POST https://api.doitong.com/graphql

REST galapunkts

POST https://api.doitong.com/v1/tts

Parametri

Pieejamie parametri Google TTS API pieprasījumiem:

Parametrs Tips Obligāts Apraksts
service String Yes Pakalpojuma identifikators: "google-tts"
version String No Model version: "wavenet", "neural2"
webhookUrl String No URL pabeigšanas paziņojumu saņemšanai

Atbildes formāts

Visas API atbildes tiek sniegtas vienotā formātā:

Sekmīga atbilde

{
  "data": {
    "tts": {
      "id": "abc123xyz",
      "status": "processing",
      "url": null,
      "webhookUrl": "https://your-webhook.com/callback",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Pabeigta darbība

{
  "data": {
    "tts": {
      "id": "abc123xyz",
      "status": "completed",
      "url": "https://cdn.doitong.com/outputs/abc123xyz.mp3",
      "duration": null,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Kļūdu apstrāde

API izmanto standarta HTTP statusa kodus un atgriež detalizētus kļūdu ziņojumus.

Biežākie kļūdu kodi

Statusa kods Kļūdas veids Apraksts
400 Bad Request Invalid parameters or malformed request
401 Unauthorized Missing or invalid API key
402 Payment Required Insufficient credits
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error, please retry

Kļūdas atbildes formāts

{
  "errors": [
    {
      "message": "Insufficient credits for this operation",
      "extensions": {
        "code": "INSUFFICIENT_CREDITS",
        "creditsRequired": 100,
        "creditsAvailable": 50
      }
    }
  ]
}

Webhooks

Saņemiet reāllaika paziņojumus, kad jūsu tts ģenerēšana ir pabeigta.

Webhook iestatīšana

Include a <code>webhookUrl</code> parameter in your request to receive a POST notification when processing is complete.

Webhook dati (payload)

{
  "id": "abc123xyz",
  "status": "completed",
  "url": "https://cdn.doitong.com/outputs/abc123xyz.mp3",
  "service": "google-tts",
  "createdAt": "2024-01-01T00:00:00Z",
  "completedAt": "2024-01-01T00:01:00Z",
  "metadata": {
    "duration": null,
    "width": null,
    "height": null
  }
}

Webhook drošība

Visi Webhook pieprasījumi ietver paraksta galveni verifikācijai:

X-Doitong-Signature: sha256=abc123...

Pieprasījumu ierobežojumi

Lai nodrošinātu godīgu lietošanu un sistēmas stabilitāti, tiek piemēroti šādi ierobežojumi:

Plāns Pieprasījumi/minūtē Vienlaicīgi uzdevumi Dienas ierobežojums
Bezmaksas 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Pielāgots Pielāgots Neierobežots
Ierobežojumu galvenes: Pārbaudiet atbildes galvenes, lai uzzinātu pašreizējo ierobežojumu statusu:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Labā prakse

1. Optimizējiet uzvednes (prompts)

Rakstiet skaidras un aprakstošas uzvednes labākiem rezultātiem:

  • Be specific about visual elements, style, and mood
  • Include details about lighting, camera angles, and composition
  • Avoid contradictory or impossible requests

2. Apstrādājiet asinhronos procesus

Ģenerēšana ir asinhrona. Ieviesiet atbilstošu aptauju (polling) vai Webhooks:

// Polling example
async function pollStatus(jobId) {
  let status = 'processing';
  while (status === 'processing') {
    await sleep(2000); // Wait 2 seconds
    const result = await checkJobStatus(jobId);
    status = result.status;
  }
  return result;
}

3. Kļūdu novēršana

Ieviesiet atkārtošanas loģiku ar eksponenciālo atpakaļatkāpi (exponential backoff):

async function retryWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      await sleep(Math.pow(2, i) * 1000);
    }
  }
}

4. Uzraugiet kredītu patēriņu

Sekojiet līdzi kredītu atlikumam, lai izvairītos no pakalpojuma pārtraukumiem:

  • Check credit balance before large batch operations
  • Set up alerts for low credit thresholds
  • Implement credit-aware request queuing

Vai esat gatavs sākt?

Pievienojieties tūkstošiem izstrādātāju, kuri izmanto Google TTS API, lai radītu pārsteidzošu saturu

Saņemt API atslēgu tūlīt Skatīt cenas