Get Single Voice (with audioUrl)

June 5, 2026

Table of contents

  1. Path Parameters
  2. Request Headers
  3. Responses
  4. Model
  5. Examples
  6. Try It

Resolve a single voice by reference-id and return a fresh playback URL.

  • System voice (e.g. Achernar) — short-circuits to the static sampleUrl on gstatic.com. No upstream call. Instant.
  • User voice (encoded reference-id from POST /voices) — resolves a fresh signed audioUrl via Google’s media-redirect endpoint. The URL is valid for ~6 hours.

https://api.useapi.net/v1/google-flow/voices/ref

Path Parameters

  • ref is required, the voice to fetch. Either a system voice name (e.g. Achernar, case-insensitive) or a user voice reference-id returned by POST /voices (URL-encoded).

Request Headers

Authorization: Bearer {API token}

Responses

  • System voice 200 OK

    {
      "voice": "Achernar",
      "source": "system",
      "displayName": "Achernar",
      "sampleUrl": "https://www.gstatic.com/aitestkitchen/voices/samples/Achernar.wav"
    }
    
  • 400 Bad Request

    The path segment is neither a known system voice name nor a recognized user voice reference-id.

    { "error": "Parameter voiceRef is neither a system voice name nor a recognized user voice reference-id" }
    
  • 403 Forbidden

    The reference belongs to a different user.

    { "error": "Unauthorized access to user:12345 detected in voice reference" }
    
  • 404 Not Found

    The voice doesn’t exist (deleted or never created).

    { "error": "Voice not found: d990a2f9-..." }
    

Model

// System voice
{
  voice: string                  // base preset name (e.g. "Achernar")
  source: 'system'
  displayName: string
  sampleUrl: string              // static gstatic.com asset
}

// User voice
{
  voice: string                  // reference-id for subsequent calls
  source: 'user'
  displayName: string
  workflowId: string
  mediaId: string
  baseVoice: string              // system preset the user voice derives from
  dialog?: string
  voicePerformance?: string
  createTime?: string            // ISO 8601 timestamp
  audioUrl?: string              // signed playback URL (~6h TTL); occasionally absent on transient resolution failure
}

Examples

  • # System voice
    curl -H "Authorization: Bearer YOUR_API_TOKEN" \
         "https://api.useapi.net/v1/google-flow/voices/Achernar"
    
    # User voice — URL-encode the reference!
    REF="user:12345-email:6a6f...-voice:d990a2f9-...-mid:d55b6d59-..."
    REF_ENC=$(printf '%s' "$REF" | jq -sRr @uri)
    curl -H "Authorization: Bearer YOUR_API_TOKEN" \
         "https://api.useapi.net/v1/google-flow/voices/$REF_ENC"
    
  • const ref = 'user:12345-email:6a6f...-voice:d990a2f9-...-mid:d55b6d59-...'
    const r = await fetch(
      `https://api.useapi.net/v1/google-flow/voices/${encodeURIComponent(ref)}`,
      { headers: { 'Authorization': `Bearer ${token}` } }
    )
    const v = await r.json()
    console.log('audio:', v.audioUrl || v.sampleUrl)
    
  • import requests, urllib.parse
    ref = 'user:12345-email:6a6f...-voice:d990a2f9-...-mid:d55b6d59-...'
    r = requests.get(
        f'https://api.useapi.net/v1/google-flow/voices/{urllib.parse.quote(ref, safe="")}',
        headers={'Authorization': f'Bearer {token}'},
    )
    v = r.json()
    print('audio:', v.get('audioUrl') or v.get('sampleUrl'))
    

Try It