Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
79 lines (64 loc) · 3.53 KB
/
Copy path.env.example
File metadata and controls
79 lines (64 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# LLM provider API keys (set the ones you need)
# OPENAI_API_KEY=sk-...
# ANTHROPIC_API_KEY=sk-ant-...
# GEMINI_API_KEY=...
# override llm model - MUST include provider prefix
# see https://docs.litellm.ai/docs/providers for full list
# examples:
# AUTIOBOOK_LLM_MODEL=openai/gpt-4o
# AUTIOBOOK_LLM_MODEL=anthropic/claude-3-5-sonnet-20240620
# AUTIOBOOK_LLM_MODEL=gemini/gemini-1.5-pro
# AUTIOBOOK_LLM_MODEL=openai/my-local-model (for OpenAI-compatible endpoints)
# AUTIOBOOK_LLM_MODEL=openai/gpt-4o
# optional: separate model for the review phase (defaults to AUTIOBOOK_LLM_MODEL).
# useful for tuning cost/quality differently from script generation.
# AUTIOBOOK_REVIEW_LLM_MODEL=openai/gpt-4o
# one tts model for every mode, overriding the three defaults below. hosted
# providers serve design, cloning and synthesis from a single model id.
# AUTIOBOOK_TTS_MODEL=google/gemini-3.1-flash-tts-preview
# override tts models (defaults target Qwen3-TTS variants):
# CLONE - voice cloning from reference audio (perform/dramatize)
# INSTRUCT - preset instructable voices by name (synthesize)
# DESIGN - generate new voices from text descriptions (audition)
# AUTIOBOOK_TTS_CLONE_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-Base
# AUTIOBOOK_TTS_INSTRUCT_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
# AUTIOBOOK_TTS_DESIGN_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign
# optional: tokens for extended thinking (default: 0 = disabled)
# AUTIOBOOK_LLM_THINKING_BUDGET=1024
# optional: chapters per cast-generation batch (default: 3)
# AUTIOBOOK_CAST_BATCH_SIZE=3
# optional: deterministic seed for tts and llm. unset = random on a book's first
# run, then reused from workdir/seed.json. setting this (or --seed) replaces the
# recorded seed for whichever book the command targets.
# AUTIOBOOK_SEED=31337
# optional: custom OpenAI-compatible endpoint (use with openai/ prefix)
# OPENAI_BASE_URL=http://localhost:8080/v1
# optional: point tts at a different provider than the llm. falls back to
# OPENAI_BASE_URL / OPENAI_API_KEY when unset.
# AUTIOBOOK_TTS_API_BASE=https://openrouter.ai/api/v1
# AUTIOBOOK_TTS_API_KEY=sk-or-...
# optional: tts request subset. auto (default) picks openai for openrouter.ai
# and api.openai.com, qwen for everything else.
# qwen - local qwen3-tts server: wav, sse, voice design, cloning
# openai - hosted providers: pcm, preset voices only, no sse probe
# AUTIOBOOK_TTS_DIALECT=auto
# optional: override the response format the backend is asked for
# (wav, pcm, mp3). defaults to wav on qwen and pcm on openai.
# AUTIOBOOK_TTS_RESPONSE_FORMAT=pcm
# optional: preset voices for a backend with no /audio/voices endpoint.
# openrouter has no voice discovery api; gemini tts names are built in.
# AUTIOBOOK_TTS_VOICES=Zephyr,Puck,Charon,Kore
# optional: how emotion and voice direction reach the model.
# field - top-level instructions field (default; qwen and openai)
# prefix - folded into the input text, for providers that drop the field
# AUTIOBOOK_TTS_DIRECTION=field
# optional: streaming tts batch size (frames per SSE delta). 0 disables (default).
# >0 enables live progressive playback for audition --directed. 16 ≈ 1.28s/delta.
# only the qwen server reads this; hosted providers always stream their body.
# AUTIOBOOK_TTS_STREAM_BATCH_SIZE=16
# optional: how hard to retry a tts request that fails in transit (dropped
# socket, timeout, 429/5xx). the delay doubles after each attempt, so the
# defaults wait 2+4+8+16 seconds before giving the request up. other 4xx
# replies are never retried.
# AUTIOBOOK_TTS_MAX_RETRIES=4
# AUTIOBOOK_TTS_RETRY_DELAY=2.0