This repo contains the source for the ElevenLabs documentation site, the Next.js example app and the SDK generation.
The autogenerated content (docs and SDK) all live inside the fern
folder.
We welcome contributions to the ElevenLabs documentation, but ask that you first read through the style guide before submitting pull requests.
The Fern CLI is what builds the documentation.
Install pnpm
npm install -g pnpm
Install the dependencies
pnpm install
Run the following command at the root of the folder
pnpm run dev
Run the following command to lint/format the project
pnpm run fmt
We support the following SDKs which can be used to interact with the ElevenLabs platform:
While this public repo contains the source for generating ElevenLabs SDKs, only ElevenLabs employees can trigger a regeneration.
The SDK generation is based on two specs and a configuration file:
- Deploy the backend with the updated OpenAPI spec
- Update openapi.json in this repo with the new OpenAPI spec (
pnpm run openapi:latest
) - (Optional but recommended) Run
fern check
to validate the API andfern generate --group python-sdk --preview
to create the generated intermediate step locally - (Optional) Test the changes locally by running
fern generate --group python-sdk --preview
and inspecting the generated folder - Add in appropriate overrides to the
openapi-overrides.yml
doc, and repeat steps 3 and 4 until it's correct - Trigger the Python and Typescript Github Actions. To do this, go to the
Actions
tab and clickRelease TypeScript SDK
orRelease Python SDK
. Enter in the appropriate version number e.g.1.1.1
(bumped from what's currently released). This will create PRs into the elevenlabs-python or elevenlabs-js repos. Note: Only ElevenLabs employees can trigger these actions. - Review and merge the PRs into the elevenlabs-python or elevenlabs-js repos.
- Create a release tag on both the Python and Typescript repos to release them.
To validate your API, run:
pnpm install
pnpm run fern:check
To view the changes locally run
fern generate --group python-sdk --preview
# `fern write-definition` shows you the intermediate step