create_h5p_accordion
ChatGPTTurn reference or FAQ-style content into an interactive H5P Accordion (a list of expandable panels, each with a title and body text) and return a downloadable .h5p file. Good for content that's naturally a set of independent topics the user browses rather than reads straight through. You (the model) write each panel's title and body paragraphs from the user's content. To refine, call again with the updated panels, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the accordion, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against.
create_h5p_blanks
ChatGPTTurn content into an interactive H5P Fill in the Blanks activity and return a downloadable .h5p file. You (the model) write each sentence, marking the word(s) to blank out by wrapping them in asterisks, e.g. "The capital of France is Paris." Use a slash inside the asterisks to accept more than one correct answer for the same blank, e.g. "color/colour." A sentence can have multiple blanks. To refine, call again with the updated questions, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the activity, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against.
create_h5p_book
ChatGPTTurn a book, article, or set of notes into an interactive H5P Interactive Book (chapters of text with embedded checkpoint questions) and return a downloadable .h5p file. You (the model) write the chapter headings and body paragraphs from the user's content, and add an optional checkpoint question (multiple-choice or true/false) to chapters where a check-in makes sense. If the user hasn't said how often they want checkpoint questions, ask them first rather than guessing - reflect their answer in checkpointFrequency and in which chapters actually carry a checkpoint. Text only for now - no images. To refine, call again with the updated chapters, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the book, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against. If it's genuinely unclear whether the user has specific source material (notes, a document, a pasted article) they want the book based on, versus being fine with a general-knowledge example on a topic, ask them briefly before generating. Don't ask if their message already makes this clear either way (e.g. they already pasted content, attached a file, or explicitly asked for a generic/example book).
create_h5p_crossword
ChatGPTTurn content into an interactive H5P Crossword and return a downloadable .h5p file. You (the model) write clue/answer pairs - each answer must be a single word, letters only, no spaces or punctuation. The grid layout itself is generated automatically in the learner's browser from these pairs by overlapping shared letters, so favor a set of words that are thematically related and likely to share some letters; a set of totally unrelated words may fail to produce a complete grid. To refine, call again with the updated word list, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the crossword, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against.
create_h5p_dialogcards
ChatGPTTurn vocabulary, definitions, or quick-recall Q&A content into an interactive H5P Dialog Cards deck (a stack of flippable front/back cards) and return a downloadable .h5p file. You (the model) write each card's front (the prompt) and back (the answer) from the user's content. To refine, call again with the updated cards, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the dialog cards, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against.
create_h5p_dragtext
ChatGPTTurn content into an interactive H5P Drag the Words activity (a passage where marked words are pulled into a word bank and dragged back into place) and return a downloadable .h5p file. You (the model) write the passage, wrapping each word or short phrase that should be draggable in asterisks, e.g. "The mitochondria is the powerhouse of the cell." Optionally add extra decoy words with the same syntax in distractors, e.g. "nucleus ribosome." To refine, call again with the updated passage, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the activity, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against.
create_h5p_interactive_video
ChatGPTTurn a YouTube video into an H5P Interactive Video with timed text notes and/or checkpoint questions, and return a downloadable .h5p file. Requires a real youtube.com or youtu.be URL from the user - never invent one. You (the model) build the timeline (text notes and/or multiple-choice/true-false questions at specific timestamps) from what the video actually covers. If the user hasn't said how many interactions they want, ask first rather than guessing, and reflect their answer in interactionDensity. To refine, call again with the updated timeline, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Watch the video, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. Before asking the user what the video covers, check whether you have a way to find out yourself (e.g. a code execution or browsing tool that can fetch the video's transcript or metadata, such as yt-dlp) and use that first - it's faster and more accurate than asking, and timestamps line up better against a real transcript. Only ask the user directly if no such tool is available to you, or it fails. Don't ask if they've already described the content themselves.
create_h5p_quiz
ChatGPTTurn learning content into an interactive H5P Question Set (multiple-choice quiz) and return a downloadable .h5p file. You (the model) write the questions from the user's content, then call this with the full question list. To refine, call again with the updated list, passing previousToken (from the earlier result's token field) and a short refinementNote. Each answer needs a correct flag; at least one per question. This renders as an inline card with its own working buttons (Take the quiz, Download, Open in h5p.com, etc.) - your reply should NOT restate or re-link to anything the card already has a button for (e.g. "play it here", "click to download", "open in h5p.com"). Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong (dates, current events, statistics, named entities), verify them against a reliable source before finalizing the questions, and briefly say what you checked them against. If it's genuinely unclear whether the user has specific source material (notes, a document, a pasted article) they want the quiz based on, versus being fine with a general-knowledge example on a topic, ask them briefly before generating. Don't ask if their message already makes this clear either way (e.g. they already pasted content, attached a file, or explicitly asked for a generic/example quiz).
create_h5p_singlechoiceset
ChatGPTTurn content into an interactive H5P Single Choice Set (a sequence of single-answer questions that auto-advance on a correct pick) and return a downloadable .h5p file. You (the model) write each question's text and its answer options - the FIRST answer in the answers array must always be the correct one; the rest are distractors (the runtime shuffles display order itself, so order doesn't telegraph the answer to the learner). To refine, call again with the updated questions, passing previousToken and a short refinementNote. This renders as an inline card with its own working buttons (Open the activity, Download, Open in h5p.com) - your reply should NOT restate or re-link to anything the card already has a button for. Keep your reply to a short description of what you built. If the content touches facts that could be time-sensitive or easy to get wrong, verify them against a reliable source before finalizing, and briefly say what you checked them against.