FreeTTS · Authentication Profile

Freetts Authentication

Authentication

FreeTTS declares 2 security scheme(s) across its OpenAPI definitions.

Text-to-SpeechSpeech SynthesisAI-voiceAudioMediaAccessibilitySpeech-to-TextContent CreationDeveloper Tools
Methods: Schemes: 2 OAuth flows: API key in:

Security Schemes

x-api-key apiKey
· in: header ()
public

Source

Authentication Profile

freetts-authentication.yml Raw ↑
generated: '2026-08-28'
method: searched
source: https://freetts.org/developers
probed: '2026-08-28'
note: >-
  No OpenAPI exists for this provider, so derive-authentication.py had no
  securitySchemes to read. This profile is written from the provider's own
  developer documentation and confirmed against live unauthenticated probes of
  the production API.
summary: >-
  Single-scheme API-key auth. A key is minted in the FreeTTS dashboard under
  "API Keys" and sent as the x-api-key request header. There is no OAuth, no
  OpenID Connect, no mutual TLS, no bearer token and no scope surface, so no
  scopes/ artifact is emitted.
schemes:
- id: apiKeyHeader
  type: apiKey
  in: header
  name: x-api-key
  applies_to:
  - POST /api/v1/tts
  - POST /api/tts-pro
  required: true
  key_prefix: null
  key_prefix_note: >-
    FreeTTS publishes no key prefix convention. Every documented example uses an
    environment variable ($FREETTS_API_KEY) rather than a literal key, so there
    is no example token in the docs to record or to redact.
  issuance: >-
    Free account required; the docs state keys are only issued to accounts with
    a verified email address. Free plan gets 1 key, PRO and Creator up to 10.
    Revoking a key is documented as taking effect instantly.
  rotation: revoke-and-remint from the dashboard; no documented rotation policy
    or key expiry
- id: none
  type: public
  in: null
  name: null
  applies_to:
  - GET /api/voices
  - GET /api/audio/{file_id}
  - GET /api/srt/{file_id}
  - GET /api/health
  required: false
  note: >-
    CONFIRMED BY PROBE. GET https://freetts.org/api/voices returned HTTP 200
    with a 585,024-byte JSON array of 1,410 voice objects and no credential of
    any kind. GET /api/health returned 200 {"status":"ok","timestamp":...}. The
    audio and SRT download endpoints are unauthenticated too and are guarded
    only by the unguessable file_id UUID plus the 1-hour retention window - an
    access-control model worth naming, since a leaked file_id is the whole
    credential for that object until it expires.
probes:
- url: https://freetts.org/api/v1/tts
  method: POST
  headers: none
  status: 401
  body: '{"detail":"Missing x-api-key header"}'
- url: https://freetts.org/api/v1/tts
  method: POST
  headers: 'x-api-key: <deliberately invalid>'
  status: 401
  body: '{"detail":"Invalid API key"}'
- url: https://freetts.org/api/voices
  method: GET
  headers: none
  status: 200
- url: https://freetts.org/api/health
  method: GET
  headers: none
  status: 200
documentation_conflict: >-
  The /developers hero and the About page both advertise the API as "No Key
  Required" / "No API key required to get started", while the same page's FAQ,
  every code sample on it, and the live 401 all require x-api-key. The
  marketing claim is wrong and the FAQ is right. This is worth raising with the
  provider - it is the first thing a developer reads and it is contradicted
  sixty lines later.
transport:
  https_only: true
  tls_version: TLSv1.3
  hsts: true
  hsts_max_age: 63072000
cors:
  enabled: false
  source: >-
    /developers "Technical Notes" states the API does not emit CORS headers by
    default and directs browser callers to proxy through their own backend.

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/freetts-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.