Artificial Intelligence is now part of everyday apps — from chatbots and code helpers to image generators and transcription tools. OpenAI makes this possible through its APIs and models like GPT-4o, GPT-4o mini, DALL·E, Whisper, and more.
To make integration easier:
- Python developers get an official OpenAI SDK.
- Laravel/PHP developers can use plain HTTP or the popular community package
openai-php/laravel.
This blog will walk you step by step for both.
1. What is the OpenAI SDK?
An SDK (Software Development Kit) is a ready-made library that helps you interact with APIs without writing raw HTTP requests.
The official OpenAI SDK:
- Simplifies API calls
- Handles authentication
- Provides structured responses
- Supports all major features (chat, text, images, audio, embeddings, tools)
For Laravel, there is no official SDK yet, but HTTP and community libraries make integration easy.
2. Prerequisites
Before you start:
- OpenAI account → https://platform.openai.com
- API Key (create in dashboard – see our OpenAI API Key Setup Guide)
- Python 3.7+ (for Python SDK)
- Node.js or PHP 8.1+ with Laravel 9/10 (for Laravel)
3. Installing the SDK
Python
pip install --upgrade openai
Laravel
Option A: Use Laravel’s built-in HTTP client (no extra install).
Option B: Install community package:
composer require openai-php/laravel
php artisan openai:install
4. Using OpenAI with Python (Official SDK)
4.1 Setup
Store your API key securely.
Mac/Linux:
export OPENAI_API_KEY="sk-yourkey"
Windows (PowerShell):
setx OPENAI_API_KEY "sk-yourkey"
Then in Python:
from openai import OpenAI
client = OpenAI() # reads API key from environment
4.2 Chat with GPT
resp = client.responses.create(
model="gpt-4o-mini",
input="Write a 2-line joke about AI in Hinglish"
)
print(resp.output_text)
4.3 Generate Image (DALL·E)
img = client.images.generate(
model="gpt-image-1",
prompt="Cartoon of a robot cooking chai"
)
print(img.data[0].url)
4.4 Transcribe Audio (Whisper)
with open("meeting.mp3", "rb") as f:
tx = client.audio.transcriptions.create(
model="gpt-4o-mini-transcribe",
file=f
)
print(tx.text)
4.5 Embeddings (for search, recommendations)
emb = client.embeddings.create(
model="text-embedding-3-small",
input="Artificial Intelligence for healthcare"
)
print(len(emb.data[0].embedding))
5. Using OpenAI with Laravel
Laravel does not have an official SDK, but you can use:
Option A: Plain HTTP (built-in, simple)
Controller Example
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class AiController extends Controller
{
public function reply(Request $request)
{
$text = $request->input('q', 'Say hi in Hinglish');
$resp = Http::withToken(config('services.openai.key'))
->post('https://api.openai.com/v1/responses', [
'model' => 'gpt-4o-mini',
'input' => $text,
])
->throw()
->json();
$output = data_get($resp, 'output_text') ?? data_get($resp, 'output.0.content.0.text');
return response()->json(['answer' => $output]);
}
}
Config
// config/services.php
'openai' => [
'key' => env('OPENAI_API_KEY'),
],
Route
Route::post('/ai/reply', [AiController::class, 'reply']);
Option B: Community Package (openai-php/laravel)
Install
composer require openai-php/laravel
php artisan openai:install
Usage
use OpenAI\Laravel\Facades\OpenAI;
class ChatController extends Controller
{
public function chat(Request $req)
{
$q = $req->input('q', 'Summarise Laravel in 1 line');
$r = OpenAI::responses()->create([
'model' => 'gpt-4o-mini',
'input' => $q,
]);
return response()->json(['answer' => $r->outputText]);
}
}
Image Example
$img = OpenAI::images()->generate([
'model' => 'gpt-image-1',
'prompt' => 'Logo of M in gradient style',
]);
$url = $img->data[0]->url;
6. Best Practices
- Never hardcode API keys → keep in
.env - Add timeouts & retries for production
- Monitor usage in the OpenAI dashboard
- Use gpt-4o-mini for cheaper, faster tasks
- Use fakes/mocks for testing in Laravel
7. What You Can Build
- Chatbots (support, personal assistant)
- Blog and content generators
- Logo or image generator apps
- Transcription tools for meetings/podcasts
- Semantic search with embeddings
8. Conclusion
- If you are a Python developer, use the official OpenAI SDK for a smooth experience.
- If you are a Laravel/PHP developer, start with plain HTTP or use the trusted community package
openai-php/laravel.
Both ways make it simple to bring AI into your apps — whether it’s text, chat, images, or audio.
👉 Want to go beyond installation? Read our Ultimate Guide to OpenAI API for a complete breakdown of models, endpoints, pricing, and best practices.

Comments