Setup
Create a.env file in your documentation directory:
Required Variables
Fish Audio API Key
.env
The Fish API key is only required when running the
generate command. The cleanup command doesn’t need it.S3 Configuration
speak-mintlify uploads generated audio files to S3-compatible storage (AWS S3, Cloudflare R2, MinIO, etc.)..env
S3_ACCESS_KEY_ID- S3 access key for authenticationS3_SECRET_ACCESS_KEY- S3 secret key for authenticationS3_BUCKET- Name of your S3 bucketS3_PUBLIC_URL- Public CDN URL for accessing uploaded filesS3_REGION- AWS region (default:us-east-1)
Custom S3 Endpoint (Optional)
For S3-compatible services like Cloudflare R2 or MinIO:.env
- Cloudflare R2
- MinIO
- DigitalOcean Spaces
- Any S3-compatible storage
Complete Example
.env
CLI Overrides
All environment variables can be overridden with CLI flags:Configuration Priority
speak-mintlify resolves configuration in this order:- CLI flags (highest priority)
- Environment variables
- speaker-config.yaml
- Defaults (lowest priority)
Advanced Options
S3 Path Prefix
Customize where audio files are stored in your S3 bucket:s3://your-bucket/tts/filename.mp3
Validation
speak-mintlify validates required configuration on startup. If any required variables are missing, you’ll see:Security Best Practices
1
Use .gitignore
Always add
.env to your .gitignore file2
Rotate keys regularly
Periodically rotate your API keys and S3 credentials
3
Use IAM policies
Limit S3 credentials to only the permissions needed (PutObject, GetObject, DeleteObject)
4
Use environment-specific configs
Keep separate
.env.production and .env.staging filesNext Steps
Speaker Config
Configure voices and components
Getting Started
Start generating audio
