Voice Library

Search, compare, and choose provider-backed voices in the Skysay workspace.

The Voice Library is the workspace catalog for voices that Skysay has already recorded from supported provider inventory. Use it to compare a voice's provider, models, declared languages, accent and style metadata before choosing one for a hosted agent.

It is a browse surface, not a provider-control surface: opening the library does not contact a provider, refresh inventory, retrieve credentials, or change an agent.

Catalog updates and published agents

Adding a voice or model to the catalog does not require you to publish existing agents again. Their published language profiles keep the selections and prompts you chose, and queued calls keep their reserved configuration.

Skysay checks the settings an agent actually uses: its provider, model, language, voice, opening mode, and delivery profile. An unavailable or invalid selection must be corrected before that configuration can run. Agent Chat checks the resolved configuration too, before starting a response. An unrelated catalog addition does not make a working configuration invalid.

Search the catalog

The library opens on All voices, which lists both kinds: the text-to-speech voices first, then the conversation engines, whose voices are chosen and previewed differently on an agent (see GPT-Live 1 voices). Text-to-speech voices and Conversation engines (Live) narrow the list to one kind. Search and filters apply to whichever of these you are viewing, across the complete cached catalog, not only the rows already visible on the current page.

Within that, the order comes from the catalog's own data; nothing is hand-picked:

  • When a language is selected (in a filter, or by the AI agent you are choosing a voice for), voices that declare it come first.
  • Voices from a provider's own catalog come before voices that the provider's users uploaded to a community library.
  • Community voices are ordered in broad bands of how much they are used on the provider's own platform, as the provider reports it, most used first; within a band, the provider's like count decides. A voice whose usage the provider does not report comes after the ones it does.
  • Voices with a fuller profile (a preview clip, and a stated gender, age, accent and description) come before sparse ones.
  • Anything still tied is listed by name.

Usage figures are refreshed from the providers every few hours, so a community voice can move up or down between visits.

You can combine these filters:

  • Language — the languages the voice's model declares.
  • Accent / regional style — grouped by language. A language with several stated accents lists them by region; a language with only one is a single entry named for the language. The filter also includes explicit national regional styles from the GPT-Live catalogue: British includes Vesper, alongside voices whose provider states British English. This is a discovery alias, not a provider-certified accent or language claim. A provider's stated accent takes precedence over a regional-style alias. Include voices with no stated accent or regional style finds voices with neither. Supporting several languages never implies a native accent in each of them.
  • Gender — the provider's own value.
  • Voice age — Young, Middle-aged or Older, only where the provider states an age.
  • Style — how the voice sounds and speaks: words such as Calm, Warm, Clear or Energetic.
  • Good for — what the voice is made for: for example Conversation, Narration / Audiobook or Advertising, as the provider describes the voice. These are the provider's words, not a Skysay recommendation.
  • Provider — with each provider's models listed underneath.
  • Free-text search.

Every option shows how many voices you would see if you added it, counting your other filters. Selecting several values in one filter means "any of these values." Selecting values in different filters means "must satisfy each filter." For example, Calm and Warm in Style, plus Female in Gender, returns female voices that are calm or warm. Each selection appears as a chip you can remove, and Clear all removes them all; the filters stay in the URL.

Style and Good for sit together under Voice character, and each voice row shows its own values on Style: and Good for: lines.

Voice age, Good for and Style are translated from each provider's own tags through one published set of rules. Skysay never infers a fact from a voice's name, how it sounds, its pitch or the languages it speaks, and a language or pitch tag never becomes a Style word. A tag with no agreed translation stays searchable and is listed with the voice's other provider tags, one click away on each row. Older links that used the former Character filter still work: they filter by that provider tag.

A voice's own description is shown as one line. When it runs longer, a Show more link under it opens the rest in place, and Show less closes it again; the choice applies to that row only, so the other rows stay aligned for comparison.

Voice language claims remain model-specific. When a provider gives no per-voice language list, Skysay uses only that model's declared languages; it does not infer a language from another voice with the same provider or name.

Pages and model groups

The library opens with up to 24 voice groups per page and accepts a page size up to 100. When the current cached result count is available, the pager shows Page X of Y, numbered links, and Next and Previous. Filters and page position stay in the URL so you can return to the same view. Changing a filter starts at the first matching page; an old bookmarked page that is now beyond the result set returns to the first page instead of leaving you on a blank one.

