{% extends "base.html" %} {% block title %}Prepare · {{ pending.original_filename }}{% endblock %} {% block content %} {% set wizard_step = (active_step or 'chapters') %} {% set is_multi_speaker = pending.speaker_mode == 'multi' %} {% if wizard_step == 'speakers' and not is_multi_speaker %} {% set wizard_step = 'chapters' %} {% endif %} {% set is_chapters = wizard_step == 'chapters' %} {% set is_speakers = wizard_step == 'speakers' %}
1 Upload & settings 2 Chapters
Prepare audiobook

Review the detected chapters, tune the speaker roster, and optionally override the voice per chapter before sending the job to the queue.

{% set analysis = pending.speaker_analysis or {} %} {% set analysis_speakers = analysis.get('speakers', {}) %} {% set show_analysis_prompt = pending.speaker_mode == 'multi' and not pending.analysis_requested %} {% set has_metadata = pending.metadata_tags %} {% set roster = pending.speakers or {} %} {% set speaker_configs = options.speaker_configs or [] %} {% set applied_languages = pending.speaker_voice_languages or analysis.get('config_languages', []) or [] %} {% set recommended_template = options.speaker_pronunciation_sentence or "This is {{name}} speaking." %}
{% if error %}
{{ error }}
{% endif %} {% if notice %}
{{ notice }}
{% endif %}

Step 2 · Select chapters

Choose which chapters to convert and tweak conversion options. We'll analyse speakers automatically when you continue.

{% for chapter in pending.chapters %} {% set is_enabled = chapter.enabled is not defined or chapter.enabled %} {% set selected_option = '__default' %} {% if chapter.voice_profile %} {% set selected_option = 'profile:' ~ chapter.voice_profile %} {% elif chapter.voice %} {% set selected_option = 'voice:' ~ chapter.voice %} {% elif chapter.voice_formula %} {% set selected_option = 'formula' %} {% endif %}
{{ '{:,}'.format(chapter.characters) }} characters
Preview text
{{ chapter.text[:2000] }}{% if chapter.text|length > 2000 %}…{% endif %}
{% endfor %}

Paragraphs work well for long-form narration; sentences give finer subtitle sync.

Only speakers that appear at least this many times will keep unique voices in multi-speaker mode.

Set to 0 to disable the pause after speaking each chapter title.

{% endblock %} {% block scripts %} {{ super() }} {% endblock %}