Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.truefoundry.com/llms.txt

Use this file to discover all available pages before exploring further.

Adding Models

Add Smallest AI models to the AI Gateway and set up access in three steps.
1

Navigate to Smallest AI Models in AI Gateway

In the TrueFoundry dashboard, go to AI GatewayModels and select Smallest AI.
Smallest AI provider account showing smallest-tts and smallest-stt models
2

Add Smallest AI Account Details

Click Add Smallest AI Account. Enter a unique account name and your Smallest AI API Key. Optionally add collaborators so other users or teams can use this account. See Gateway access control for details.
Smallest AI account configuration form with fields for name, collaborators, API key, and models
3

Add Models

Click + Add Model and fill in the Display name, Model ID, and Model type (Text to Speech or Audio Transcription).
Smallest AI Add Model form with Display name, Model ID, and Model Types fields
For Smallest AI, the Model ID and Display name must be identical (e.g. smallest-tts, smallest-stt).

Inference

Once models are added, use the Smallest AI native HTTP API to call TTS and STT endpoints through the gateway. Requests are proxied to Smallest AI’s Waves API under your provider account path.

Supported APIs

Once your Smallest AI provider account is configured, the following API surfaces are available through the gateway. The table below summarizes each endpoint alongside platform feature support (tracing, cost tracking).
Legend:
  • Supported by Provider and Truefoundry
  • Supported by Provider, but not by Truefoundry
  • Provider does not support this feature
APIEndpointTracingCost Tracking
Text-to-Speech/tts/{providerAccountName}/waves/v1/smallest-tts/get_speech
Speech-to-Text/stt/{providerAccountName}/waves/v1/smallest-stt/get_text
Convert text into audio using Smallest AI’s Waves TTS API. The gateway forwards your request to waves/v1/smallest-tts/get_speech under your provider account and streams back the raw audio bytes. Full docs: Text-to-Speech.Before you start: Replace {GATEWAY_BASE_URL} with your gateway base URL (how to find it) and {smallestAiProviderAccountName} with the display name of your Smallest AI provider account.
Python
import requests

TFY_API_KEY = "your-truefoundry-api-key"
BASE_URL = "{GATEWAY_BASE_URL}/tts/{smallestAiProviderAccountName}"

response = requests.post(
    f"{BASE_URL}/waves/v1/smallest-tts/get_speech",
    headers={
        "Authorization": f"Bearer {TFY_API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "text": "Modern problems require modern solutions.",
        "voice_id": "magnus",
        "sample_rate": 24000,
        "speed": 1.0,
        "language": "en",
        "output_format": "wav",
    },
)

with open("output.wav", "wb") as f:
    f.write(response.content)

print(f"Saved output.wav ({len(response.content):,} bytes)")
For the full list of voices, supported sample rates, languages, and output formats, refer to the Smallest AI Waves TTS reference.
Transcribe audio with Smallest AI’s Waves STT API. The gateway forwards your request to waves/v1/smallest-stt/get_text under your provider account. You can pass a remote audio URL via the JSON body. Full docs: Speech-to-Text.
Python
import requests

TFY_API_KEY = "your-truefoundry-api-key"
BASE_URL = "{GATEWAY_BASE_URL}/stt/{smallestAiProviderAccountName}"

response = requests.post(
    f"{BASE_URL}/waves/v1/smallest-stt/get_text",
    params={"language": "en"},
    headers={
        "Authorization": f"Bearer {TFY_API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "url": "https://github.com/smallest-inc/cookbook/raw/main/speech-to-text/getting-started/samples/audio.wav",
    },
    timeout=120,
)

result = response.json()
print(result["transcription"])
Smallest AI returns a JSON object containing the transcription field. Refer to the Smallest AI Waves STT reference for additional parameters and supported languages.
Cost tracking: Smallest AI usage is not metered by the gateway. Tracing and request logging continue to work as with any other provider — see Analytics.