{"id":50849946,"url":"https://github.com/jayspiffy/draft-to-take","last_synced_at":"2026-06-14T13:01:13.082Z","repository":{"id":291489601,"uuid":"977743929","full_name":"JaySpiffy/draft-to-take","owner":"JaySpiffy","description":"Draft to Take beta: local-first AI audio production studio powered by IndexTTS2, Docker, Qwen, OmniVoice, SFX, ambience, and music sidecars.","archived":false,"fork":false,"pushed_at":"2026-06-06T13:30:30.000Z","size":96103,"stargazers_count":64,"open_issues_count":1,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-06T15:15:16.871Z","etag":null,"topics":["ai-audio","docker","draft-to-take","fastapi","gpu","index-tts","indextts","indextts2","local-ai","multi-speaker","self-hosted","speaker-prep","speech-synthesis","text-to-speech","timeline-editor","tts","voice-cloning"],"latest_commit_sha":null,"homepage":null,"language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JaySpiffy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-04T21:47:28.000Z","updated_at":"2026-06-06T13:25:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"a70bb21a-1384-4cbf-b63d-e1351b2098ee","html_url":"https://github.com/JaySpiffy/draft-to-take","commit_stats":null,"previous_names":["jayspiffy/indextts-workflow-studio","jayspiffy/draft-to-take"],"tags_count":6,"template":true,"template_full_name":null,"purl":"pkg:github/JaySpiffy/draft-to-take","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaySpiffy%2Fdraft-to-take","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaySpiffy%2Fdraft-to-take/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaySpiffy%2Fdraft-to-take/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaySpiffy%2Fdraft-to-take/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JaySpiffy","download_url":"https://codeload.github.com/JaySpiffy/draft-to-take/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaySpiffy%2Fdraft-to-take/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34322074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-audio","docker","draft-to-take","fastapi","gpu","index-tts","indextts","indextts2","local-ai","multi-speaker","self-hosted","speaker-prep","speech-synthesis","text-to-speech","timeline-editor","tts","voice-cloning"],"created_at":"2026-06-14T13:00:50.809Z","updated_at":"2026-06-14T13:01:13.063Z","avatar_url":"https://github.com/JaySpiffy.png","language":"Batchfile","funding_links":["https://github.com/sponsors/JaySpiffy"],"categories":[],"sub_categories":[],"readme":"# Draft to Take Beta\n\n**Local-first script-to-audio production studio.**\n\n[![Sponsor JaySpiffy](https://img.shields.io/badge/Sponsor-JaySpiffy-ea4aaa?style=for-the-badge\u0026logo=githubsponsors\u0026logoColor=white)](https://github.com/sponsors/JaySpiffy)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge)](LICENSE)\n\nTurn your scripts into finished multi-speaker audio, complete with emotion, sound design, and timeline mixing, all running locally on your machine.\n\n**Think ElevenLabs-style script production, but Windows-local, IndexTTS2-powered, and built for creators who want control over voices, takes, emotion, SFX, ambience, music, and export.**\n\n[Watch the 23-second app preview](media/draft-to-take-20s-app-clip.mp4)\n\n![Draft to Take app preview](media/draft-to-take-20s-app-clip.gif)\n\nFormerly **IndexTTS Workflow Studio**. This repository is the public beta home for Draft to Take, the next-generation version of the original prototype. Most Windows testers should start with the Docker launcher attached to the latest release; the native Windows installer is still experimental.\n\n## The Workflow\n\nMost TTS tools are great for one line at a time. Draft to Take is built for the whole production loop:\n\n```text\nWrite or import a script -\u003e assign prepared voices -\u003e detect emotion -\u003e generate takes -\u003e lock the good ones -\u003e add sound cues -\u003e export the mix\n```\n\nUse it for audio drama, game dialogue, audiobook tests, YouTube narration, podcast sketches, horror scenes, or any project where you want a local script-to-audio workflow instead of a cloud text box.\n\nThis beta repo contains the Docker launcher, configuration, diagnostics scripts, tester docs, and an experimental Windows installer preview. It does not contain the private source code or model weights. The Docker launcher and installer both download supported model files into your own local machine.\n\nLooking for the old prototype? The previous IndexTTS Workflow Studio code is preserved on the [`legacy-v2`](https://github.com/JaySpiffy/draft-to-take/tree/legacy-v2) branch and the [`v2-legacy-final`](https://github.com/JaySpiffy/draft-to-take/tree/v2-legacy-final) tag.\n\n## Listen First\n\nShort generated examples:\n\n- [Script Canvas mini mix](media/audio-examples/script-canvas-mini-mix.mp3)\n- [Emotion example: fear](media/audio-examples/emotion-fear.mp3)\n- [Emotion example: anger + disgust](media/audio-examples/emotion-anger-disgust.mp3)\n\nWhat you are hearing: audio generated through the Draft to Take workflow using local model-backed dialogue/emotion tooling. Output quality depends on your source voices, settings, model downloads, and hardware.\n\n## Download And Start\n\n### Option A: Docker Launcher Recommended\n\nThis is the recommended public beta path while the native installer is still being hardened.\n\n1. Open the latest beta release: [Draft to Take v3.0.0 beta 17](https://github.com/JaySpiffy/draft-to-take/releases/tag/v3.0.0-beta.17).\n2. Download `DraftToTake-Docker-Launcher-v3.0.0-beta.17.zip` from the assets.\n3. Extract it somewhere simple, for example `C:\\DraftToTakeBeta`.\n4. Start Docker Desktop.\n5. Double-click `start.bat`.\n6. Open the URL printed in the terminal, usually:\n\n```text\nhttp://localhost:3000\n```\n\nFirst launch can be slow because Docker images and model files are large. A full GPU start can use roughly 25-40 GB of Docker disk space before app models download into `%USERPROFILE%\\DraftToTake\\shared`. Pull progress can also pause near 99% while Docker verifies and extracts layers; keep the terminal open and let it finish.\n\nIf Docker reports container startup errors such as `exec format error` after a partial or interrupted pull, run `repair-docker-images.bat`, then run `start.bat` again. The repair script removes only Draft to Take beta containers/images and keeps your shared voices, models, projects, and exports.\n\nBeta 17 keeps the safer one-service-at-a-time Docker pulls from beta 16 and adds the latest Script Canvas, timeline, voice assignment, and diagnostics fixes.\n\nThe launcher pulls these public images from GitHub Container Registry:\n\n```text\nghcr.io/jayspiffy/draft-to-take-backend:v3.0.0-beta.17\nghcr.io/jayspiffy/draft-to-take-frontend:v3.0.0-beta.17\nghcr.io/jayspiffy/draft-to-take-script-llm:v3.0.0-beta.17\nghcr.io/jayspiffy/draft-to-take-omnivoice:v3.0.0-beta.17\nghcr.io/jayspiffy/draft-to-take-sfx:v3.0.0-beta.17\n```\n\n### Option B: Native Windows Installer Experimental\n\nUse this only if you specifically want to test the dockerless installer preview. The Docker launcher above is currently more reliable for public testers.\n\n1. Open [Draft to Take v3.0.0 beta 13](https://github.com/JaySpiffy/draft-to-take/releases/tag/v3.0.0-beta.13).\n2. Download [`DraftToTake-Native-Setup-v3.0.0-beta.13.exe`](https://github.com/JaySpiffy/draft-to-take/releases/download/v3.0.0-beta.13/DraftToTake-Native-Setup-v3.0.0-beta.13.exe).\n3. Run the installer and choose `Full Studio (recommended)`.\n4. Start `Draft to Take` from the Start Menu.\n\nThe installer is unsigned during beta, so Windows may show a SmartScreen warning. It does not bundle model weights; the app downloads models into your local `%USERPROFILE%\\DraftToTake\\shared` folder.\n\nInstaller checksum:\n\n```text\nD61F6BDBF5770B8254F9D7349D93EB9D69974FC1771941F3428D2A048D257E8B\n```\n\n## Try This First\n\nAfter starting the app, either use the in-app `Try Demo Project` flow or import the sample scene: [Blackmere Road](samples/try-this-first/blackmere-road-45s.md).\n\nSuggested first run inside the app:\n\n1. Use `Try Demo Project` and click `Pick voices`, or open `Voices` to prepare a reusable speaker first.\n2. Assign each demo/script role to a prepared voice in the Voice Workbench.\n3. Open the demo script, or go to `Studio -\u003e Script Canvas` and import the sample Markdown file.\n4. Click `Full Episode Timeline`.\n5. Click `Detect Active Scene Emotions`.\n6. Click `Generate Audio`.\n7. Preview and download the mix.\n\nThe sample includes dialogue, IndexTTS2 emotion comments, ambience, music, and SFX markers so you can test the full canvas without inventing a script first.\n\n## Why Creators Use It\n\n- **Script-first workflow** - write scenes, chapters, pages, or speeches instead of isolated text snippets.\n- **Local-first production** - scripts, voices, projects, and exports stay in your local shared folder unless you choose to share them.\n- **Take review** - listen, lock strong takes, and regenerate only weak unlocked lines.\n- **Emotion-aware delivery** - Qwen can suggest IndexTTS2 emotion vectors, and you can adjust them manually.\n- **Timeline export** - dialogue, SFX, ambience, and music live in one embedded Script Canvas timeline.\n- **Reusable libraries** - keep prepared voices, source clips, SFX, ambience, and music assets organized for future projects.\n\n## Product Tour\n\n### Home: start with the right next step\n\n![Draft to Take home and demo setup](screenshots/00-home.png)\n\nHome keeps the first path obvious: create or choose voices, assign readable script roles, open a demo, then place and generate the scene.\n\n### Script Canvas: write, revise, cast, and generate\n\n![Script Canvas production view](screenshots/01-script-canvas.png)\n\nScript Canvas is the main workspace: draft or import scripts, assign prepared voices to readable speaker labels, detect emotions, clean up production lines, and send scenes to the embedded timeline.\n\n### Voice Workbench: assign roles without renaming your script\n\n![Voice Workbench role assignment](screenshots/04-voice-workbench.png)\n\nThe Voice Workbench lets you test prepared voices and map them to script roles such as narrator, host, guest, or any character name you wrote.\n\n### Embedded Timeline: shape the finished take\n\n![Script Canvas built-in timeline drawer](screenshots/02-script-canvas-timeline.png)\n\nReview timing, generate missing takes, balance dialogue/SFX/ambience/music tracks, lock good clips, preview the mix, and export without leaving Script Canvas.\n\n### Voice Studio: prepare reusable voices\n\n![Voice Studio](screenshots/03-voice-studio.png)\n\nCreate synthetic voices, prepare source clips, manage reusable voice assets, then assign them to readable Script Canvas role names in the Voice Workbench.\n\n## Manuals\n\nIf you are testing the beta for the first time, start with the manuals:\n\n- [Docs index](docs/README.md)\n- [User Manual](docs/USER_MANUAL.md)\n- [Tutorial Series](docs/tutorials/README.md)\n- [Script Canvas Authoring Guide](docs/SCRIPT_CANVAS_AUTHORING_GUIDE.md)\n- [Script Canvas AI System Prompt](docs/SCRIPT_CANVAS_AI_SYSTEM_PROMPT.md)\n- [IndexTTS2 Prompting Guide](docs/INDEXTTS2_PROMPTING_GUIDE.md)\n- [SFX, Ambience, And Music Smoke Test](docs/SFX_AMBIENCE_MUSIC_SMOKE_TEST.md)\n\n## Beta Status\n\n`v3.0.0-beta.17` is the latest public Docker launcher release. It uses refreshed public `v3.0.0-beta.17` Docker images.\n\nThe native installer preview remains available on `v3.0.0-beta.13`, but it is experimental while startup and generation issues are being worked through.\n\nAll beta container images are public and pullable from GitHub Container Registry:\n\n- `draft-to-take-backend`\n- `draft-to-take-frontend`\n- `draft-to-take-script-llm`\n- `draft-to-take-omnivoice`\n- `draft-to-take-sfx`\n\n## Who This Beta Is For\n\nThis beta is best for people comfortable testing local AI tools on Windows. The Docker launcher is currently the recommended route; the installer path is unsigned and experimental.\n\nGood testers:\n\n- Run Windows 11.\n- Have an NVIDIA GPU, ideally with 12-16 GB VRAM.\n- Can tolerate large downloads and rough edges.\n- Are willing to report bugs with hardware details and safe log excerpts.\n\n## Requirements\n\n- Windows 11 recommended.\n- NVIDIA GPU strongly recommended.\n- 32 GB system RAM recommended for the full workflow.\n- 12-16 GB VRAM recommended for the smoother local AI path.\n- Plenty of disk space. First-run model downloads can be many gigabytes.\n- Docker Desktop with WSL2 and NVIDIA Container Toolkit for the recommended Docker launcher path.\n\nCPU fallback can work for some paths, but it will be much slower.\n\n## What The Experimental Windows Installer Does\n\nThe installer:\n\n- Installs Draft to Take under your Windows user account.\n- Creates Start Menu shortcuts for launch, model setup, diagnostics, stop, and data folder access.\n- Uses the native Windows runtime path, so Docker Desktop is not required for the installer preview.\n- Offers `Full Studio (recommended)`, `Core dialogue only`, and `Custom` setup choices.\n- Downloads model packs after install or on first launch instead of bundling model weights in the setup file.\n- Preserves `%USERPROFILE%\\DraftToTake\\shared` during updates and uninstall.\n\n## What The Recommended Docker Launcher Does\n\nThe launcher:\n\n- Creates `.env` from `.env.example` if needed.\n- Creates a persistent shared folder under your Windows user profile.\n- Checks whether Docker is running.\n- Checks whether Docker can see your NVIDIA GPU.\n- Pulls the prebuilt beta images.\n- Starts the backend, frontend, Qwen sidecar, and OmniVoice sidecar.\n- Starts the SFX/music sidecar automatically when Docker GPU support is available.\n- Opens the local frontend URL after a successful start.\n\nIf the port values are blank in `.env`, the launcher tries nearby ports and prints the actual URLs. Keep them blank unless you need stable URLs.\n\n## Where Your Files Go\n\nYour data is stored outside this release folder:\n\n```text\n%USERPROFILE%\\DraftToTake\\shared\n```\n\nThat means you can delete and re-download this beta repo without losing downloaded models, voices, projects, or exported audio.\n\nImportant folders:\n\n- `shared\\models` - downloaded model files.\n- `shared\\models\\checkpoints` - IndexTTS2 checkpoints and Hugging Face cache.\n- `shared\\models\\llm` - Qwen GGUF files.\n- `shared\\audio\\speakers` - prepared speaker WAV files.\n- `shared\\audio\\source_clips` - raw clips you want to prepare.\n- `shared\\audio\\outputs` - exported mixes.\n- `shared\\audio\\sfx` - generated or imported SFX assets.\n- `shared\\audio\\music` - generated or imported music assets.\n- `shared\\data` - app/project data.\n\n## Model Downloads\n\nThis beta does not bundle model weights. The Windows installer, Docker launcher, and containers download configured models into your local shared folder or Hugging Face cache.\n\nThe default Windows installer path uses IndexTTS2 for dialogue and can install Full Studio model packs for Qwen, OmniVoice, SFX, ambience, and music. The Docker launcher starts managed Qwen, OmniVoice, and SFX/music sidecars when supported. SFX, ambience, and music can still be disabled because those model-backed paths are heavier and license-dependent.\n\n\u003cdetails\u003e\n\u003csummary\u003eShow model details\u003c/summary\u003e\n\n| Feature area | Default model/source | Enabled by default | Where it is stored | Notes |\n| --- | --- | --- | --- | --- |\n| Dialogue TTS | `IndexTeam/IndexTTS-2` | Yes | `shared\\models\\checkpoints` | Main Script Canvas and timeline speech generation. The upstream bundle includes the IndexTTS2 checkpoints, tokenizer/BPE assets, emotion and speaker matrices, and related vocoder/runtime files used by IndexTTS2. |\n| Script assistant and emotion detection | `ufoym/Qwen3-8B-Q4_K_M-GGUF` / `qwen3-8b-q4_k_m.gguf` | Yes | `shared\\models\\llm` | Managed llama.cpp sidecar used by the optional AI Thread and by Qwen emotion-vector detection. |\n| Reusable voice design | `k2-fsa/OmniVoice` | Yes | Hugging Face cache under `shared\\models\\checkpoints\\hf_cache` | Creates prepared voice WAVs for the Voice Studio. Final dialogue rendering still uses IndexTTS2. |\n| SFX and ambience | `AEmotionStudio/woosh-models`, default model `Woosh-DFlow` | Yes when Docker GPU support is available | `shared\\models\\woosh` | SFX/music sidecar. `Woosh-Flow` can be selected as a slower quality option. |\n| Music beds | `facebook/musicgen-small` | Yes when Docker GPU support is available | Hugging Face cache under `shared\\models\\checkpoints\\hf_cache` | Music generation through the SFX/music sidecar. |\n| Sound-cue alignment | `openai/whisper-tiny.en` | Lazy/optional | Hugging Face cache under `shared\\models\\checkpoints\\hf_cache` | Used only when Whisper alignment is available and sound cue markers need word-timestamp alignment. |\n| Speaker similarity checks | `speechbrain/spkrec-ecapa-voxceleb` and `funasr/campplus` / `campplus_cn_common.bin` | Lazy/optional | `shared\\models\\pretrained` and Hugging Face cache | Used for optional speaker similarity scoring and reranking during voice prep/quality checks. |\n| Neural cleanup | DeepFilterNet via the `df` package | Lazy/optional | Docker cache volume / package cache | Used only when DeepFilterNet cleanup is selected or available through `auto` cleanup mode. Classic noise reduction can be used when it is unavailable. |\n\nMost defaults can be changed in `.env`. The most useful model overrides are `INDTEXTS_MODEL_REPO`, `SCRIPT_LLM_MODEL_REPO_ID`, `SCRIPT_LLM_MODEL_FILENAME`, `OMNIVOICE_MODEL_ID`, `SFX_WOOSH_WEIGHTS_REPO`, `SFX_WOOSH_MODEL_NAME`, `MUSIC_MODEL_ID`, and `DRAFT_TO_TAKE_WHISPER_MODEL`.\n\n\u003c/details\u003e\n\n## Docker Services Enabled By Default\n\nThe Docker launcher starts these services by default:\n\n- Main Draft to Take backend.\n- Frontend UI.\n- Managed Qwen sidecar, used for emotion detection and the optional AI Thread.\n- OmniVoice sidecar, used for beta testing reusable voice design.\n- SFX/music sidecar, when Docker GPU support is available.\n\nQwen is enabled by default because emotion detection depends on it. You can turn off the AI Thread in the app settings if you do not want to use the experimental assistant workflow.\n\n## SFX And Music\n\nSFX/music generation is enabled by default when Docker can see an NVIDIA GPU. In the installer preview, Full Studio can download the related model packs, but the heavier native sound-design path is still a preview area. The current model-backed generators are experimental, heavier, and license-dependent, so you can still turn them off.\n\nTo disable SFX/music, edit `.env` and set:\n\n```text\nINDTEXTS_SFX_ENABLED=false\n```\n\nThen run `start.bat` again. If Docker GPU support is not available, `start.bat` leaves SFX/music disabled unless you explicitly opt in.\n\nOnly use SFX/music if your machine has enough VRAM and you understand that generated asset rights depend on the upstream model licenses and your use case.\n\n## Updating The Beta\n\nInstaller users can update by downloading the newer setup `.exe` from the installer release and running it. Your shared folder under `%USERPROFILE%\\DraftToTake\\shared` is preserved.\n\nDocker launcher users can update to a newer beta:\n\n1. Run:\n\n```text\nstop.bat\n```\n\n2. Download the new beta repo ZIP or pull the latest repo.\n3. Run:\n\n```text\nstart.bat\n```\n\nYour shared folder under `%USERPROFILE%\\DraftToTake\\shared` is not deleted.\n\nIf a new release uses a new Docker image tag, check `.env` and update:\n\n```text\nDRAFT_TO_TAKE_IMAGE_TAG=v3.0.0-beta.17\n```\n\n## Stopping\n\nRun:\n\n```text\nstop.bat\n```\n\nThis stops containers but does not delete shared models, voices, projects, or outputs.\n\n## Opening The App Or Shared Folder\n\nIf the containers are already running, use:\n\n```text\nopen.bat\n```\n\nTo open your persistent shared folder, use:\n\n```text\nopen-shared-folder.bat\n```\n\n## Diagnostics\n\nIf something breaks, run:\n\n```text\ncollect-diagnostics.bat\n```\n\nIt writes a diagnostics text file under:\n\n```text\n%USERPROFILE%\\DraftToTake\\diagnostics\n```\n\nReview the file before posting it publicly. Do not share private scripts, voices, tokens, speaker samples, generated audio, or personal data unless you are comfortable doing so.\n\n## Common Problems\n\n### Windows SmartScreen Warning\n\nThe installer is unsigned during beta. Windows may warn that the app is from an unknown publisher. Check that the downloaded installer matches the SHA256 checksum on the release page.\n\n### Installer First Start Looks Slow\n\nThis is expected on a fresh install. Runtime setup and model downloads can take a while, especially with `Full Studio (recommended)` selected. Keep the launch window open and let it finish.\n\n### Docker Image Pull Failed\n\nMake sure Docker Desktop is running and your network can reach GitHub Container Registry.\n\nThe images are public, so `docker login ghcr.io` should not be required for this beta.\n\nThe first pull is large. A full GPU start can use roughly 25-40 GB of Docker disk space before app models download into `%USERPROFILE%\\DraftToTake\\shared`. Pull progress can pause near 99% while Docker verifies and extracts image layers; this can take several minutes on slower disks.\n\nThe beta 17 launcher pulls each enabled service image separately and retries transient `unexpected EOF` failures. If it still fails, restart Docker Desktop and run `start.bat` again.\n\nIf a pull half-completes or containers later fail with `exec format error` or `input/output error`, run:\n\n```text\nrepair-docker-images.bat\n```\n\nThen start Docker Desktop again if needed and run:\n\n```text\nstart.bat\n```\n\nThis repairs only Draft to Take beta containers/images. It does not delete `%USERPROFILE%\\DraftToTake\\shared`.\n\nIf Docker Desktop still shows very high disk usage after repeated failed pulls, run `collect-diagnostics.bat` and check the `Docker Disk Usage` section. Docker Desktop's built-in Troubleshoot / Clean or Purge data option can reset Docker images and containers, but you will need to run `start.bat` again afterwards.\n\n### GPU Not Detected\n\nThe launcher will warn if Docker cannot see your NVIDIA GPU. Check Docker Desktop WSL2 integration and NVIDIA Container Toolkit support.\n\nThe app may continue in CPU mode, but generation will be much slower.\n\n### Docker First Start Looks Slow\n\nThis is expected on a fresh install. Docker images and model files are large, and Docker can spend several minutes extracting layers after the progress bar looks almost complete. Keep the terminal open and watch the logs before assuming it has crashed.\n\n### Frontend URL Does Not Open\n\nCheck the terminal output. The launcher may choose another port if `3000` is busy, such as:\n\n```text\nhttp://localhost:3001\n```\n\nIf the browser shows `Cannot GET /` on `localhost:3000`, check the `Docker frontend binding:` line printed by `start.bat`. If it is missing or points at a different port, run `collect-diagnostics.bat` and include the `Compose PS` section in the issue.\n\n### Model Download Needs Authentication\n\nSome upstream model downloads may require Hugging Face authentication depending on the model and account state.\n\nIf needed, edit `.env` and set:\n\n```text\nHF_TOKEN=your_token_here\n```\n\nDo not post your token in public issues or screenshots.\n\n## Reporting Bugs\n\nUse this repo's Issues tab.\n\nGood bug reports include:\n\n- Windows version.\n- Whether you used the installer or Docker launcher.\n- GPU model and VRAM.\n- System RAM.\n- Docker Desktop version, if using Docker.\n- Whether Docker GPU support works, if using Docker.\n- What you clicked.\n- What you expected.\n- What happened.\n- A safe excerpt from the diagnostics file, if relevant.\n\nPlease do not upload private scripts, paid voices, private speaker samples, tokens, or sensitive generated audio to public issues.\n\n## What To Test\n\nUseful beta feedback includes:\n\n- Installer setup, first launch, model download, and uninstall issues.\n- First-run setup problems.\n- Model download problems.\n- Voice preparation and speaker library issues.\n- Single-line generation quality.\n- Script Canvas workflow confusion.\n- Timeline/export bugs.\n- VRAM pressure or sidecar crashes.\n- Places where the app looks frozen but is actually working.\n\n## Model And License Notes\n\nThe launcher, docs, and helper scripts in this repository are released under the [MIT License](LICENSE).\n\nThis beta does not sell, bundle, or grant rights to third-party model weights. The app may download models from official upstream sources into your local machine.\n\nDraft to Take container images, private source code, third-party model weights, and generated model outputs are governed separately by their own terms.\n\nRead:\n\n- [BETA_TERMS.md](BETA_TERMS.md)\n- [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)\n\nSFX/music model-backed generation is experimental and license-dependent. It can be disabled with `INDTEXTS_SFX_ENABLED=false`.\n\n## Privacy Note\n\nDraft to Take is designed around a local-first workflow. Your scripts, speaker samples, generated audio, and projects stay in your local shared folder unless you choose to share them.\n\nFor beta support, only share the minimum logs and examples needed to reproduce a problem.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayspiffy%2Fdraft-to-take","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjayspiffy%2Fdraft-to-take","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayspiffy%2Fdraft-to-take/lists"}