ai-plugin.json Builder

Generate a ChatGPT plugin manifest file for your API

Creates an ai-plugin.json manifest with name_for_human, name_for_model, description fields, authentication type, API URL, and logo and legal URLs for ChatGPT plugin registration. Fill the form and copy valid JSON.

What is ai-plugin.json?

It is the manifest file that describes an AI plugin to a host such as ChatGPT. It tells the host the plugin's name, what it does, how to authenticate, and where to find the OpenAPI spec that defines the actual API endpoints.

The ai-plugin.json Builder produces the manifest a plugin host reads to learn what your API is and how to call it. The manifest is small but strict — a malformed field or a wrong auth type stops installation. This tool gives you a guided form that emits a valid ai-plugin.json you can drop at /.well-known/ai-plugin.json on your domain.

How it works

The manifest is a flat JSON object with a fixed set of keys. The builder collects each one: schema_version (set to v1), name_for_human and name_for_model (the names shown to people and used by the model), description_for_human and description_for_model (short and model-facing summaries), an auth object whose type is none, user_http, service_http, or oauth, an api object pointing at your OpenAPI spec URL with type: openapi, plus logo_url, contact_email, and legal_info_url. The tool assembles these into correctly nested JSON, omitting nothing required and serializing with JSON.stringify so the output is always valid.

Tips and example

  • Keep name_for_model short and alphanumeric. The model references the plugin by this identifier, so avoid spaces and punctuation — acme_email is fine, Acme Email! is not.
  • Write the model description for the model. description_for_model should tell the model exactly when to use the plugin and any constraints, because that text steers its tool-selection behaviour.
  • Match the auth type to reality. If your API requires a per-user token, use user_http; declaring none on a protected API breaks every call after install.

Example: a plugin named Acme Email with name_for_model acme_email, auth.type of service_http, and an api.url pointing at https://acme.com/openapi.yaml produces a complete, install-ready manifest.