How to use OpenRouter AI API in Laravel Project and make full project automate

How to Use OpenRouter AI API in Laravel Project and Automate Your Entire Workflow
Integrating the OpenRouter AI API into a Laravel project can significantly enhance your application’s capabilities by enabling powerful AI-driven functionalities. Whether you're building a chatbot, automating content generation, or implementing advanced data analysis, this tutorial will guide you through the entire process. By the end, you’ll have a fully automated Laravel project leveraging OpenRouter AI.

Table of Contents
- Introduction to OpenRouter AI and Laravel
- Setting Up Your Laravel Project for OpenRouter AI Integration
- Integrating OpenRouter AI API into Laravel
- Automating Workflows with OpenRouter AI
- Testing, Deployment, and Best Practices

1. Introduction to OpenRouter AI and Laravel
What is OpenRouter AI?
OpenRouter AI is a platform that provides access to a variety of AI models via a unified API. It allows developers to connect to multiple large language models (LLMs) and other AI functionalities without dealing with the complexities of managing individual models.
Why Use OpenRouter AI with Laravel?
Laravel is a powerful PHP framework known for its elegance and flexibility. Combining Laravel’s robustness with OpenRouter AI’s advanced AI capabilities can automate tasks, enhance user interactions, and streamline backend processes.
Key Use Cases
- Automated Content Generation: Dynamic blog posts, product descriptions, or AI-generated responses.
- Chatbots and Virtual Assistants: Real-time AI-powered interactions.
- Data Analysis: Automated insights from unstructured data.
- Workflow Automation: Automating repetitive tasks like email responses or data processing.

2. Setting Up Your Laravel Project for OpenRouter AI Integration
Prerequisites
- A Laravel project (create one using
composer create-project laravel/laravel your-project-name
). - An OpenRouter AI account (sign up at OpenRouter AI).
- Basic knowledge of Laravel and API integration.
Step 1: Install HTTP Client in Laravel
Laravel provides HTTP client support via the Http
facade. Ensure your project has it installed (it comes by default in Laravel 8+).
Step 2: Set Up Environment Variables
Store your OpenRouter AI API key securely in .env
:
OPENROUTER_API_KEY=your_api_key_here
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
Step 3: Create a Service Provider
Create a new service provider to handle OpenRouter API calls:
php artisan make:provider OpenRouterServiceProvider
Register it in config/app.php
under providers. Then, define the provider to bind the OpenRouter client.

3. Integrating OpenRouter AI API into Laravel
Step 1: Create an OpenRouter Client Class
Create a new class app/Services/OpenRouterClient.php
:
<?php
namespace App\Services;
use Illuminate\Support\Facades\Http;
class OpenRouterClient
{
protected $apiKey;
protected $baseUrl;
public function __construct()
{
$this->apiKey = config('services.openrouter.key');
$this->baseUrl = config('services.openrouter.base_url');
}
public function sendCompletionRequest($model, $prompt)
{
$response = Http::withHeaders([
'Authorization' => 'Bearer ' . $this->apiKey,
'Content-Type' => 'application/json',
])->post($this->baseUrl . '/chat/completions', [
'model' => $model,
'messages' => [$prompt],
]);
return $response->json();
}
}
Step 2: Create a Configuration File
Add OpenRouter API settings to config/services.php
:
'openrouter' => [
'key' => env('OPENROUTER_API_KEY'),
'base_url' => env('OPENROUTER_BASE_URL'),
],
Step 3: Use the OpenRouter Client in Controllers
Inject the OpenRouterClient
into your controller:
<?php
namespace App\Http\Controllers;
use App\Services\OpenRouterClient;
class ChatController extends Controller
{
protected $openRouter;
public function __construct(OpenRouterClient $openRouter)
{
$this->openRouter = $openRouter;
}
public function getResponse($prompt)
{
$response = $this->openRouter->sendCompletionRequest('openai/gpt-3.5-turbo', $prompt);
return response()->json($response);
}
}
4. Automating Workflows with OpenRouter AI
Step 1: Automate Content Generation
Create a command to generate content automatically:
php artisan make:command GenerateContent
In the command:
protected $signature = 'generate:content {prompt}';
protected $description = 'Generate content using OpenRouter AI';
public function handle()
{
$prompt = $this->argument('prompt');
$response = $this->openRouter->sendCompletionRequest('openai/gpt-3.5-turbo', $prompt);
$this->info($response['choices'][0]['message']['content']);
}
Run it via:
php artisan generate:content "Write a Laravel tutorial introduction."
Step 2: Automate Email Responses
Create an event listener for outgoing emails:
public function handle(MailSent $event)
{
$response = $this->openRouter->sendCompletionRequest('openai/gpt-3.5-turbo', "Summarize this email: {$event->message->body}");
// Store summary in DB or process further
}
Step 3: Schedule AI Tasks
Use Laravel schedulers to automate periodic AI tasks:
// app/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$prompt = "Analyze recent sales data for trends.";
$response = $this->openRouter->sendCompletionRequest('openai/gpt-3.5-turbo', $prompt);
// Process the analysis
})->daily();
}
5. Testing, Deployment, and Best Practices
Step 1: Testing API Calls
Write tests for your OpenRouter integration:
public function testOpenRouterApiCall()
{
$response = Http::fake([
'openrouter.ai/api/v1/chat/completions' => Http::response(['choices' => [['message' => ['content' => 'Test response']]]]),
]);
$controller = new ChatController(new OpenRouterClient());
$result = $controller->getResponse('Test prompt');
$this->assertEquals('Test response', $result['choices'][0]['message']['content']);
}
Step 2: Optimize API Calls
- Use caching to avoid repeated calls for the same prompt.
- Implement rate-limiting to stay within OpenRouter’s quota.
Step 3: Deploy Your Application
- Store your
.env
securely. - Use Laravel Forge, Envoyer, or similar tools for smooth deployment.
Best Practices
- Secure API Keys: Use Laravel’s
.env
and never commit them to Git. - Error Handling: Handle API failures gracefully.
- Logging: Log AI interactions for debugging and analysis.
Conclusion
By following this tutorial, you’ve successfully integrated OpenRouter AI into your Laravel project and automated various workflows. Whether it’s generating content, automating emails, or analyzing data, OpenRouter AI can add powerful AI capabilities to your Laravel applications. Start experimenting and unlock the full potential of AI-driven automation in your projects!
1 Comments
Please login or register to leave a comment.
Best Articles in this website