Note:
This documentation is for version 3.13.0 of the library.
Some samples may not work with other versions.
Installation
Install the Google.Cloud.TextToSpeech.V1 package from NuGet. Add it to
your project in the normal way (for example by right-clicking on the
project in Visual Studio and choosing "Manage NuGet Packages...").
Authentication
When running on Google Cloud, no action needs to be taken to authenticate.
Otherwise, the simplest way of authenticating your API calls is to
set up Application Default Credentials.
The credentials will automatically be used to authenticate. See
Set up Application Default Credentials for more details.
Getting started
All operations are performed through the following client classes:
Create a client instance by calling the static Create or CreateAsync methods. Alternatively,
use the builder class associated with each client class (e.g. TextToSpeechClientBuilder for TextToSpeechClient)
as an easy way of specifying custom credentials, settings, or a custom endpoint. Clients are thread-safe,
and we recommend using a single instance across your entire application unless you have a particular need
to configure multiple client objects separately.
Using the REST (HTTP/1.1) transport
This library defaults to performing RPCs using gRPC using the binary Protocol Buffer wire format.
However, it also supports HTTP/1.1 and JSON, for situations where gRPC doesn't work as desired. (This is typically due to an incompatible proxy
or other network issue.) To create a client using HTTP/1.1, specify a RestGrpcAdapter reference for the GrpcAdapter property in the client builder.
Sample code:
var client = new TextToSpeechClientBuilder
{
GrpcAdapter = RestGrpcAdapter.Default
}.Build();
TextToSpeechClient client = TextToSpeechClient.Create();
// The input can be provided as text or SSML.
SynthesisInput input = new SynthesisInput
{
Text = "This is a demonstration of the Google Cloud Text-to-Speech API"
};
// You can specify a particular voice, or ask the server to pick based
// on specified criteria.
VoiceSelectionParams voiceSelection = new VoiceSelectionParams
{
LanguageCode = "en-US",
SsmlGender = SsmlVoiceGender.Female
};
// The audio configuration determines the output format and speaking rate.
AudioConfig audioConfig = new AudioConfig
{
AudioEncoding = AudioEncoding.Mp3
};
SynthesizeSpeechResponse response = client.SynthesizeSpeech(input, voiceSelection, audioConfig);
using (Stream output = File.Create("sample.mp3"))
{
// response.AudioContent is a ByteString. This can easily be converted into
// a byte array or written to a stream.
response.AudioContent.WriteTo(output);
}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003e\u003ccode\u003eGoogle.Cloud.TextToSpeech.V1\u003c/code\u003e is a .NET client library for the Google Cloud Text-to-Speech API, with version 3.10.0 being the latest.\u003c/p\u003e\n"],["\u003cp\u003eInstallation of the library is done via the \u003ccode\u003eGoogle.Cloud.TextToSpeech.V1\u003c/code\u003e NuGet package.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication on Google Cloud is automatic, and outside of it, Application Default Credentials are the simplest way to authenticate.\u003c/p\u003e\n"],["\u003cp\u003eOperations are performed through \u003ccode\u003eTextToSpeechClient\u003c/code\u003e and \u003ccode\u003eTextToSpeechLongAudioSynthesizeClient\u003c/code\u003e classes, which can be created using \u003ccode\u003eCreate\u003c/code\u003e, \u003ccode\u003eCreateAsync\u003c/code\u003e methods, or builder classes.\u003c/p\u003e\n"],["\u003cp\u003eThe library defaults to gRPC, but supports HTTP/1.1 and JSON transport by specifying \u003ccode\u003eRestGrpcAdapter\u003c/code\u003e for the \u003ccode\u003eGrpcAdapter\u003c/code\u003e property in the client builder.\u003c/p\u003e\n"]]],[],null,["Version latestkeyboard_arrow_down\n\n- [3.11.0 (latest)](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/latest)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.10.0)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.9.0)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.8.0)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.7.0)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.6.0)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.5.0)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.4.0)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.3.0)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.2.0)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.1.0)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/3.0.0)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/2.5.0)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/2.4.0)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/2.3.0)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/2.2.0) \n\nGoogle.Cloud.TextToSpeech.V1\n============================\n\n`Google.Cloud.TextToSpeech.V1` is a.NET client library for the [Google Cloud Text-to-Speech API](https://cloud.google.com/text-to-speech).\n\nNote:\nThis documentation is for version `3.11.0` of the library.\nSome samples may not work with other versions.\n\nInstallation\n------------\n\nInstall the `Google.Cloud.TextToSpeech.V1` package from NuGet. Add it to\nyour project in the normal way (for example by right-clicking on the\nproject in Visual Studio and choosing \"Manage NuGet Packages...\").\n\nAuthentication\n--------------\n\nWhen running on Google Cloud, no action needs to be taken to authenticate.\n\nOtherwise, the simplest way of authenticating your API calls is to\nset up Application Default Credentials.\nThe credentials will automatically be used to authenticate. See\n[Set up Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc) for more details.\n\nGetting started\n---------------\n\nAll operations are performed through the following client classes:\n\n- [TextToSpeechClient](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/latest/Google.Cloud.TextToSpeech.V1.TextToSpeechClient)\n- [TextToSpeechLongAudioSynthesizeClient](/dotnet/docs/reference/Google.Cloud.TextToSpeech.V1/latest/Google.Cloud.TextToSpeech.V1.TextToSpeechLongAudioSynthesizeClient)\n\nCreate a client instance by calling the static `Create` or `CreateAsync` methods. Alternatively,\nuse the builder class associated with each client class (e.g. TextToSpeechClientBuilder for TextToSpeechClient)\nas an easy way of specifying custom credentials, settings, or a custom endpoint. Clients are thread-safe,\nand we recommend using a single instance across your entire application unless you have a particular need\nto configure multiple client objects separately.\n\n### Using the REST (HTTP/1.1) transport\n\nThis library defaults to performing RPCs using [gRPC](https://grpc.io/) using the binary [Protocol Buffer](https://protobuf.dev) wire format.\nHowever, it also supports HTTP/1.1 and JSON, for situations where gRPC doesn't work as desired. (This is typically due to an incompatible proxy\nor other network issue.) To create a client using HTTP/1.1, specify a `RestGrpcAdapter` reference for the `GrpcAdapter` property in the client builder.\nSample code: \n\n var client = new TextToSpeechClientBuilder\n {\n GrpcAdapter = RestGrpcAdapter.Default\n }.Build();\n\nFor more details, see the [transport selection](https://cloud.google.com/dotnet/docs/reference/help/transports) page.\n\nSample code\n-----------\n\n TextToSpeechClient client = TextToSpeechClient.Create();\n // The input can be provided as text or SSML.\n SynthesisInput input = new SynthesisInput\n {\n Text = \"This is a demonstration of the Google Cloud Text-to-Speech API\"\n };\n // You can specify a particular voice, or ask the server to pick based\n // on specified criteria.\n VoiceSelectionParams voiceSelection = new VoiceSelectionParams\n {\n LanguageCode = \"en-US\",\n SsmlGender = SsmlVoiceGender.Female\n };\n // The audio configuration determines the output format and speaking rate.\n AudioConfig audioConfig = new AudioConfig\n {\n AudioEncoding = AudioEncoding.Mp3\n };\n SynthesizeSpeechResponse response = client.SynthesizeSpeech(input, voiceSelection, audioConfig);\n using (Stream output = File.Create(\"sample.mp3\"))\n {\n // response.AudioContent is a ByteString. This can easily be converted into\n // a byte array or written to a stream.\n response.AudioContent.WriteTo(output);\n }"]]