Vision

Analyse d'images et compréhension visuelle multimodale

Introduction

L'API Vision d'AlphaEdge vous permet d'analyser et comprendre le contenu d'images. Cette fonctionnalité est optimisée pour offrir des performances élevées et une grande précision.

Cette page vous guide à travers l'utilisation de l'API Vision, depuis les bases jusqu'aux cas d'usage avancés.

Démarrage rapide

Voici un exemple minimal pour commencer avec l'API Vision :

Exemple basique

python
from alphaedge import AlphaEdge

client = AlphaEdge(api_key="votre_cle_api")

# Analyse d'une image
response = client.vision.analyze(
    image=open("image.jpg", "rb"),
    model="alphaedge-vision-3-1",
    prompt="Décris cette image en détail"
)
print(response.description)
bash
curl https://api.alphaedge-ai.com/v1/vision \
  -H "Authorization: Bearer $ALPHAEDGE_API_KEY" \
  -F "file=@image.jpg" \
  -F "model=alphaedge-vision-3-1" \
  -F "prompt=Décris cette image en détail"
javascript
const AlphaEdge = require('@alphaedge/ai-sdk');

const client = new AlphaEdge({
  apiKey: process.env.ALPHAEDGE_API_KEY
});

// Analyse d'une image
const response = await client.vision.analyze({
  image: fs.createReadStream('image.jpg'),
  model: 'alphaedge-vision-3-1',
  prompt: 'Décris cette image en détail'
});
console.log(response.description);

Paramètres de l'API

Voici les paramètres disponibles pour l'API Vision :

PARAMÈTRE TYPE REQUIS DÉFAUT DESCRIPTION
model string Oui - Le nom du modèle à utiliser (ex: alphaedge-vision-3-1)
file File Oui - Le fichier image à analyser
prompt string Non - Instruction pour guider l'analyse de l'image
detail string Non auto Niveau de détail : "low", "high", "auto"
temperature float Non 0.7 Contrôle la créativité (0.0 = déterministe, 2.0 = très créatif)
max_tokens integer Non 2048 Nombre maximum de tokens à générer
stream boolean Non false Activer le streaming des réponses en temps réel

Formats de fichiers supportés

L'API Vision d'AlphaEdge prend en charge une large gamme de formats d'images pour l'analyse visuelle. Voici la liste complète des formats supportés :

Formats raster (bitmap)

  • JPEG/JPG (.jpg, .jpeg) - Photos, images compressées avec perte
  • PNG (.png) - Images avec transparence, compression sans perte
  • GIF (.gif) - Images animées, palettes de couleurs limitées
  • BMP (.bmp) - Format bitmap Windows, non compressé
  • TIFF/TIF (.tiff, .tif) - Images haute qualité, support multi-pages
  • WEBP (.webp) - Format moderne Google, compression efficace
  • ICO (.ico) - Icônes Windows
  • HEIC/HEIF (.heic, .heif) - Format Apple moderne haute qualité

Formats vectoriels

  • SVG (.svg) - Graphiques vectoriels scalables (convertis en raster)
  • PDF (.pdf) - Documents avec images (première page analysée)

Spécifications techniques

  • Résolution maximale : 4096x4096 pixels
  • Résolution minimale : 32x32 pixels
  • Taille maximale : 25 MB par fichier
  • Espace colorimétrique : RGB, RGBA, Grayscale
  • Profondeur de couleur : 8 bits, 16 bits, 24 bits, 32 bits

Formats vidéo (frames extraites)

L'API peut analyser des frames extraites de vidéos :

  • MP4 (.mp4) - Extraction de frames clés
  • AVI (.avi) - Analyse frame par frame
  • MOV (.mov) - Format QuickTime
  • WebM (.webm) - Format web vidéo

Note : Pour les vidéos, vous pouvez spécifier l'intervalle de frames à analyser (ex: 1 frame par seconde)