The page count is the number of currently browsable, filtered voice groups in the cache. It is not a count of models and it is not a claim about a provider's complete or undiscovered inventory. When that count is not available during a rolling update, the page keeps the compatible Next and Previous controls instead of inventing a total.

Models are grouped before pagination only when the provider's inventory evidence identifies them as the same voice. A matching raw identifier alone is not enough: two models, or two providers, can expose distinct voices with the same name or ID. This keeps a model-specific selection exact while avoiding duplicate cards for a provider-evidenced shared voice.

In an agent editor's small embedded gallery, search also matches the Style, Good for and Voice age words each row shows, in your workspace language: typing Clear finds a voice whose provider tagged it "crisp".

If an agent already uses a voice that is outside the editor's small embedded gallery, the editor resolves that exact stored provider, model and voice ID instead of treating it as missing just because it is on a later library page.

What catalog coverage means

The library keeps the last successful cached inventory visible while a refresh is running or has failed. A partial or ranked provider search can show useful results without proving that it found every voice the provider offers. When the library says its provider catalogue results are incomplete — a note that appears at the end of such a result set — treat the library as the available cached window, not as a claim that no other provider voices exist.

Only a completed authoritative provider refresh can remove a previously cached voice for absence. Provider eligibility, licensing and your agent's existing selection continue to be checked when you save or run the agent; appearing in a search result is not permission to bypass those controls.

Preview a voice in the intended language

Use Play to audition a voice without changing an agent or refreshing a provider catalog. Browsing and changing filters do not create a preview or use your preview allowance.

If one active Language filter matches a voice, Play targets that language. When several selected languages match the same voice, the row shows a searchable, single-language chooser with the provider's declared values. Choose one before a live preview starts; Skysay never silently takes the first matching language. With no Language filter, an existing recorded sample can still play as published until you explicitly choose a preview language. If its catalog provenance does not establish a spoken language, the row labels that sample as unverified rather than inferring one.

When a target language is selected, a recorded sample is used only when its catalog provenance proves that it matches the target. At present, an Skysay ingestion-synthesized sample has that proof for English; a provider-supplied recording has no spoken-language assertion and is not treated as English or as a match for another language. The row uses the bounded live preview instead.

A preview can also carry a delivery profile (natural, lively, calm or precise) so you hear the voice performed the way a call with that profile would perform it; the response says whether the selected provider and model applied it.

Text you type is sent and spoken exactly as written by text-to-speech voices (GPT-Live voices use a fixed sample sentence instead; see below). Skysay does not translate it. If you leave the text blank, the library uses a localized sample sentence for the selected language where one is available. If there is no such sentence, enter your own text rather than receiving an English fallback. Live preview remains bounded, metered, and rate-limited for the workspace.

OpenAI GPT-Live 1 voices

The fourteen GPT-Live 1 voices are listed under the OpenAI provider, under All voices and on Conversation engines (Live). They are conversation-engine voices, not text-to-speech voices, and a few things differ:

  • Every language filter shows them, in a Multilingual group. The engine follows the caller's language automatically, so no language filter can exclude a GPT-Live voice and no per-voice language list is shown. The group says: "Follows the caller's language automatically. Widely supported languages are recognised reliably. Some languages may be misheard and answered in another language, so test yours before going live." When the library is filtered to Sinhala, one extra note asks you to test first. The dated results behind both sentences are on Which languages the voice agent follows.
  • Details are OpenAI's words. Gender comes from OpenAI's presentation (Feminine or Masculine). The row's details show OpenAI's regional influence (which OpenAI describes as speaking style, not accent fidelity), its per-voice Language label (English or Portuguese, a description of the voice, not a limit on what it speaks) and whether the voice is Natural or Generated. Marin and Cedar are OpenAI's undocumented voices: they show a presentation and nothing else.
  • Regional styles are searchable. Search for the provider's words, such as British, Irish, Australian, Brazilian, Filipino, North American or Southern U.S. Broad regional labels remain searchable without being guessed into a single-country accent. These descriptions do not guarantee accent fidelity or language support; audition the voice in your intended language.
  • Play runs a short real GPT-Live session. The clip is rendered once per voice and sample sentence and cached, so the same audition plays instantly next time. It uses a fixed Skysay sample sentence for the chosen preview language; text you type is not sent to a GPT-Live voice, and the engine paraphrases rather than reading verbatim. Previews are not charged to your workspace and never count as call usage.
  • Both figures say what they measure. The latency is the time to first audio on a scripted greeting, measured by Skysay on the date the row shows; reply latency after a caller speaks is not measured and is not shown as zero. The price is call duration at the per-minute rate, plus the backend model's tokens billed separately per call; see Conversation engines for the rate.
  • Use switches the engine. Choosing a GPT-Live voice for an agent sets the agent's conversation engine to GPT-Live 1 and says so. The change is a draft until you publish, exactly as any other voice change.

