pvperfsolar performance modeling

pvperf in ChatGPT

ChatGPT runs pvperf through a GPT with an action. The action calls pvperf's REST API with your API key.

You need a pvperf API key. Sign in to the workbench with your email, open the Account page and create a key. The key starts with pvp_live_.

A GPT with a pvperf action

  1. In ChatGPT, open GPTs and click Create. Open the Configure tab.
  2. Enter the name pvperf and paste the instructions below.
  3. Under Actions, click Create new action.
  4. Under Authentication, choose API Key and the auth type Bearer. Paste your key and save.
  5. Under Schema, click Import from URL and enter https://pvperf.com/v1/openapi-actions.json.
  6. Click Create and choose Only me.

The instructions for the GPT:

Use the pvperf action to simulate PV systems. For a location and a system size, call
simulate_simple. To change anything else, edit the `request` of its answer and send it to
simulate_pv_system. Look up a field with docs_page, for example array.gcr. Report energy in kWh,
specific yield in kWh/kWp and losses with the unit of their loss-diagram row.

The action has four operations.

Operation What it does Charged
simulate_simple Runs a system from a location and a size. Returns the full request it ran. Yes
simulate_pv_system Runs a full request, for example the edited request of a simple run. Yes
get_run Reads one of your stored runs. No
docs_page Returns the documentation page of a field, a method or a loss row. No

A GPT shared with other people runs on your key. Your account pays for their runs.

OpenAI retires GPTs on 11 December 2026. Its retirement FAQ gives the dates for each plan.

ChatGPT plugins with an MCP server

Not live: ChatGPT connects to an MCP server only with OAuth or without authentication. pvperf's MCP server takes an API key. Use a GPT with a pvperf action instead.

A first prompt

Use pvperf to simulate 16 modules of 400 W flush on a south-facing roof at 25° in Springfield, Illinois (latitude 39.80, longitude −89.65). Give the energy to the grid for the year and for each month, and the three largest energy losses.

ChatGPT asks to allow the call to pvperf.com and calls simulate_simple once. The answer contains:

The run is stored with your account. get_run reads it again by its run_id.