Laravel Daily's

Building an AI-Powered Content Generator with Laravel's AI SDK

hero image

Integrating artificial intelligence into web applications used to require complex boilerplate code. You needed custom wrappers, fragile HTTP clients, and endless error-handling blocks. Today, building intelligent features is straightforward.

As a premier php web framework, Laravel provides native tooling that simplifies advanced integrations. The official AI SDK bridges your application directly with leading language models. You can ship content generation, summaries, and automated workflows in minutes.

August 1, 2026

Let us dig into setting up the SDK, connecting OpenAI, and structuring your application code.

Installing and Configuring the AI SDK

Getting started begins in your terminal. You require a fresh application running on Laravel.

Run the composer command to install the package:

composer require laravel/ai

Publish the configuration file using Artisan:

php artisan vendor:publish --tag=ai-config

Open your .env file and add your OpenAI credentials. The SDK reads this key automatically during requests.

OPENAI_API_KEY=sk-...

Developer working on Laravel AI integration

Modern php developer tools abstract away low-level configuration details. You define your provider defaults once, keeping your codebase clean and maintainable.

Building the Content Generation Service

Controllers should remain thin. Business logic belongs inside dedicated service classes.

Create a new service called AiContentGenerator. This class encapsulates all communication with the AI provider.


class AiContentGenerator
{
    public function generateBlogPost(string $topic): string
    {
        $prompt = "Write an informative, detailed blog post about {$topic}.";

        $response = app('ai')
            ->text()
            ->provider('openai')
            ->model('gpt-4o-mini')
            ->generate($prompt);

        return $response->content ?? '';
    }
}

The SDK uses expressive method chaining. You select your text capability, specify OpenAI as your provider, pick a model, and execute the prompt.

Creating the Controller and Endpoints

When you build rest api with php, JSON request handling must be fast and reliable. You need an endpoint that accepts topics and returns generated payloads.

Create a controller to handle incoming generation requests.


use Illuminate\Http\Request;
use App\Services\AiContentGenerator;

class ContentController extends Controller
{
    public function store(Request $request, AiContentGenerator $generator)
    {
        $validated = $request->validate([
            'topic' => ['required', 'string', 'max:255'],
        ]);

        $content = $generator->generateBlogPost($validated['topic']);

        return response()->json([
            'status' => 'success',
            'content' => $content,
        ]);
    }
}

Laravel controller workflow diagram

Register your route inside routes/api.php with proper authentication and rate limiting.

use App\Http\Controllers\ContentController;

Route::post('/generate', [ContentController5::class, 'store'])
    ->middleware('auth:sanctum');

Handling Prompts, Responses, and Queues

External API calls take time. Synchronous generation can block HTTP threads and degrade user experience.

Offload heavy generation tasks to background queues. Laravel handles queue workers natively without third-party dependencies.

use App\Jobs\GenerateContentJob;

public function store(Request $request)
{
    $topic = $request->input('topic');

    GenerateContentJob::dispatch($topic, auth()->user());

    return response()->json([
        'status' => 'queued',
        'message' => 'Your content generation is processing in the background.',
    ]);
}

Structured output guarantees predictable data formats. Instead of raw text strings, you can request JSON responses containing titles, meta descriptions, and tags.

Structured JSON output generation

Wrapping Up

Building intelligent features no longer requires reinventing the wheel. The Laravel ecosystem provides robust packages for every layer of your application architecture.

Explore the official Laravel documentation to discover more tools for your next project. We would love to hear what you build with the AI SDK.

Previous
Supercharging Your PHP Web Framework: Building AI-Powered Features with Laravel
Next
Building Reactive SPAs with Inertia 3.x: Deferred Props + Polling Without WebSockets