Docs par modèle : https://replicate.com/{owner}/{model}/llms.txt
Définis Accept: text/markdown lors de la demande de pages de documentation pour des réponses Markdown.
Workflow
Choisir le bon modèle - Recherche via l'API ou demande à l'utilisateur.
Obtenir les métadonnées du modèle - Récupère le schéma d'entrée et de sortie via l'API.
Créer une prédiction - POST vers /v1/predictions.
Interroger les résultats - GET la prédiction jusqu'à ce que le statut soit "succeeded".
Retourner la sortie - Généralement des URLs vers le contenu généré.
Trois façons d'obtenir la sortie
Créer une prédiction, stocker son id depuis la réponse, et interroger jusqu'à la fin.
Définis un en-tête Prefer: wait lors de la création d'une prédiction pour une réponse synchrone bloquante. Recommandé uniquement pour les modèles très rapides. Max 60 secondes.
Définis une URL webhook HTTPS lors de la création d'une prédiction, et Replicate fera un POST à cette URL quand la prédiction sera terminée.
Directives
Utilise l'endpoint POST /v1/predictions, car il supporte les modèles officiels et communautaires.
Chaque modèle a son propre schéma OpenAPI. Récupère et vérifie toujours les schémas des modèles pour t'assurer que tu définis des entrées valides. Même les modèles populaires changent leurs schémas.
Valide les paramètres d'entrée par rapport aux contraintes du schéma (minimum, maximum, valeurs enum). Ne génère pas de valeurs qui les violent.
Quand tu es incertain sur une valeur de paramètre, utilise l'exemple par défaut du modèle ou omets le paramètre optionnel.
Ne définis pas les entrées optionnelles sauf si tu as une raison. Reste sur les entrées requises et laisse les valeurs par défaut du modèle faire le travail.
Utilise des URLs HTTPS pour les entrées de fichiers autant que possible. Tu peux aussi envoyer des fichiers codés en base64, mais ils doivent être évités.
Lance plusieurs prédictions en parallèle. N'attends pas que l'une se termine avant de lancer la suivante.
Les URLs de fichiers de sortie expirent après 1 heure, donc fais-en une sauvegarde si tu dois les conserver, en utilisant un service comme Cloudflare R2.
Les webhooks sont un bon mécanisme pour recevoir et stocker la sortie des prédictions.
Prédictions
Une prédiction passe par ces états : starting -> processing -> succeeded / failed / canceled.
Les modèles officiels utilisent le format owner/name. Les modèles communautaires nécessitent owner/name:version_id.
L'endpoint POST /v1/predictions gère les deux.
Webhooks
Définis webhook à une URL HTTPS lors de la création d'une prédiction. Replicate fait un POST de l'objet prédiction complet quand elle se termine.
Filtre les événements avec webhook_events_filter : start, output, logs, completed.
Valide les signatures webhook en utilisant les en-têtes Webhook-ID, Webhook-Timestamp et Webhook-Signature. Obtiens le secret de signature depuis GET /v1/webhooks/default/secret.
Durée de vie de la prédiction
Définis lifetime pour annuler automatiquement les prédictions qui s'exécutent trop longtemps (par ex. 30s, 5m, 1h). Mesuré à partir du moment de création.
Streaming
Les modèles de langage qui supportent le streaming incluent une URL stream dans la réponse. Utilise SSE pour recevoir la sortie incrémentale.
Gestion des fichiers
Préfère les URLs HTTPS pour les entrées de fichiers. Les URLs de sortie d'une prédiction peuvent être passées directement comme entrées de fichiers au modèle suivant.
Les URLs de fichiers de sortie expirent après 1 heure. Télécharge et stocke-les immédiatement si tu dois les conserver.
Workflows multi-modèles
Enchaîne les modèles en passant les URLs de sortie comme entrées de fichiers au modèle suivant.
Lance toutes les prédictions indépendantes en parallèle, puis collecte les résultats.
Les URLs de sortie sont valides pendant 1 heure, ce qui est suffisant pour les étapes de pipeline.