Konfiguration
Rilo hat zwei Konfigurationsbereiche:
- Projektkonfiguration (
projects/<project>/config.json): Generierungsoptionen wie Dauer, Seitenverhältnis, Modellauswahlen und Modelloptionen. - App/Laufzeit-Konfiguration (
~/.rilo/config.json+ sicherer Schlüsselbund): API-Token, Wiederholungen, Timeouts, Binärpfade und verwandte Laufzeiteinstellungen, die überrilo settingsverwaltet werden.
Projektkonfiguration
Die Rilo-Projektkonfiguration befindet sich in config.json.
Beispiel config.json
{
"aspectRatio": "9:16",
"targetDurationSec": 60,
"finalDurationMode": "match_audio",
"keyframeWidth": 576,
"keyframeHeight": 1024,
"models": {
"textToText": "deepseek-ai/deepseek-v3",
"textToSpeech": "minimax/speech-02-turbo",
"textToImage": "prunaai/z-image-turbo",
"imageTextToVideo": "wan-video/wan-2.2-i2v-fast"
},
"modelOptions": {
"textToImage": {
"num_inference_steps": 8,
"output_format": "jpg"
}
},
"subtitleOptions": {
"enabled": true,
"templateId": "social_center_clean",
"position": "center",
"fontSize": 92,
"bold": true,
"primaryColor": "#ffffff"
}
}
Kerneinstellungen
aspectRatio
- Typ:
string - Erlaubte Werte:
"1:1","16:9","9:16" - Standard:
"9:16" - Beschreibung: Seitenverhältnis des Ausgabevideos. Bestimmt Schlüsselbildmaße und finale Komposition. Eine Änderung invalidiert alle Schlüsselbilder und Segmente.
targetDurationSec
- Typ:
number - Standard:
60 - Beschreibung: Ziel-Sprechertext/Drehbuch-Dauer in Sekunden. Beeinflusst die Drehbuchplanung (Anzahl der Shots, Tempo) und die nachgelagerte Segmentplanung. Die Segmentanzahl wird aus der tatsächlichen Sprechertext-Dauer abgeleitet, typischerweise in 5-Sekunden-Blöcken.
finalDurationMode
- Typ:
string - Erlaubte Werte:
"match_audio","match_visual" - Standard:
"match_audio" - Beschreibung: Steuert die Kompositionsdauer:
"match_audio"— Finale Videodauer = Sprechertext + Stille-Padding (falls nötig)"match_visual"— Finale Videodauer = Summe aller visuellen Segmente (kann Audio abschneiden)
keyframeWidth und keyframeHeight
- Typ:
number - Standard: Abgeleitet aus
aspectRatio(z. B.9:16→ 576x1024) - Beschreibung: Maße (in Pixeln) für generierte Schlüsselbilder. Muss als Paar angegeben werden; beide müssen ganzzahlige Werte ≥ 512 sein. Eine Änderung invalidiert alle Schlüsselbilder und Segmente.
Modellkonfiguration
models
Objekt-Zuordnung von Generierungsstufe zu ausgewähltem Modell:
{
"models": {
"textToText": "deepseek-ai/deepseek-v3",
"textToSpeech": "minimax/speech-02-turbo",
"textToImage": "prunaai/z-image-turbo",
"imageTextToVideo": "wan-video/wan-2.2-i2v-fast"
}
}
Modellkategorien:
textToText— Drehbuchgenerierung (Eingabe: Geschichte → Ausgabe: Drehbuch)textToSpeech— Sprechertext-Generierung (Eingabe: Drehbuch → Ausgabe: Sprechertext-Audio)textToImage— Schlüsselbildgenerierung (Eingabe: Shot-Beschreibung → Ausgabe: Standbilder)imageTextToVideo— Segmentgenerierung (Eingabe: Schlüsselbild + Text-Overlay → Ausgabe: Videosegment)
Gültige Modell-IDs: Siehe Modellkatalog für die vollständige Liste und Fähigkeiten jedes Modells.
Fehlende Auswahlen: Wenn eine Kategorie weggelassen wird, greift Rilo auf ein Standardmodell für diese Kategorie zurück (definiert in models/<model-id>.json).
modelOptions
Modellspezifische Parameterüberschreibungen. Jeder Schlüssel ist eine Modellkategorie; jeder Wert ist ein Objekt aus Parameternamen → Werten:
{
"modelOptions": {
"textToImage": {
"num_inference_steps": 8,
"guidance_scale": 0,
"output_format": "jpg"
},
"textToSpeech": {
"voice_id": "Deep_Voice_Man",
"speed": 1.1
}
}
}
Gültige Parameter pro Modell: Definiert durch den Adapter des ausgewählten Modells. Siehe Modell-Adapter und Optionen für detaillierte Parameterdokumentation pro Modell und Kategorie.
Validierung: Parameter werden zur Laufzeit validiert. Ungültige Parameter werden protokolliert; typischerweise werden unbenutzte Parameter stillschweigend ignoriert. Eine Änderung von Modelloptionen invalidiert nur die Ausgaben der betroffenen Stufe.
Untertitelkonfiguration
subtitleOptions
Optionales Objekt zum Aktivieren und Konfigurieren der Untertitelgenerierung:
{
"subtitleOptions": {
"enabled": true,
"templateId": "social_center_clean",
"position": "center",
"fontName": "Helvetica",
"fontSize": 92,
"bold": true,
"italic": false,
"makeUppercase": true,
"primaryColor": "#ffffff",
"activeColor": "#9ae6ff",
"outlineColor": "#111111",
"backgroundEnabled": true,
"backgroundColor": "#000000",
"backgroundOpacity": 0.45,
"outline": 3,
"shadow": 0,
"marginV": 120,
"maxWordsPerLine": 4,
"maxLines": 2,
"highlightMode": "current_only"
}
}
Wichtige Felder:
enabled— Untertitelgenerierung aktivieren/deaktivieren; wennfalse, werden andere Untertitelfelder ignoriert.templateId— Vordefinierte Stilvorlage (z. B."social_center_clean").position— Untertitelposition:"top","center","bottom".fontSize— Schriftgröße in Pixeln (z. B.92).fontName— Schriftname (z. B."Helvetica","Arial").primaryColor— Textfarbe in Hexadezimal (z. B."#ffffff").activeColor— Hervorhebungsfarbe für aktuell gesprochenen Text in Hexadezimal (z. B."#9ae6ff").outlineColor— Textkonturenfarbe in Hexadezimal (z. B."#111111").backgroundEnabled— Halbtransparenten Hintergrund hinter Text aktivieren.backgroundColor— Hintergrundfarbe in Hexadezimal.backgroundOpacity— Hintergrund-Transparenz (0.0–1.0).outline— Textkonturenstärke in Pixeln.marginV— Vertikaler Abstand vom Bildschirmrand in Pixeln.maxWordsPerLine— Maximale Wörter pro Zeile; steuert den Zeilenumbruch.maxLines— Maximale gleichzeitig angezeigte Zeilen.highlightMode—"current_only"hebt nur das aktuell gesprochene Wort hervor; weitere Modi verfügbar.
Optionale Untertitelausrichtung: Wenn aktiviert, kann Rilo Untertitel genauer mit ffsubsync ausrichten (erfordert Binärdatei im PATH oder konfiguriert über Einstellungen). Siehe Untertitel: Ausrichten und Einbrennen.
App/Laufzeit-Konfiguration
App-Einstellungen werden in ~/.rilo/config.json (Klartext-öffentliche Einstellungen) und OS-Schlüsselbund/verschlüsselter Datei (sichere Token) gespeichert. Verwalten Sie diese über rilo settings oder setzen Sie Umgebungsvariablen.
Sichere Einstellungen (im Schlüsselbund gespeichert)
replicateApiToken— Replicate-API-SchlüsselapiBearerToken— Bearer-Token für rilo-API-Endpunkte
Öffentliche Einstellungen (in ~/.rilo/config.json gespeichert)
maxRetries— Anzahl der Wiederholungen für fehlgeschlagene Vorhersagen (Standard: 2)retryDelayMs— Verzögerung zwischen Wiederholungen in Millisekunden (Standard: 2500)predictionPollIntervalMs— Abfrageintervall für Vorhersagestatus (Standard: 1500)predictionMaxWaitMs— Max. Wartezeit für eine einzelne Vorhersage (Standard: 600000)downloadTimeoutMs— Timeout für Download von Mediendateien (Standard: 20000)downloadMaxBytes— Maximale Dateigröße für Downloads (Standard: 104857600 / 100 MB)downloadAllowedHosts— Kommagetrennte Hostnamen für Downloads erlaubtffmpegBin— Pfad zur ffmpeg-Binärdatei (Standard:"ffmpeg")ffprobeBin— Pfad zur ffprobe-Binärdatei (Standard:"ffprobe")ffsubsyncBin— Pfad zur ffsubsync-Binärdatei (Standard:"ffsubsync")apiDefaultLogsLimit— Standard-Logeinträge, die von der API zurückgegeben werden (Standard: 100)apiMaxLogsLimit— Harte Obergrenze für Logeinträge (Standard: 1000)
Konfigurationspriorität
Bei der Auflösung einer Einstellung:
- Umgebungsvariable (höchste Priorität) — z. B.
RILO_MAX_RETRIES=5 - ~/.rilo/config.json (wenn gesetzt über
rilo settings) - Schema-Standardwert (niedrigste Priorität)
Wenn eine Umgebungsvariable gesetzt ist, zeigt rilo settings sie als schreibgeschützt an.
Einstellungen verwalten
Interaktives Menü:
rilo settings
Umgebungsvariablen:
export TELEPAT_REPLICATE_TOKEN=r8_xxxxx
export RILO_MAX_RETRIES=5
export PREDICTION_MAX_WAIT_MS=900000
rilo --project demo --story-file ./story.txt
Direkte Dateibearbeitung (nicht empfohlen):
cat ~/.rilo/config.json
Konfigurationsworkflow
Erster Lauf:
- Führen Sie
rilo settingsaus, um Ihren Replicate-API-Token sicher einzugeben - Optional Timeouts, Wiederholungen, Binärpfade anpassen
- Diese Einstellungen gelten global für alle Projekte
Neues Projekt:
- Führen Sie
rilo --project <name> --story-file <path>aus, um zu initialisieren - Dies erstellt
projects/<name>/config.jsonmit sinnvollen Standardwerten - Bearbeiten Sie diese Datei, um Modelle, Seitenverhältnis, Dauer usw. anzupassen
- Führen Sie mit
--forceneu aus, um Änderungen zu übernehmen
Iterieren:
- Ändern Sie
projects/<name>/config.json - Führen Sie
rilo --project <name> --forceaus - Rilo invalidiert betroffene Stufen und regeneriert
Hinweise
targetDurationSecbeeinflusst die Drehbuchplanung; es wird nicht strikt durchgesetzt; die tatsächliche Dauer hängt vom generierten Inhalt ab.- Die Segmentanzahl wird aus der gemessenen Sprechertext-Dauer abgeleitet (typischerweise 5-Sekunden-Blöcke), nicht aus
targetDurationSec. - Wenn
keyframeWidthundkeyframeHeightnicht angegeben sind, berechnet Rilo sie ausaspectRatio. - Eine Änderung von
aspectRatio,keyframeWidth,keyframeHeightoder Modellen invalidiert alle nachgelagerten Arbeiten. - Modellspezifische Parametervalidierung erfolgt zur Laufzeit; ungültige Parameter werden protokolliert.
- Untertitel-Einbrennung ist optional; aktivieren/deaktivieren Sie sie, ohne die Videogenerierung zu beeinträchtigen.
Siehe auch
- CLI-Referenz — Befehle und Flags
- Umgebungsvariablen — Alle Umgebungsvariablen und Priorität
- Modell-Adapter und Optionen — Detaillierte Parameterdokumentation pro Modell
- Regeneration und Invalidierung — Wie Konfigurationsänderungen die Regeneration auslösen
- Untertitel: Ausrichten und Einbrennen — Untertiteloptionen und Workflow