Colas Mérand
18/05/2025
IA générative
ChatGPT Vision
Next.js
5 minutes
À l'ère du numérique où l'image est reine, la retouche photo automatisée par l'intelligence artificielle représente une avancée majeure pour les entreprises et les créateurs de contenu. L'intégration de l'API ChatGPT Vision d'OpenAI dans les applications web ouvre des possibilités fascinantes, notamment dans le domaine de la retouche d'image. Chez Platane, nous avons développé une expertise pointue dans ce domaine, que nous souhaitons partager avec vous.
L'intelligence artificielle générative a considérablement évolué ces dernières années, passant d'un simple outil de génération de texte à une technologie capable d'analyser, comprendre et modifier des images avec une précision remarquable. L'API ChatGPT Vision d'OpenAI représente l'une des avancées les plus significatives dans ce domaine, permettant d'automatiser des tâches de retouche photo qui nécessitaient auparavant l'intervention d'un professionnel.
L'intégration de l'API ChatGPT Vision dans une application web moderne nécessite une architecture technique solide et bien pensée. Voici les éléments clés à considérer :
La sécurité est primordiale lorsqu'on intègre des services tiers comme l'API d'OpenAI. Nous recommandons systématiquement :
// Installation des dépendances nécessaires
npm install openai next-auth stripe @supabase/supabase-js
// services/openai.ts
import { OpenAI } from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
export async function retouchImage(imageBase64: string, prompt: string) {
try {
const response = await openai.chat.completions.create({
model: "gpt-4-vision-preview",
messages: [
{
role: "user",
content: [
{ type: "text", text: prompt },
{
type: "image_url",
image_url: {
url: `data:image/jpeg;base64,${imageBase64}`,
},
},
],
},
],
max_tokens: 300,
});
return response.choices[0].message.content;
} catch (error) {
console.error('Error calling OpenAI API:', error);
throw new Error('Failed to process image');
}
}
L'intégration d'un système d'abonnement est essentielle pour monétiser votre service de retouche photo. Voici comment structurer cette fonctionnalité :
// pages/api/check-subscription.ts
import { createClient } from '@supabase/supabase-js';
import type { NextApiRequest, NextApiResponse } from 'next';
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.SUPABASE_SERVICE_KEY!
);
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
const { userId } = req.body;
if (!userId) {
return res.status(400).json({ error: 'User ID is required' });
}
try {
const { data, error } = await supabase
.from('subscriptions')
.select('*')
.eq('user_id', userId)
.eq('status', 'active')
.single();
if (error) throw error;
return res.status(200).json({
hasActiveSubscription: !!data,
subscriptionType: data?.type || null,
expiresAt: data?.expires_at || null,
});
} catch (error) {
console.error('Error checking subscription:', error);
return res.status(500).json({ error: 'Failed to check subscription status' });
}
}
Pour offrir une expérience utilisateur complète, il est important de conserver un historique des retouches effectuées :
// services/history.ts
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.SUPABASE_SERVICE_KEY!
);
export async function saveRetouchToHistory(
userId: string,
originalImageUrl: string,
retouchedImageUrl: string,
promptUsed: string
) {
try {
const { data, error } = await supabase
.from('retouch_history')
.insert([
{
user_id: userId,
original_image_url: originalImageUrl,
retouched_image_url: retouchedImageUrl,
prompt_used: promptUsed,
created_at: new Date().toISOString(),
},
]);
if (error) throw error;
return data;
} catch (error) {
console.error('Error saving to history:', error);
throw new Error('Failed to save retouch to history');
}
}
export async function getUserRetouchHistory(userId: string) {
try {
const { data, error } = await supabase
.from('retouch_history')
.select('*')
.eq('user_id', userId)
.order('created_at', { ascending: false });
if (error) throw error;
return data;
} catch (error) {
console.error('Error fetching history:', error);
throw new Error('Failed to fetch retouch history');
}
}
L'intégration de l'API ChatGPT Vision peut entraîner des temps de traitement variables. Pour garantir une expérience utilisateur optimale, nous recommandons :
Chez Platane, nous avons eu l'opportunité de travailler sur plusieurs projets intégrant l'IA générative dans des applications web. Par exemple, pour Epictory, nous avons développé une plateforme de génération de posters personnalisés basés sur des parcours Strava, utilisant l'IA pour transformer des données GPS en œuvres d'art uniques.
Notre expérience avec Astory, une plateforme de location d'œuvres d'art générant aujourd'hui plus de 800 000€ de revenus annuels, nous a également permis de maîtriser l'intégration de systèmes de paiement robustes avec Stripe, essentiels pour monétiser efficacement des fonctionnalités premium comme la retouche photo automatisée.
L'intégration de l'API ChatGPT Vision dans les applications de retouche photo représente une opportunité exceptionnelle pour les entreprises souhaitant offrir des services innovants à leurs utilisateurs. Avec une architecture technique solide et une expérience utilisateur bien pensée, il est possible de créer des solutions qui se démarquent sur un marché de plus en plus compétitif.
Chez Platane, nous sommes passionnés par l'innovation technologique et nous mettons notre expertise au service de projets ambitieux. Notre maîtrise des technologies modernes comme Next.js, TypeScript, et des API d'intelligence artificielle nous permet de développer des solutions sur mesure qui répondent précisément aux besoins de nos clients.
Vous avez un projet d'intégration d'IA générative dans votre application web ? Vous souhaitez automatiser la retouche photo ou explorer d'autres cas d'usage innovants ? N'hésitez pas à prendre rendez-vous via notre formulaire de contact. Notre équipe sera ravie d'échanger avec vous sur votre projet et de vous accompagner dans sa réalisation, en vous faisant bénéficier de notre expertise technique et de notre approche créative.
Collaborer avec Platane, c'est s'assurer d'un développement rigoureux, d'une communication transparente et d'un résultat à la hauteur de vos ambitions. Contactez-nous dès aujourd'hui pour transformer votre vision en réalité.
Vous préférez discuter de vive voix ? Nous aussi et c'est évidemment sans engagement !
Une question, un besoin de renseignements ? N'hésitez pas à nous contacter.