How to create H5P content with ChatGPT without an API key

You can create H5P with ChatGPT without connecting LMSable to an API. The same copy-and-paste workflow works with Claude, Gemini and Microsoft Copilot: LMSable prepares a precise prompt, you run it in the assistant you already use, then you bring the structured answer back for validation and packaging.

The model writes the content. LMSable builds the .h5p file with deterministic code. H5P also needs package metadata and a specific set of library dependencies, not only HTML or JSON.

Why an H5P file needs a packaging step

An .h5p file is a ZIP archive with a defined structure and a different extension. A package for a learner activity needs metadata, a content folder and the libraries required to run that activity, as described in the H5P file specification.

The root h5p.json file identifies the main library and lists its preloaded dependencies. The activity parameters live in content/content.json. Library directories contain JavaScript, CSS, translations and their own library.json definitions.

An AI assistant can produce the activity data, but asking it to recreate a full dependency tree from memory is fragile. A packager should resolve the exact library versions, validate the content against the expected structure and assemble the archive.

What "without an API key" means

A provider API requires credentials when software sends requests directly to a model. The LMSable workflow sends no model request through its server. It gives you a prompt that you run in ChatGPT, Claude, Gemini, Microsoft Copilot or another assistant you already use.

The handoff has four steps:

  1. Describe the activity in LMSable.
  2. Copy the generated prompt into your chosen AI assistant.
  3. Paste the assistant's structured response back into LMSable.
  4. Validate, preview and download the .h5p file.

No API key is entered into LMSable. Your conversation still follows the data and privacy settings of the AI service where you paste the prompt. Those rules can differ between personal, work and school accounts. Check the provider's current guidance before submitting confidential source material: ChatGPT Data Controls, Claude privacy guidance, Gemini Apps Privacy Hub and Microsoft Copilot Chat data protection.

Which AI assistant can you use?

There is no H5P-specific model requirement. The assistant needs to follow the requested field names, return the complete activity and avoid extra text around the structured response.

AI assistant Useful prompting rule from its official guide Check before validation
ChatGPT Give clear, specific instructions and refine the response iteratively No introduction or Markdown fence around the result
Claude State the task directly, add context and specify the output format Exact field names and the requested number of items
Gemini Keep the persona, task, context and format in the prompt A consistent structure for every item
Microsoft Copilot Define the goal, context, expectations and source The full response copied without truncation

Choose the assistant your team is already allowed to use. If the first answer fails structural validation, repair the output in the same conversation before changing the questions. A different model may follow the schema more consistently for a particular prompt, but package generation remains the job of LMSable.

Step 1: choose the interaction that matches the learning objective

Start from what the learner must do, not from the most visually interesting content type.

Learning task Suitable H5P type
Choose one or more correct answers Multiple Choice or Question Set
Recall a concept from a cue Dialog Cards
Put steps or paragraphs in order Sort the Paragraphs
Complete a sentence from context Fill in the Blanks or Drag the Words
Identify relevant words in a passage Mark the Words
Check a binary statement True/False
Move through a compact lesson Course Presentation

The H5P Generator currently supports 14 activity types, including those above plus Accordion, Summary, Single Choice Set, Crossword and Essay.

Step 2: write a brief that constrains the model

Supply the topic, audience, level, language, tone and number of items. Add source text when accuracy or wording matters. A policy training activity should be grounded in the approved policy, not in the model's general knowledge.

A strong brief might say:

Topic: reporting a suspected phishing email
Audience: new warehouse supervisors
Level: beginner
Goal: choose the four actions in the approved order
Items: 6
Tone: direct and professional
Source: [paste the approved incident procedure]

LMSable turns this brief into a technical prompt for the selected H5P type. Copy the complete prompt. It contains the field names, allowed structure and response rules the validator expects.

Step 3: keep the AI response structured

Do not ask the assistant to add commentary before or after the requested data. A sentence such as "Here is your activity" can make an otherwise correct response fail parsing.

If the model returns invalid output, continue in the same chat with a narrow repair request:

Return the same activity again using exactly the requested structure.
Do not add Markdown fences, an introduction or an explanation.
Keep the questions and answers unchanged.

Changing the instructional content and the response structure at the same time makes review harder. Fix structure first. Review wording and answer quality after the activity passes validation.

Step 4: validate and preview before download

Paste the response into LMSable and select Check and preview. The validator checks whether required fields exist, values have the expected types and the selected H5P builder can turn them into valid parameters.

Preview every state a learner can reach:

  • the initial instructions;
  • each question or card;
  • correct and incorrect feedback;
  • retry and solution controls;
  • the summary or final state;
  • keyboard navigation where the interaction supports it.

The preview is the point to catch plausible but incorrect distractors, hints that reveal the answer and source material that the model paraphrased too freely.

Step 5: download a portable .h5p package

When the preview is correct, download the file. LMSable packages the activity metadata, content parameters and the dependency libraries available for that content type. This addresses imports that fail because the destination does not already have those library versions.

Bundling libraries does not override the target platform's security policy. H5P integrations can restrict library installation to trusted administrators because libraries contain executable JavaScript. The H5P security model explains that uploads from users without library-update permission may ignore bundled libraries and rely on versions already installed on the site.

If an ordinary teacher cannot import the file, ask an administrator to upload it once or install the named content type. Do not repeatedly rebuild the content before checking permissions. That permission boundary is one of the reasons a valid file can still trigger the H5P "Missing required library" error.

Step 6: import it into the target platform

The destination differs by platform:

  • Moodle: upload the file to the Content bank or add an H5P activity to a course.
  • WordPress: open H5P, choose Add New, then Upload.
  • Drupal: use the H5P content interface provided by the module.
  • Lumi: open the file in the desktop application.

Canvas, Blackboard and Brightspace commonly reach H5P through an LTI integration with H5P.com. In that setup, upload the file to H5P.com rather than treating the LMS course page as a direct .h5p importer.

After import, run the activity as a learner. A successful upload proves the package structure was accepted. It does not prove that feedback, scoring or completion behaves as intended.

A repeatable workflow beats a one-shot prompt

Save the brief and source text next to the final activity. When a policy changes, regenerate the affected questions, review the differences and export a new version. The editable input is more valuable than a prompt that happened to work once. The same discipline applies when the destination is a tracked SCORM package rather than a single activity, as described in the guide to building a SCORM course with ChatGPT.

Open the H5P Generator to create a prompt for ChatGPT, Claude, Gemini or Copilot, validate the response and download a ready-to-import .h5p file.

Reference documentation