> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sentivue.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Cloud

> Connect Google Cloud speech to SentiVue Talk

Google Cloud provides the **voice** and **transcription**, using one service-account JSON for both.

## Getting a service-account JSON

1. In the [Google Cloud Console](https://console.cloud.google.com/), select or create a project.
2. Enable the APIs you need — **Cloud Text-to-Speech** for voice, **Cloud Speech-to-Text** for transcription.
3. Go to **IAM & Admin → Service Accounts** and create one.
4. Open its **Keys** tab, choose **Add Key → Create new key**, and select **JSON**.
5. The file downloads once. Store it securely and treat it as a secret.

<Warning>
  Choose **JSON**, not P12. P12 is a legacy format kept for older Google Workspace integrations and will not work here.
</Warning>

Upload the file as-is. It must be the whole JSON, including `private_key` and `client_email` — do not extract individual values from it.

## Adding the connection

1. Go to **Connections** and choose **Google Cloud**.
2. Use **Upload JSON** to attach the service-account file.
3. Choose which services this connection drives — **TTS**, **STT**, or both.
4. Save.

### Using separate service accounts for voice and transcription

One connection can drive both services, but they do not have to share a credential. To keep them apart — separate projects, quotas, or regions — add a second Google Cloud connection with its own label and service account, then pick which connection each service uses on [Model Configurations](/talk/configurations/inference-providers).

## What you can select afterwards

Choose your models on [Model Configurations](/talk/configurations/inference-providers).

**Voice** — pick from the dropdown, or enter a fully-qualified Google Cloud voice ID rather than a short name. Google's [voice list](https://cloud.google.com/text-to-speech/docs/voices) has samples.

**Language** — Google Cloud uses BCP-47 codes, such as `ar-XA` and `cmn-CN`. Set it to match your callers. See Google's [supported languages](https://cloud.google.com/speech-to-text/docs/speech-to-text-supported-languages).

## Related providers

| Provider                                                       | Use it for                                    |
| -------------------------------------------------------------- | --------------------------------------------- |
| [Gemini](/talk/configurations/providers/google-gemini)         | Gemini language models                        |
| [Gemini TTS](/talk/configurations/providers/google-gemini-tts) | Gemini's own speech model, with style prompts |
| [Vertex AI Gemini](/talk/configurations/providers/vertex-ai)   | Gemini through your own Google Cloud project  |

## Troubleshooting

<AccordionGroup>
  <Accordion title="Voice or transcription fails after adding the JSON">
    Confirm the matching API is enabled on the project — Cloud Text-to-Speech for voice, Cloud Speech-to-Text for transcription. A valid service account for a project without the API enabled fails at call time.
  </Accordion>

  <Accordion title="A voice ID is rejected">
    Google Cloud expects its own fully-qualified voice identifiers and BCP-47 language codes. Copy the exact ID from Google's voice list rather than typing a short name.
  </Accordion>

  <Accordion title="The service-account key will not upload">
    Make sure it is the JSON file, not P12, and that you pasted the whole file contents rather than a single field from it.
  </Accordion>

  <Accordion title="I have an API key, not a service account">
    An AI Studio API key belongs on the [Gemini](/talk/configurations/providers/google-gemini) connection and drives the language model. Google Cloud speech does not accept one.
  </Accordion>
</AccordionGroup>
