The reading passage that the exercises will refer to.
{sectionInstructions}
)}{ex.prompt}
Answer: {ex.correct_answer}
)} {ex.explanation && ({ex.explanation}
)}Audio ready
Enter the section's conversation or import your own
{sectionInstructions}
)}{ex.prompt}
Answer: {ex.correct_answer}
)} {ex.explanation && ({ex.explanation}
)}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