Choose a voice for an agent

Choose a provider, model and voice together. The agent configuration flow validates that exact combination for the agent's language and credential scope before it saves. Bring-your-own-key voices can be private to your own provider account and may not appear in the shared library; Skysay keeps the stored selection distinct from shared public inventory rather than exposing a private provider listing to other workspaces.

Retired voice models

A voice model can be retired from selection while agents that already use it keep working. Google Gemini TTS (Flash, preview), model gemini-2.5-flash-preview-tts, is retired: it sends each reply as one finished clip rather than a stream, so a caller waits about three seconds before hearing anything. The library and the agent editor no longer offer it, and saving a new selection of it is refused with a message naming Google Gemini TTS (Flash 3.1, preview) as the replacement. An agent that already uses it keeps running, its editor keeps it as the current selection, and its voice stack carries a warning naming the replacement. Google Gemini TTS (Flash 3.1, preview) and Google Gemini TTS (Flash-Lite 3.8) both stream.

Preview-only conversation models

A model can have listening samples before it is ready for calls. On the Voices page its section says so once, and the model itself shows Not available yet. Use in AI agent stays disabled. Listening does not approve a voice for publishing, telephone calls or browser conversations.

For Eleven Realtime, these samples are produced by the native Realtime model with the displayed voice, rather than by an ElevenLabs text-to-speech model. Playback uses a validated platform sample in the selected language. It does not send your instructions or typed text to ElevenLabs. If that exact voice and language have no validated sample, playback reports unavailable; it does not substitute another voice, language or model, or start a new live session. Custom delivery and audio-environment controls are not available for these samples.

The catalog count reflects the imported voices available for browsing, not ElevenLabs' entire voice library or a count approved for calls. ElevenLabs advertises 90+ languages; that is a provider claim, not a statement that Skysay has tested every language. Sample availability varies by voice and language. A dash in the price or latency column means that no callable price or measured call latency is available.

Preview-only entries appear only where samples have been provisioned. This status does not announce general availability of Eleven Realtime calls.

Eleven Realtime conversations

When enabled for calls, Eleven Realtime provides speech and reasoning as one conversation engine. Choose a voice, language and instructions. Configure a written first message and let the AI agent speak first. Generated openings, caller-first pickup, phone-menu navigation and controlled workflows are not supported by this integration. Tools still run through your AI agent's configured permissions. The silence timeout can end a native call without an additional spoken check-in or farewell.

With Eleven Realtime, while an action runs, the agent cannot hear or answer the caller. Speech during that wait is absent from the transcript; the caller must repeat it after the action finishes. Speaking cannot stop an action that is already running. Interruptions work during normal speech.

The initial catalog contains 21 premade voices from the connected provider account. ElevenLabs advertises 90+ languages; Skysay exposes 90 base language choices from the native API's 91 accepted codes. These are provider-declared capabilities, not a claim that Skysay has tested every voice/language combination. Sinhala is not accepted by this native API. Listening samples remain exact voice/model/language recordings and may be available for fewer combinations.

Eleven Realtime costs $0.15 per connected minute, charged by the second, with the usual platform, telephone and applicable tool charges. Its agent instructions are limited to 8,000 bytes; see Eleven Realtime. A reservation is an estimate, not the final price. Repeated delivery of the same usage does not create another charge.

Availability depends on the deployed runtime and provider configuration. A preview-only badge still means you can listen but cannot select the model for a call. This documentation does not announce production activation.