Comment créer une API de suppression d'arrière-plan : un didacticiel étape par étape
Ce guide explique comment créer une API basée sur FastAPI qui supprime l'arrière-plan des images à l'aide d'eDenai. Il prend en charge à la fois les téléchargements d'URL et de fichiers, renvoyant des images en base64 pour une intégration facile au frontend.
Dans ce didacticiel complet, nous vous expliquerons étape par étape le processus de création d'une API de suppression d'arrière-plan entièrement fonctionnelle à l'aide de API rapide, l'un des frameworks Web les plus rapides et les plus modernes pour créer des API avec Python.
Pour permettre la suppression effective de l'arrière-plan, nous allons intégrer Eden Ai, une plateforme qui regroupe plusieurs services d'IA au sein d'une seule API.
Pour une explication plus approfondie, n'oubliez pas de regarder notre tutoriel Youtube sur la suppression de l'arrière-plan, où nous fournissons une description détaillée de chaque étape.
En suivant la vidéo, vous aurez une compréhension complète du processus, en vous assurant de ne manquer aucun détail important.
Que vous soyez novice en matière d'API Python, de suppression d'arrière-plan ou de FastAPI, ce guide pratique est pratique et convivial pour les débutants.
Ce que vous allez construire
À la fin de ce didacticiel, vous disposerez d'une API fonctionnelle qui :
Accepte une image via URL ou téléchargement de fichier.
Envoie l'image au terminal de suppression de l'arrière-plan d'eDenai.
Renvoie une version base64 de l'image avec l'arrière-plan supprimé (adaptée à l'affichage dans un frontend)
Prérequis
Avant de commencer, assurez-vous de disposer des outils et des connaissances suivants :
Python 3.7 et versions ultérieures: Requis pour la compatibilité avec FastAPI et d'autres bibliothèques.
pépin: le gestionnaire de paquets de Python pour l'installation de bibliothèques.
Clé API eDenai: vous devez créer un compte sur edenai.co et récupérez votre clé API.
Connaissances de base de Python: En particulier en ce qui concerne les fonctions et le JSON.
Les IA d'Eden API de suppression de l'arrière-plan utilise l'IA pour supprimer automatiquement l'arrière-plan des images, isolant ainsi le sujet principal.
Il prend en charge plusieurs fournisseurs (tels que PhotoRoom et Sentisight) via une API unique et unifiée, ce qui facilite l'intégration et le basculement entre les services.
Les cas d'utilisation courants incluent le commerce électronique, le design et les réseaux sociaux, qui aident les utilisateurs à créer des visuels nets et professionnels sans modification manuelle.
Guide étape par étape
Étape 1 : Configuration du projet
Commencez par créer un dossier dédié et configurez un environnement virtuel Python (meilleure pratique pour les projets Python).
Luvicorne : Un serveur ASGI pour exécuter votre application FastAPI.
Python point V : Charge les variables d'environnement (comme votre clé API) à partir d'un fichier .env.
demandes : Envoie des requêtes HTTP à l'API d'eDenai.
Python en plusieurs parties : Permet à FastAPI de gérer les téléchargements de fichiers.
Créez un fichier .env dans le répertoire racine et stockez votre clé d'API eDenai en toute sécurité :
EDEN_AI_API_KEY=your_edenai_api_key_here
Ne téléchargez jamais ce fichier sur le système de contrôle de version (comme GitHub) ! Il contient vos informations d'identification API privées.
Étape 2 : Création du fichier API
Créez un fichier nommé main.py et collez-y le code FastAPI complet.
from fastapi import FastAPI, File, UploadFile, HTTPException, Form
from fastapi.responses import JSONResponse
from fastapi.middleware.cors import CORSMiddleware
import requests
import tempfile
import os
from dotenv import load_dotenv
from typing import Optional, List
from pydantic import BaseModel
# Initialize FastAPI app
app = FastAPI(title="Background Removal API")
# Load environment variables
load_dotenv()
# Enable CORS (important if using with frontend apps)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Load your EdenAI API key from the .env
EDENAI_API_KEY = os.getenv('EDEN_AI_API_KEY')
EDENAI_API_ENDPOINT = "https://api.edenai.run/v2/image/background_removal"
Étape 3 : Ajouter le modèle pour la saisie d'URL
Ce modèle est utilisé pour définir ce à quoi nous nous attendons lorsqu'un utilisateur envoie un Basé sur une URL demande de suppression de l'arrière-plan :
Il s'agit d'un simple point de terminaison GET permettant de confirmer que votre API est en cours d'exécution. Lorsque vous visitez l'URL racine, elle renvoie un message convivial.
Étape 5 : Point de terminaison de suppression de l'arrière-plan basé sur une URL
Implémentez maintenant un point de terminaison qui reçoit une URL d'image et supprime l'arrière-plan via eDenai :
2. Test de téléchargement (par exemple, avec Postman ou un frontend)
Utilisez Postman ou un client frontal pour POST vers /remove-bg/file avec form-data :
fichier : télécharger un fichier image
fournisseurs : supprimer_bg
Conseils et suggestions
eDenai prend en charge plusieurs fournisseurs de suppression d'arrière-plan. Vous pouvez spécifier fallback_providers pour garantir la fiabilité en cas de défaillance du serveur principal.
Le middleware CORS est activé par défaut pour toutes les origines, ce qui le rend convivial pour le front-end.
Sécurisez toujours vos fichiers .env en les ajoutant à .gitignore.
Conclusion
En suivant ce didacticiel étape par étape, vous avez créé une API de suppression d'arrière-plan puissante et flexible à l'aide de FastAPI et eDenai.
Que vous travailliez sur une application Web, une application mobile ou un outil interne, cette API peut désormais gérer à la fois les URL des images et les téléchargements directs, renvoyant des images propres, codées en base64 et prêtes à être utilisées.
Vous avez également appris les meilleures pratiques en matière de variables d'environnement, d'intégration d'API et de conception de code modulaire.
À partir de là, vous pouvez étendre les fonctionnalités avec d'autres services d'IA d'eDenai, ajouter l'authentification des utilisateurs ou déployer votre API sur une plateforme cloud telle que Render, Vercel ou Railway.
Ressources
Prêt à plonger plus profondément ? Nous avons tout ce dont vous avez besoin pour commencer.