The reading passage that the exercises will refer to.
{sectionInstructions}
)}{ex.prompt}
Answer: {ex.correct_answer}
)} {ex.explanation && ({ex.explanation}
)}Controls how this section is visually separated from the next in the student view: None — no separator; Line — horizontal rule; Space — extra vertical gap; Page Break — section starts on a new page (paginated delivery only).
Write instructions in the box above the audio (or the Generate Instructions card). Use the imperative voice, e.g. “Listen to the conversation and answer the questions below.”
Audio ready
Enter the section's conversation or import your own
{sectionInstructions}
)}{ex.prompt}
Answer: {ex.correct_answer}
)} {ex.explanation && ({ex.explanation}
)}This structure requires {requiredWritingTaskCount} tasks. Add the missing task to submit.
)}Visual separator between Task 1 and Task 2 in the student exam: None — no gap; Line — horizontal rule; Space — extra padding; Page Break — Task 2 opens on a new page.
Instructions are written in the Generate Instructions box below. Use the imperative voice and name the genre + audience, e.g. “Write a 250-word academic essay arguing…”.
Generate or edit the instructions for the task
Video processing... (polling every 15s)
Video ready
Generate or write the scripts for the videos.
Reading exercises: Multiple Choice, Fill Blanks, Write Blanks, True False, Paragraph Match
Listening exercises: MC, Write Blanks, True False, Fill, Form
{cfg.listening.parts?.length ?? 0} parts · {cfg.listening.total_questions ?? 0} questions
{cfg.listening.parts?.map((p, i) => (P{i + 1}: {p.label}
))}{cfg.reading.passages?.length ?? 0} passages · {cfg.reading.total_questions ?? 0} questions
{cfg.reading.passages?.map((p, i) => ({cfg.exam_type === "academic" ? "Passage" : "Section"} {i + 1}: {p.style}
))}{t.label || `Task ${i + 1}`}: {t.type} (min {t.min_words} words)
))} {!cfg.writing.tasks?.length && cfg.writing.task1 && (Task 1: {cfg.writing.task1.type} · Task 2: {cfg.writing.task2?.type}
)}Part {i + 1}: {p.label} ({p.duration_min}-{p.duration_max} min)
))}{Object.values(cfg.level.exercise_types || {}).reduce((s, v) => s + v, 0)} total questions
Difficulty: {cfg.industry.difficulty}
Select an Exam Structure above to view its configuration and start generating.
Select which modules you want to practice
Start from Scratch
Upload Exam