All provider guides

Set up OpenRouter

PHP

Researched from OpenRouter's official documentation on 2026-11-02. Not yet walked through end to end.

  1. Current: Create an account

    Sign in or create an OpenRouter account, then select the account or organization your application will use.

  2. Not started: Create an application API key

    Use the API key link on the official developer page. Name the key for this application, review its available limit controls and store it privately.

  3. Not started: Select a model and review credits

    Use a model identifier supported by your account, including its author prefix when required. Review the model’s current price and your credit balance.

  4. Not started: Configure your .env

    Use the environment names below in your own application. Keep its environment file out of source control. Never paste a key into this website.

  5. Not started: Run the local check

    Choose a model you can use and run the matching example below on your own machine. Check any applicable usage charges first.

This provider is available in PHP Prism. The TypeScript and Python ports do not implement it.

Configure and verify locally

Environment names and defaults below come from the installed package. Choose a model you can use by setting PRISM_SETUP_MODEL on your machine. Run the verification only when you are ready for one billed request. No request is sent by this page.

Approximate text cost is input tokens × your model’s input rate, plus at most 32 output tokens × its output rate, divided by the rate’s token unit. Add any provider fees. Check your model and region’s current price; the token limit is not a money cap.

php environment names
# Set OPENROUTER_API_KEY privately if required for your configuration.
# url (default)
# OPENROUTER_URL=https://openrouter.ai/api/v1
# Set OPENROUTER_SITE_HTTP_REFERER privately if required for your configuration.
# Set OPENROUTER_SITE_X_TITLE privately if required for your configuration.
php local verification
use Prism\Prism\Facades\Prism;

// Run in your own configured Laravel app (for example, php artisan tinker).
$model = getenv('PRISM_SETUP_MODEL');
if (!$model) {
    throw new RuntimeException('Set PRISM_SETUP_MODEL to your model.');
}
try {
    $result = Prism::text()
        ->using('openrouter', $model)
        ->withPrompt('Say hello.')
        ->withMaxTokens(32)
        ->asText();
    echo $result->text, PHP_EOL;
} catch (Throwable $error) {
    echo get_class($error), PHP_EOL;
}

Official sources