A simple Laravel wrapper for the OpenRouter API to easily perform chat completions using models like openai/gpt-4o.
- Easy integration with Laravel via Service Provider
- Customizable via
.envorconfig/openrouter.php - Uses Guzzle for HTTP requests
- Supports
max_tokensfor response control
Require the package via Composer:
composer require level7up/openrouter-clientPublish the configuration file:
php artisan vendor:publish --tag=configAdd your credentials to .env:
OPENROUTER_API_KEY=your_openrouter_api_key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_REFERER=https://your-site.com # optional
OPENROUTER_SITE_TITLE=Your Site Name # optionalInject the client into your controller or service:
use Level7up\OpenRouter\OpenRouterClient;
class ChatController extends Controller
{
public function ask(OpenRouterClient $client)
{
$response = $client->getCompletion('Tell me a joke.', 50);
return response()->json(['reply' => $response]);
}
}After publishing, you can modify config/openrouter.php:
return [
'api_key' => env('OPENROUTER_API_KEY'),
'base_url' => env('OPENROUTER_BASE_URL', 'https://openrouter.ai/api/v1'),
'referer' => env('OPENROUTER_REFERER'),
'site_title' => env('OPENROUTER_SITE_TITLE'),
];Sends a prompt to the OpenRouter API and returns the response string.
- PHP 8.0+
- Laravel 8+
- Guzzle 7+
This package is open-sourced software licensed under the MIT license.
Maintained by Level7up. Contributions and issues are welcome!