Text Generation
PEFT
Safetensors
English
lora
sft
trl
script-generation
minimax-h3
video-generation
conversational
Instructions to use woodfireind/H3-ScriptGen with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use woodfireind/H3-ScriptGen with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-0.8B") model = PeftModel.from_pretrained(base_model, "woodfireind/H3-ScriptGen") - Notebooks
- Google Colab
- Kaggle
H3-ScriptGen: MiniMax-H3 FL2VA scriptwriting LoRA (Qwen3.5-0.8B base, continue-trained from final adapter)
7dbeac1 verified Script-LoRA → MiniMax H3 format
Data locations
| Path | Role |
|---|---|
../scriptlib/ |
102 screenplays (.txt) — original training library |
../TVTropesData/ |
Trope/title tables for scenario variety |
../final/ |
Existing PEFT adapter (story craft + tropes, classic screenplay style) |
train_dataset.jsonl |
Hand-written H3 seed examples |
train_dataset.full.jsonl |
Built from scriptlib (+ tropes + seed) |
Recommended path (continue-train, not merge-from-scratch)
The existing final/ adapter already holds script + TVTropes knowledge. You do
not need a LoRA merge of two adapters unless you train a separate format-only
adapter. Prefer:
cd /home/bbear/Documents/OlympusServer/models/script-lora/h3-format
# Use the OlympusServer venv (system python lacks datasets/trl/peft)
VENV=/home/bbear/Documents/OlympusServer/.venv/bin/python
# 1) Build SFT rows from scriptlib (rewrite + premise) + TVTropes seeds
$VENV build_sft_from_scriptlib.py \
--include-seed \
--chunks-per-script 4 \
--tropes 80 \
--out train_dataset.full.jsonl
# 2) Continue-train from final/ → h3-v1 (does not overwrite final/)
# This host: torch is XPU-only → use --device xpu (not cuda)
$VENV train_script_lora_h3.py \
--dataset train_dataset.full.jsonl \
--init-from ../final \
--epochs 2 \
--lr 1e-4 \
--device xpu
Output: ../h3-v1/. Point the generation slot at that adapter after validation.
Why not “merge” alone?
- Weighted LoRA merge needs two trained adapters. Today you have one (
final/). - Continue-train from
final/on H3-format chat data is the practical merge of skills: old weights + new format supervision. - Optional later: train a thin format-only LoRA and
add_weighted_adapterwithfinal/.
Runtime (already live without retrain)
Backlot system prompts emit H3 FL2VA fields regardless of adapter:
backend/services/h3_prompt_format.py/generate/script,/generate/script/scene→h3_video_prompt,storyboard_prompt
Guides: optimization/h3-shrink/docs/VIDEO_PROMPT_{base,ref}-en.txt