Recommandations

  • Pour la détection d'objets : Images PNG ou JPEG haute résolution (minimum 512x512 pixels)
  • Pour l'analyse de texte dans les images : Résolution minimale 300 DPI recommandée
  • Pour les photos : JPEG à qualité 85-95% offre un bon compromis
  • Pour les graphiques avec transparence : PNG 24 bits
  • Évitez les images très compressées ou de très faible résolution pour de meilleurs résultats

Format de réponse

L'API Vision retourne une réponse au format JSON. Voici un exemple de structure de réponse :

json
{
  "id": "req_abc123",
  "object": "vision.response",
  "created": 1677652288,
  "model": "alphaedge-vision-3-1",
  "description": "Description détaillée de l'image...",
  "objects": [...],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 50,
    "total_tokens": 60
  }
}

Exemples avancés

Détection d'objets

Détectez et localisez des objets dans une image :

python
response = client.vision.analyze(
    image=open("image.jpg", "rb"),
    model="alphaedge-vision-3-1",
    prompt="Liste tous les objets visibles avec leurs positions",
    detail="high"
)
for obj in response.objects:
    print(f"{obj.name}: {obj.bbox}")

Gestion des erreurs

Voici comment gérer les erreurs de manière appropriée :

python
from alphaedge import AlphaEdge, APIError

client = AlphaEdge(api_key="votre_cle_api")

try:
    response = client.vision.analyze(
        image=open("image.jpg", "rb"),
        model="alphaedge-vision-3-1",
        prompt="Décris cette image"
    )
    print(response)
except APIError as e:
    print(f"Erreur API: {e.message}")
    print(f"Code: {e.code}")
except FileNotFoundError:
    print("Fichier non trouvé")
except Exception as e:
    print(f"Erreur inattendue: {e}")
javascript
const AlphaEdge = require('@alphaedge/ai-sdk');

const client = new AlphaEdge({
  apiKey: process.env.ALPHAEDGE_API_KEY
});

try {
  const response = await client.vision.analyze({
    image: fs.createReadStream('image.jpg'),
    model: 'alphaedge-vision-3-1',
    prompt: 'Décris cette image'
  });
  console.log(response);
} catch (error) {
  if (error instanceof AlphaEdge.APIError) {
    console.error(`Erreur API: ${error.message}`);
    console.error(`Code: ${error.code}`);
  } else if (error.code === 'ENOENT') {
    console.error('Fichier non trouvé');
  } else {
    console.error(`Erreur inattendue: ${error.message}`);
  }
}

Cas d'usage

Voici quelques cas d'usage courants pour l'API Vision :

1. Analyse de contenu d'images

Analysez le contenu d'images pour modération, classification ou extraction d'informations.

2. Détection d'objets

Identifiez et localisez des objets dans des images pour applications de vision par ordinateur.

3. Description d'images pour accessibilité

Générez des descriptions d'images pour améliorer l'accessibilité web.

Limitations et bonnes pratiques

Limitations

  • Taille de fichier : Les fichiers ne doivent pas dépasser 25 MB
  • Formats supportés : PNG, JPG, JPEG, WEBP, GIF, BMP, TIFF, SVG, PDF, HEIC/HEIF, et formats vidéo (MP4, AVI, MOV, WebM)
  • Résolution maximale : 4096x4096 pixels
  • Rate limiting : 60 requêtes par minute par défaut (peut être augmenté selon votre plan)
  • Tokens : Limite de 4096 tokens pour les prompts et réponses combinés

Bonnes pratiques

  • Utilisez des images haute résolution (minimum 512x512 pixels) pour de meilleurs résultats
  • Fournissez des prompts clairs pour guider l'analyse
  • Gérez les erreurs de manière appropriée avec des try/except
  • Implémentez un système de retry pour gérer les erreurs temporaires
  • Cachez les résultats lorsque c'est possible pour réduire les coûts
  • Surveillez votre utilisation pour éviter de dépasser vos limites

Modèles disponibles

Pour voir tous les modèles vision disponibles avec leurs spécifications détaillées, consultez la page Nos modèles et filtrez par type.