🍥 Gouvernance des modèles IA, AgentOps et infrastructure de services pour applications AGI
简体中文 | 繁體中文 | English | Français | 日本語
Positionnement • Canaux de publication • Gouvernance • Cas d'usage • Démarrage • Capacités • Configuration • Architecture • Modèles & API • Déploiement • FAQ • Licence
MAX API est un projet d'infrastructure pour la gouvernance des modèles IA, l'AgentOps et les services applicatifs. Il est initié, maintenu et exploité sur le long terme par des passionnés d'AGI issus d'organismes de recherche et d'universités. Il fournit aux développeurs, chercheurs, équipes et organisations une couche de service stable et réutilisable. Le projet se concentre sur les problèmes d'exploitation qui apparaissent lorsque les applications IA passent en production : multiplication des modèles, évolution fréquente des API amont, chaînes d'appels Agent plus longues, pression accrue sur les coûts et l'audit. MAX API fournit une couche unifiée d'accès, d'authentification, de routage, de facturation, d'observabilité et de gouvernance entre applications, Agents, utilisateurs, organisations et fournisseurs de modèles.
En pratique, MAX API n'est pas seulement un proxy de requêtes. C'est une passerelle exploitable pour applications AI-ready et charges Agent, qui regroupe normalisation des protocoles, différences fournisseurs, pics de trafic, longs flux streaming, gros corps de requête, cache multi-nœud, audit des coûts et observabilité des performances dans une même frontière de gouvernance.
Axes d'investissement continus :
- Gouvernance des modèles IA : suivi continu des mises à jour de modèles, des changements d'API, des différences de paramètres, des règles de prix et des protocoles de tâches chez OpenAI, Azure OpenAI, AWS Bedrock, Vertex AI, Ollama, ainsi que chez DeepSeek, Qwen / Alibaba Cloud Model Studio, Zhipu GLM, Kimi, Doubao / Volcano Engine, Tencent Hunyuan, Baidu ERNIE / Qianfan, iFlytek Spark, MiniMax, 01.AI, SiliconFlow et d'autres plateformes. Le projet suit aussi Dify, RAGFlow, Kling, Seedance et d'autres écosystèmes applicatifs ou multimodaux.
- Gouvernance AI Agent / AgentOps : amélioration de la gouvernance des jetons, du contrôle d'accès aux modèles, du traçage des appels, de l'attribution des coûts, du diagnostic d'erreurs et de l'audit des journaux pour les Agents, workflows et appels d'outils.
- Gouvernance de configuration des canaux : matrice de capacités et validation de configuration lors de la création ou modification des canaux, avec affichage de
chat/completions,responses,embeddings,rerank,video tasks, découverte de modèles, et alertes sur Base URL, JSON, région Vertex AI, identifiants Codex ou placeholders de tâches vidéo. - Optimisation opérationnelle et gouvernance des coûts : routage, retry, limitation, préfacturation, remboursement en cas d'échec, observabilité, statistiques de coûts et analyse d'exploitation. Les scénarios token peuvent utiliser la facturation par expression et les scénarios de tâches asynchrones peuvent utiliser des rate-cards paramétrées.
Important
- Lors de la fourniture de services publics d'IA générative, les utilisateurs doivent respecter les obligations réglementaires applicables et gérer eux-mêmes les déclarations, licences, sécurité de contenu, vérification d'identité, conservation des journaux, fiscalité, paiement et autorisations amont requises dans leur juridiction.
- Les capacités sensibles comme l'audit des journaux et la conservation de contenu ne doivent être activées qu'avec une base légale, une information claire, une isolation des permissions et des mesures de sécurité des données.
- MAX API fournit une couche de gouvernance de passerelle pour les charges de travail de modèles et d'Agents. Il ne fournit pas de comptes amont, de clés API, d'entraînement de modèles de base, et ne remplace pas Dify, LangChain, MCP Server ni les frameworks d'orchestration d'Agents.
Les versions actuelles de MAX API sont divisées entre versions stables et versions Preview. Les versions Preview exposent plus tôt les nouvelles capacités et corrections afin que la communauté et les opérateurs puissent valider la compatibilité, la stabilité et la sécurité en environnement réel. Une version stable est publiée après 1 semaine de fonctionnement stable de la Preview correspondante, afin de réduire les risques de mise à niveau en production et d'améliorer la sécurité et la fiabilité du système.
Pour la production, privilégiez les versions stables. Utilisez les versions Preview dans des environnements de test ou de canary lorsque vous devez valider à l'avance de nouvelles fonctionnalités, corrections ou évolutions de compatibilité, avec sauvegarde de base de données et plan de rollback avant mise à niveau.
À l'ère des applications AGI, MAX API se concentre sur une infrastructure ouverte de gouvernance des modèles IA et des AI Agents, afin de construire une couche de service, de gouvernance et d'exploitation permettant aux développeurs et organisations d'exécuter durablement applications IA et charges Agent :
- Plan de gouvernance des modèles : gestion unifiée des entrées de modèles, canaux, fournisseurs, protocoles, mappings, règles tarifaires, protocoles de tâches et interfaces multimodales.
- Plan de contrôle AgentOps : ne remplace pas les frameworks d'orchestration Agent ; fournit au niveau passerelle la gouvernance des jetons, le contrôle d'accès aux modèles, les journaux d'appel, le suivi des coûts, le diagnostic d'anomalies et l'analyse opérationnelle.
- Plan de configuration des canaux : réduit les risques de mauvaise configuration grâce aux matrices de capacités, validations de formulaires, découverte de modèles et modèles de protocole.
- Couche d'adaptation protocoles/fournisseurs : suit les API officielles internationales, les plateformes de modèles chinoises et les API OpenAI-compatible / non standard, puis les normalise en interfaces applicatives stables.
- Gouvernance coût, quota et fiabilité : routage de canaux, distribution pondérée, retry, limitation, préfacturation, remboursement d'échec, facturation par expression, prix fixes, rate-cards de tâches, multiplicateurs et statistiques d'usage.
- Gouvernance performance et scalabilité : cache Redis / mémoire, limitation des requêtes modèles, timeouts streaming, tampons pour grandes réponses, limites de corps de requête, cache disque, profiling Pyroscope et arrêt gracieux pour les déploiements mono ou multi-nœuds.
- Couche d'exploitation et d'audit organisationnelle : utilisateurs, groupes, déploiement privé, rétention des données, audit et optimisation continue.
- Modèles de gouvernance réutilisables : capitalisation des templates de canaux, protocoles de tâches, configurations de prix, pratiques de déploiement et retours d'exploitation.
MAX API place l'exécution des modèles IA et des AI Agents dans un cadre configurable, observable, calculable et auditable.
| Objet gouverné | Capacités MAX API | Objectif |
|---|---|---|
| Actifs modèles | Listes de modèles, mappings, groupes, restrictions, règles de prix et gestion multimodale | Savoir quels modèles existent, qui peut les utiliser, comment ils sont facturés et comment les basculer |
| Canaux amont | Fournisseurs, poids, groupes, état, clés, Base URL, overrides de chemins, matrice de capacités, validation, découverte et retry | Réduire les risques d'indisponibilité, hausse de prix, limites, erreurs de configuration ou changements d'API |
| Formats de protocole | OpenAI Compatible, Responses, Claude Messages, Gemini, Realtime, protocole vidéo générique et conversions | Donner aux applications des interfaces stables plutôt que les exposer aux différences de fournisseurs |
| Jetons Agent | API Key, groupes de jetons, périmètre de modèles, quotas, expiration et contrôle d'accès | Fournir aux Agents et workflows des identifiants indépendants, révocables et limitables |
| Usage et coûts | Journaux, statistiques, facturation par expression, JSON par paliers, rate-card de tâches, préfacturation et remboursements | Attribuer les coûts par utilisateur, groupe, jeton, modèle, canal et nœud |
| Tâches asynchrones | Soumission, polling, mapping d'état, proxy de résultat et facturation de tâches vidéo | Gouverner les tâches multimodales longues, multi-états et multi-fournisseurs |
| Audit et sécurité | Audit admin, journaux d'erreurs, limites de requêtes, timeout streaming, login et permissions | Fournir une frontière d'audit contrôlée en déploiement privé et contexte conforme |
| Exploitation organisationnelle | Utilisateurs, groupes, solde, paiement, paramètres système, tableaux de bord et configuration ops | Soutenir l'exploitation continue d'équipes, institutions, entreprises ou communautés |
- Plateforme interne de gouvernance des modèles IA : gestion centralisée des utilisateurs, jetons, modèles, canaux, groupes, permissions, prix et factures.
- Socle d'exécution et de gouvernance Agent : passerelle de modèles, isolation des jetons, contrôle des coûts, observabilité, diagnostic et audit pour Agents, workflows et outils.
- Centre d'adaptation modèles chinois et multi-fournisseurs : suivi des API et prix, réduction du coût d'adaptation via configuration de canaux, mappings, overrides de chemins et templates de protocole.
- Plateforme de gouvernance multimodale : accès unifié au texte, image, vidéo, audio, embeddings, rerank et temps réel, avec gestion d'état, proxy de résultat et facturation pour les tâches asynchrones.
- Comptabilité des coûts modèles et Agents : quotas, calcul de coûts, statistiques de facturation et analyse par utilisateur, jeton, modèle, canal et groupe.
- Environnement privé et conforme : pour les équipes ou organisations qui doivent maîtriser clés, données, permissions, journaux, audit et stratégie tarifaire.
SQLite est utilisé par défaut ; aucun service de base de données externe n'est requis pour un essai local.
Warning
SQLite est réservé à l'évaluation locale, au développement et aux tests à petite échelle. Son utilisation est déconseillée en production : les requêtes concurrentes, les déploiements multi-instances, les volumes importants de journaux ou de données d'usage, les migrations, les opérations de sauvegarde/restauration et les transactions longues peuvent provoquer des contentions de verrouillage, des écritures bloquées, des migrations lentes ou en échec, ainsi que des problèmes de disponibilité ou de maintenance des données. En production, utilisez MySQL ≥ 5.7.8 ou PostgreSQL ≥ 9.6 avec un plan fiable de sauvegarde et de restauration.
# 1. Récupérer l'image
docker pull cscitechtop/max-api:latest
# 2. Lancer le service et persister les données dans ./data
docker run --name max-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
cscitechtop/max-api:latest
# 3. Ouvrir la console
# Navigateur : http://localhost:3000Pour la production, utilisez Docker Compose et configurez explicitement base de données, Redis, secret de session, secret de chiffrement et répertoire de journaux.
git clone https://github.com/MAX-API-Next/MAX-API.git
cd MAX-API
# Modifier docker-compose.yml selon les mots de passe et variables nécessaires
docker compose up -dWarning
Si vous exploitez ce projet comme service public d'IA générative ou service API, finalisez d'abord les autorisations amont, obligations réglementaires, sécurité de contenu, vérification d'identité, conservation des journaux, fiscalité, paiement et conditions utilisateur.
| Capacité | Description |
|---|---|
| Entrée modèle unifiée | Prend en charge OpenAI-compatible, Responses, Claude Messages, Gemini, Realtime et d'autres protocoles via une passerelle unique |
| Pool multi-fournisseurs | OpenAI, Azure, Claude, Gemini, AWS Bedrock, Vertex AI, Ollama, et suivi/adaptation de DeepSeek, Qwen, Zhipu GLM, Kimi, Doubao, Hunyuan, ERNIE, iFlytek Spark, MiniMax, 01.AI, SiliconFlow, etc. |
| Adaptation de l'écosystème amont | Gouvernance des interfaces Codex, Dify, RAGFlow, Kling, Seedance et autres plateformes applicatives, Agent ou multimodales |
| Mapping et périmètre d'accès | Listes de modèles par canal, mappings, groupes utilisateur, groupes de jetons et restrictions de modèles |
| Matrice de capacités des canaux | Affiche chat/completions, responses, Claude Messages, Gemini native, embeddings, images, audio, rerank, video tasks, model discovery |
| Validation des canaux | Vérifie API Key, modèles, Base URL, configuration JSON, région Vertex AI, identifiants Codex, découverte de modèles et placeholders vidéo |
| Gouvernance multimodale | Chat, image, vidéo, audio, embeddings, rerank, temps réel, et gestion des tâches asynchrones vidéo |
| Protocole vidéo générique | Configure soumission, requête, progression, mapping d'état, erreur et chemins de résultats ; le passthrough et les réécritures du corps utilisent les paramètres de canal existants ; chemins par défaut /v1/videos/create et /v1/videos/{task_id} |
| Conversion protocolaire et amonts personnalisés | Conversions OpenAI Compatible, Responses, Chat Completions, Claude Messages, Gemini, ainsi que URL amont autorisées, overrides et règles de parsing de tâches |
| Capacité | Description |
|---|---|
| Isolation des jetons Agent | Créer des API Key indépendantes pour Agents, workflows, plugins, appels d'outils ou utilisateurs |
| Contrôle d'accès modèle | Contrôler modèles, canaux et quota par utilisateur, jeton, groupe, restriction de modèle et politique de canal |
| Observabilité de chaîne d'appels | Journaux, statistiques, canal touché, latence, erreurs et retries pour diagnostiquer les Agents |
| Attribution des coûts | Statistiques par modèle, canal, utilisateur, groupe, jeton et nœud |
| Audit administrateur | Audit côté admin en déploiement privé ; les API de journaux utilisateur filtrent les champs réservés aux administrateurs |
| Tableau de bord ops | Analyses, gestion utilisateurs, gestion canaux, paramètres système et analyse d'exploitation |
Expressions de prix des modèles
- Une expression = une règle complète de tarification token : paliers, cache hit, tokens image/audio, remises horaires et majorations dynamiques peuvent être décrits en une ligne.
- Le prix correspond au prix réel : les coefficients peuvent représenter directement des dollars par million de tokens ;
p * 2.5signifie 2,5 USD par million de tokens d'entrée. Le mode multiplicateur historique reste compatible. - Édition visuelle + brute : saisie guidée ou édition directe de l'expression, avec modèles prédéfinis.
- Maintenance JSON unifiée :
Tiered billing JSONmaintient plusieurs{ enabled, expr }et met à jourbilling_modeetbilling_exprde manière atomique. - Normalisation automatique des tokens : sépare cache, image, audio et autres sous-catégories pour éviter la double facturation.
Facturation des tâches et fiabilité
- Rate-card paramétrée pour tâches asynchrones vidéo, avec prix selon modèle,
vendor, durée, qualité, audio, entrée vidéo, etc.task_billing_setting.rate_cardspeut séparer Sora, Veo, Seedance, Kling et autres fournisseurs. - Compatible avec facturation à l'usage, par appel, cache hit, multiplicateurs de modèle, groupe et canal.
- Préfacturation, remboursement d'échec, traitement d'exceptions et journaux de consommation.
- Routage pondéré, retry, contournement des canaux désactivés et routage par modèle.
- Cache Redis et mémoire pour déploiement mono ou multi-nœud.
| Capacité | Description |
|---|---|
| Cache et extension multi-nœud | Déploiement mono-nœud avec cache mémoire, multi-nœud avec Redis ; les caches utilisateur, jeton, affinité de canal et quota réduisent les lectures répétées en base, tandis que SESSION_SECRET, CRYPTO_SECRET et NODE_NAME gardent sessions, chiffrement et attribution des journaux cohérents |
| Limitation et protection de capacité | Limites globales API / Web, limites d'endpoints critiques, recherche, requêtes modèles et quotas par groupe ; compteurs via Redis ou mémoire |
| Streaming et grandes requêtes | STREAMING_TIMEOUT, STREAM_SCANNER_MAX_BUFFER_MB, MAX_REQUEST_BODY_MB, MAX_FILE_DOWNLOAD_MB contrôlent longs flux, grandes lignes SSE, corps décompressés et téléchargements distants |
| Réglage des connexions relais | RELAY_TIMEOUT, RELAY_IDLE_CONN_TIMEOUT, RELAY_MAX_IDLE_CONNS et RELAY_MAX_IDLE_CONNS_PER_HOST configurent timeouts et pool HTTP amont |
| Cache disque et observabilité | Les paramètres de performance peuvent activer le cache disque pour grands corps, définir seuil et capacité ; les endpoints ops peuvent inspecter / nettoyer ce cache, et Pyroscope collecte CPU, mémoire, goroutines, mutex et block profiles |
| Arrêt gracieux et persistance | SHUTDOWN_TIMEOUT_SECONDS et QUOTA_DATA_CACHE_SAVE_TIMEOUT_SECONDS aident à fermer HTTP et sauvegarder le cache quota avant sortie quand c'est possible |
- JWT, WebAuthn/Passkeys, OAuth, OIDC, Telegram, Discord, LinuxDO et autres méthodes de connexion.
- Contrôle des administrateurs, utilisateurs, groupes, jetons et accès modèles.
- Limites de taille de requête, timeout streaming, journaux d'erreurs et health checks.
- Secret de session, secret de chiffrement et cache Redis partagé en multi-nœud.
| Dimension | SDK / API officiels en direct | Via la passerelle MAX API |
|---|---|---|
| Accès modèles | Un SDK, une auth et des paramètres par fournisseur | Entrée unique, intégration unique, réutilisation multi-modèles |
| Gouvernance modèles | Modèles, prix, permissions et canaux dispersés | Gestion unifiée des modèles, canaux, mappings, groupes, quotas et prix |
| Accès Agent | Les Agents détiennent directement les clés amont | Jetons indépendants avec limites de modèles, quota, expiration et groupe |
| Différences de protocole | L'application adapte Claude, Gemini, Responses, etc. | La passerelle convertit les protocoles et adapte les fournisseurs |
| Échecs | Retry, fallback et normalisation d'erreurs côté application | Retry de canaux, routage pondéré et traitement d'erreurs intégrés |
| Performance et extension | L'application gère timeouts, limites, pools de connexions et cache | La passerelle centralise timeouts streaming, limites de requêtes, cache Redis / mémoire, réglage de pool et observabilité |
| Coûts | Factures dispersées, attribution difficile | Quotas, facturation, statistiques et journaux unifiés par jeton et modèle |
| Audit | Journaux applicatifs dispersés | Entrée d'audit admin unifiée, filtrage des champs admin pour utilisateurs |
| Privé | Clés, journaux et stratégie tarifaire dispersés | Auto-hébergement et contrôle des clés, données, journaux et politiques |
MAX API utilise une architecture en couches : les requêtes des applications, SDK ou Agents entrent par une interface unifiée, passent par routeur, middleware, contrôleurs et services métier, puis sont adaptées par la couche relay vers le fournisseur amont. La couche données et cache assure persistance et accélération pour gouvernance de modèles, jetons Agent, facturation, journaux, audit et état des tâches.
flowchart LR
Client[Client / SDK / Agent] --> Router[Router<br/>Routage]
Router --> MW[Middleware<br/>Auth · Limite · Dispatch · Logs]
MW --> Ctrl[Controller<br/>Handlers]
Ctrl --> Svc[Service<br/>Gouvernance modèles · AgentOps · Audit facturation]
Svc --> Relay[Relay<br/>Proxy / Conversion]
Relay --> Adapters[Adaptateurs de canaux<br/>OpenAI · Claude · Gemini · Plateformes chinoises · Amonts personnalisés]
Adapters --> Upstream[(Services de modèles amont)]
Svc --> Model[Model<br/>GORM]
Model --> DB[(SQLite · MySQL · PostgreSQL)]
Svc --> Cache[(Redis · Cache mémoire)]
| Répertoire | Rôle |
|---|---|
router/ |
Routage HTTP : API, relay, dashboard et web |
controller/ |
Handlers, parsing des paramètres, entrées métier authentifiées et réponses |
service/ |
Logique métier : modèles, AgentOps, journaux, facturation, audit, tâches, canaux et configuration |
model/ |
Modèles de données et accès DB via GORM, compatible SQLite, MySQL, PostgreSQL |
relay/ |
Relay API IA, conversion de protocoles et adaptation fournisseur |
relay/channel/ |
Adaptateurs openai, claude, gemini, aws, etc. |
middleware/ |
Auth, limitation, CORS, logs, distribution de requêtes et contexte |
setting/ |
Prix modèles, facturation tâches, opérations, système, sécurité et performance |
common/ |
Utilitaires JSON, chiffrement, Redis, limitation et variables d'environnement |
dto/ / types/ |
Types de requêtes, réponses, erreurs et formats relay |
constant/ |
Types d'API, types de canaux et clés de contexte |
i18n/ / oauth/ / pkg/ |
i18n backend, OAuth et packages internes |
web/ |
Conteneur du frontend ; thème par défaut dans web/default/ |
| Couche | Technologie |
|---|---|
| Backend | Go 1.25+, Gin, GORM v2 |
| Frontend | React 19, TypeScript, Rsbuild, Base UI, Tailwind CSS |
| Gestion de paquets | Bun workspace |
| Base de données | SQLite / MySQL ≥ 5.7.8 / PostgreSQL ≥ 9.6 |
| Cache | Redis + cache mémoire |
| Authentification | JWT, WebAuthn/Passkeys, OAuth, OIDC |
Les modèles réellement disponibles dépendent de vos autorisations amont, de la configuration des canaux, des mappings et du support fournisseur. MAX API gouverne ces capacités, mais ne fournit pas les services de modèles amont.
| Type | Description |
|---|---|
| OpenAI-Compatible | Chat Completions, Embeddings, Images, Audio et interfaces compatibles |
| OpenAI Responses | Requêtes Responses, relay et conversion compatible Responses ↔ Chat Completions |
| Claude Messages | Conversion Claude Messages ↔ format OpenAI-compatible |
| Google Gemini | Chat, texte et conversion compatible /v1/responses |
| Azure OpenAI | Azure OpenAI et Realtime |
| AWS Bedrock | Accès Bedrock Runtime |
| Plateformes et applications amont | AWS, Azure, Vertex, Ollama, Codex, Dify, RAGFlow, Kling, Seedance, etc. |
| Modèles et plateformes chinoises | DeepSeek, Qwen / Alibaba Cloud Model Studio, Zhipu GLM, Kimi, Doubao / Volcano Engine, Tencent Hunyuan, Baidu ERNIE / Qianfan, iFlytek Spark, MiniMax, 01.AI, SiliconFlow, etc. |
rerank |
Modèles Cohere, Jina et autres pour RAG et chaînes de recherche Agent |
| Midjourney / Suno / Dify | Adaptateurs image, musique et workflow |
| API de tâches vidéo | /v1/videos/create, /v1/videos/{task_id} : soumission, passthrough du corps ou overrides de paramètres, polling, mapping d'état, proxy de résultat et facturation paramétrée |
| Amonts personnalisés | URL autorisées, règles d'adaptation, conversion Responses / Chat, overrides, mapping d'état, chemin d'erreur et parsing de résultat |
Voir les catégories
- Chat :
/v1/chat/completions - Responses :
/v1/responses - Images :
/v1/images/* - Audio :
/v1/audio/* - Vidéo :
/v1/videos/* - Embeddings :
/v1/embeddings - Rerank :
/v1/rerank - Realtime : interface compatible OpenAI Realtime
- Claude Messages : entrée native Claude
- Gemini : entrée format Google Gemini
Voir des exemples de noms de modèles
o3-mini-high,o3-mini-medium,o3-mini-lowgpt-5-high,gpt-5-medium,gpt-5-lowclaude-3-7-sonnet-20250219-thinkinggemini-2.5-flash-thinking,gemini-2.5-flash-nothinking,gemini-2.5-pro-thinking,gemini-2.5-pro-thinking-128- Les suffixes
-low,-medium,-highpeuvent aussi contrôler l'effort de raisonnement Gemini.
- Après le déploiement, ouvrez la console et créez ou confirmez le compte administrateur.
- Configurez paramètres système, inscription, méthodes de connexion et limites de sécurité.
- Ajoutez les canaux amont avec API Key autorisée, Base URL, modèles, mappings et paramètres.
- Configurez groupes utilisateurs, groupes de jetons, restrictions de modèles, quotas et règles de prix.
- Créez des jetons indépendants pour applications, Agents ou workflows avec périmètre et quota.
- Configurez retry, journaux, cache et statistiques de consommation.
- Pour l'audit de contenu côté admin, activez « System Settings → Security & Limits → Log Audit » en contexte conforme, et vérifiez que « Record quota usage (Log Maintenance) » est activé.
À la création ou modification d'un canal, le système affiche une matrice de capacités et des résultats de validation. Les noms techniques restent en anglais (chat/completions, responses, embeddings, rerank, video tasks) et les descriptions expliquent les usages.
La validation couvre notamment : API Key manquante, liste de modèles vide, Base URL ou configuration requise absente, Base URL terminée par /v1, JSON non objet, région Vertex AI sans default, clé de service invalide, identifiants Codex incomplets, découverte de modèles non supportée, ou chemin de requête vidéo sans {task_id}, {operation_name} ou {upstream_task_id}.
Les fournisseurs vidéo diffèrent souvent par chemins, task ID, état, progression, erreurs et URL de résultat. MAX API généralise cette capacité aux canaux OpenAI, Ali, Gemini, MiniMax, Vertex AI, VolcEngine, Kling, Jimeng, Vidu, Doubao Video, Sora, etc.
- Override de chemins uniquement : configurer
submit_pathetquery_pathtout en conservant le parseur officiel du canal. - Parsing complet : définir
task_protocol = "generic_video_task"et configurer task ID, état, progression, URL de résultat, erreur et mapping d'état. - Traitement du corps : le protocole vidéo générique ne définit plus de mode de génération du corps séparé. Utilisez
Pass Through Bodyau niveau du canal pour transmettre le JSON client tel quel, etParam Overridepour les réécritures, valeurs par défaut ou coordinations de headers.
Chemins par défaut :
{
"task_protocol": "generic_video_task",
"task_protocol_config": {
"submit_path": "/v1/videos/create",
"query_path": "/v1/videos/{task_id}",
"task_id_path": "task_id",
"status_path": "status",
"progress_path": "progress",
"result_url_paths": ["result.primary_url", "result.urls.0", "data.result.primary_url", "url", "video_url", "download_url"],
"error_message_path": "error_message",
"status_map": { "queued": "QUEUED", "running": "IN_PROGRESS", "succeeded": "SUCCESS", "failed": "FAILURE" }
}
}Les chemins de requête prennent en charge {task_id}, {operation_name} et {upstream_task_id}. {operation_name} peut conserver des chemins multi-segments pour Gemini / Vertex. Le contenu vidéo peut être proxyfié via /v1/videos/{task_id}/content afin de masquer le domaine amont, avec authentification, protection SSRF et ports autorisés.
- Tiered billing JSON : maintient plusieurs règles
{ enabled, expr }et synchronisebilling_mode/billing_expr. - Task rate-card JSON : maintient
task_billing_setting.rate_cardspour les tâches asynchrones, avec partitionvendorpour Sora, Veo, Seedance, Kling, etc.
Les modèles vidéo comme Seedance 2.0 peuvent utiliser la résolution, l'entrée vidéo et d'autres paramètres de requête dans les multiplicateurs ou les rate-cards. Avec le passthrough ou les overrides de paramètres, gardez les champs finaux envoyés en amont alignés avec les champs de facturation.
{
"model-name": {
"enabled": true,
"expr": "len <= 200000 ? tier(\"standard\", p * 3 + c * 15) : tier(\"long_context\", p * 6 + c * 22.5)"
}
}{
"vendor/model-name": {
"vendor": "kling",
"unit": "second",
"quantity_field": "duration",
"default_quantity": 5,
"strict": true,
"defaults": { "quality": "std", "has_audio": "false" },
"rows": [{ "id": "std_no_audio", "match": { "quality": "std", "has_audio": "false" }, "unit_price": 0.6 }]
}
}| Fonction | Description |
|---|---|
| Gestion des canaux | Fournisseurs, mappings, poids, clés, chemins, état, matrice et validation |
| Modèles et prix | Modèles, prix, expressions, JSON par paliers, rate-cards et affichage |
| Gestion des jetons | Jetons pour applications, Agents, workflows, outils ou utilisateurs |
| Gestion utilisateurs | Utilisateurs, groupes, soldes, permissions et états |
| Journaux d'usage | Appels, consommation, latence, erreurs, canaux et audit visible admin |
| Paramètres système | Sécurité, audit, prix, tâches, opérations, logs, paiement et site |
| Tableau de bord | Requêtes, usage modèles, consommation, état canaux et coûts des jetons Agent |
| Composant | Exigence |
|---|---|
| Moteur conteneur | Docker / Docker Compose |
| Base locale | SQLite, uniquement pour l'évaluation locale, le développement ou les tests à petite échelle ; monter /data avec Docker |
| Base de production | MySQL ≥ 5.7.8 ou PostgreSQL ≥ 9.6 avec un plan fiable de sauvegarde et de restauration |
| Cache | Mémoire en mono-nœud, Redis recommandé en multi-nœud |
| Build frontend | Bun workspace, conserver web/package.json et web/bun.lock |
| Build source | Utiliser la version de Go déclarée dans go.mod (actuellement Go 1.25.1+) avec go.sum ; après une mise à jour de dépendances ou de sécurité, exécuter go mod download, go mod verify, puis reconstruire |
Voir les variables courantes
| Variable | Description | Défaut |
|---|---|---|
SESSION_SECRET |
Secret de session, requis en multi-nœud | - |
CRYPTO_SECRET |
Secret de chiffrement, requis avec Redis ou multi-nœud | - |
SQL_DSN |
Chaîne de connexion DB | - |
REDIS_CONN_STRING |
Chaîne Redis | - |
STREAMING_TIMEOUT |
Timeout streaming en secondes | 300 |
STREAM_SCANNER_MAX_BUFFER_MB |
Buffer max par ligne pour streaming | 64 |
MAX_REQUEST_BODY_MB |
Taille max du body décompressé | 32 |
AZURE_DEFAULT_API_VERSION |
Version API Azure par défaut | 2025-04-01-preview |
ERROR_LOG_ENABLED |
Activation des journaux d'erreurs | false |
NODE_NAME |
Nom du nœud pour logs multi-nœuds et attribution des règlements de tâches asynchrones | - |
PYROSCOPE_URL |
URL Pyroscope | - |
PYROSCOPE_APP_NAME |
Nom d'application Pyroscope | max-api |
PYROSCOPE_BASIC_AUTH_USER |
Utilisateur Basic Auth | - |
PYROSCOPE_BASIC_AUTH_PASSWORD |
Mot de passe Basic Auth | - |
PYROSCOPE_MUTEX_RATE |
Taux mutex | 5 |
PYROSCOPE_BLOCK_RATE |
Taux block | 5 |
HOSTNAME |
Label hôte | max-api |
git clone https://github.com/MAX-API-Next/MAX-API.git
cd MAX-API
# Modifier mots de passe, secrets et proxy HTTPS selon besoin
docker compose up -ddocker run --name max-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
cscitechtop/max-api:latestdocker run --name max-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(mysql:3306)/max-api" \
-e TZ=Asia/Shanghai \
-v ./data:/data \
cscitechtop/max-api:latestgit clone https://github.com/MAX-API-Next/MAX-API.git
cd MAX-API
docker build -t cscitechtop/max-api:latest .Note
Dockerfile télécharge les modules Go pendant la construction de l'image. Pour une construction locale ou après une mise à jour de dépendances / sécurité, conservez go.mod et go.sum ensemble, exécutez go mod download && go mod verify, puis reconstruisez le binaire ou l'image ; utilisez docker build --pull --no-cache -t cscitechtop/max-api:latest . lorsque les images de base doivent être rafraîchies.
Tip
Le frontend utilise Bun workspace. Conservez web/package.json, web/bun.lock et web/default/package.json, sinon les dépendances catalog: ne seront pas résolues.
Warning
- Tous les nœuds doivent partager
SESSION_SECRET. - Avec Redis partagé, tous les nœuds doivent partager
CRYPTO_SECRET. - Définissez un
NODE_NAMEstable pour identifier les nœuds dans les logs, l'audit et les règlements de tâches asynchrones. - En production, utilisez DB externe, Redis externe, HTTPS et sauvegardes fiables.
- Approfondissement de la gouvernance des modèles : catalogue, prix, permissions, mappings, tags de capacités et changements fournisseurs.
- Approfondissement AgentOps : chaînes d'appels, attribution des coûts, diagnostic, outils et services MCP-style.
- Gouvernance multimodale : facturation, limitation, suivi d'état et proxy de résultats pour image, vidéo, audio et temps réel.
- Conversions de protocoles : OpenAI Compatible, Responses, Claude Messages, Gemini et autres.
- Suivi des modèles et plateformes chinoises : API, prix, protocoles, canaux, prix et tâches réutilisables.
- Templates fournisseurs : overrides, protocoles, mapping d'état, parsing d'erreurs et résultats.
- Audit et opérations : chaînes de requêtes, coûts, erreurs, audit admin, rétention et rapports.
- Opérations organisationnelles : multi-tenant, groupes, facturation, permissions, contrôle des risques et déploiement privé.
Les demandes et suggestions sont bienvenues dans GitHub Issues.
MAX API fournit-il des services de modèles ou des clés API ?
Non. MAX API est une couche de gouvernance de passerelle. Il ne fournit pas de comptes, clés, entraînement ou services de modèles amont.
Quel est le lien avec les frameworks Agent ?
MAX API ne remplace pas Dify, LangChain, MCP Server, moteurs de workflow ou applications Agent. Il se place entre eux et les modèles amont pour gérer accès, jetons, coûts, routage, logs et audit.
Pourquoi parler de gouvernance de modèles IA ?
Dans une organisation, un modèle implique fournisseur, prix, contexte, protocole, permissions, fiabilité et audit. MAX API unifie configuration, observation et calcul.
Quelles bases de données sont supportées ?
SQLite, MySQL ≥ 5.7.8 et PostgreSQL ≥ 9.6. SQLite convient aux essais ; MySQL ou PostgreSQL est recommandé en production.
Peut-on migrer depuis New API / One API ?
Les principales structures sont compatibles. Sauvegardez la base et vérifiez canaux, multiplicateurs, utilisateurs, jetons et journaux en environnement de test.
Points d'attention en multi-nœud ?
Utilisez le même SESSION_SECRET partout ; avec Redis partagé, utilisez aussi le même CRYPTO_SECRET.
Réponses image, streaming ou grosses réponses tronquées ?
Augmentez STREAM_SCANNER_MAX_BUFFER_MB.
Requête trop grande avec 413 ?
Ajustez MAX_REQUEST_BODY_MB, calculé après décompression.
Les utilisateurs voient-ils les contenus d'audit admin ?
Les API de journaux utilisateur filtrent les champs réservés admin. Les administrateurs système ou DB peuvent toujours accéder aux données, donc les permissions doivent être strictement contrôlées.
Pourquoi Docker signale des dépendances `catalog:` non résolues ?
Le frontend utilise Bun workspace ; catalog: est défini dans web/package.json. Ne remplacez pas ce fichier par web/default/package.json et conservez web/bun.lock.
| Projet | Description |
|---|---|
| One API | Licence MIT |
| New API | Licence AGPLv3 |
| Midjourney-Proxy | Licence Apache-2.0 |
| Suno API | Licence MIT |
| Projet | Description |
|---|---|
| max-api-key-tool | Outil de consultation de quota de clés |
| max-api-horizon | Édition MAX API optimisée hautes performances |
| Ressource | Lien |
|---|---|
| Documentation officielle | MAX-API-Next/MAX-API |
| Signalement | GitHub Issues |
| Dernières versions | Releases |
| DeepWiki | Ask DeepWiki |
Si vous développez une version dérivée de ce projet pour votre propre usage, vous pouvez afficher clairement la source du projet ou un remerciement à la communauté sur la page d'accueil, dans le pied de page ou sur la page « À propos », en choisissant l'une des options suivantes :
- Ajouter le lien du projet : MAX-API-Next/MAX-API
- Remercier la communauté : MAX-API-Next
Exemple de code d'intégration frontend (React / Tailwind CSS ; conservez l'un ou l'autre élément selon vos besoins) :
<p className='text-sm text-muted-foreground'>
Développé à partir de{' '}
<a
href='https://github.com/MAX-API-Next/MAX-API'
target='_blank'
rel='noopener noreferrer'
className='font-medium underline underline-offset-4'
>
MAX-API-Next/MAX-API
</a>{' '}
· Merci à la{' '}
<a
href='https://github.com/MAX-API-Next'
target='_blank'
rel='noopener noreferrer'
className='font-medium underline underline-offset-4'
>
communauté MAX-API-Next
</a>
</p>En respectant l'une des exigences d'affichage ci-dessus et en maintenant le lien clairement visible, vous obtenez automatiquement une licence commerciale temporaire pour ce projet, sans demande ni approbation supplémentaire. Cette licence n'est pas permanente et reste valable uniquement tant que l'exigence d'affichage est respectée. Sa période de validité et toute modification ultérieure sont régies par le dernier avis publié dans ce README ou par la communauté officielle.
Ce projet est développé à partir de One API et de New API. À ce stade, MAX API s'appuie sur ces bases pour renforcer ses capacités de passerelle d'API d'IA et de gouvernance, enrichir ses fonctionnalités et corriger les anomalies. Toute utilisation commerciale doit également respecter la licence MIT de One API et la licence AGPLv3 de New API, conformément au fichier LICENSE actuellement publié par chaque projet en amont. La licence commerciale temporaire fournie par ce projet ne remplace ni ne supprime aucune obligation liée aux licences open source des projets en amont.
Si l'exigence d'affichage n'est plus respectée, ou si la licence temporaire expire, est modifiée ou prend fin par avis, vous devez respecter l'AGPLv3 ou obtenir une autorisation écrite distincte. Pour une licence commerciale à long terme, contactez : maxapi@max-api.ai.
Contributions de code, documentation, expériences d'adaptation fournisseur et pratiques de déploiement sont bienvenues.
Ce projet est sous GNU Affero General Public License v3.0 (AGPLv3).
Outre la licence AGPLv3 par défaut, les projets dérivés à usage propre qui respectent les conditions « Développements dérivés et remerciements à la communauté » ci-dessus reçoivent automatiquement la licence commerciale temporaire et non permanente qui y est décrite. Cette licence temporaire ne couvre que les ajouts et modifications que les responsables du projet MAX API sont en droit de concéder ; elle n'inclut ni ne remplace les licences des projets en amont tels que One API et New API.
Si vous modifiez le projet et le fournissez aux utilisateurs via le réseau, comprenez et respectez les obligations AGPLv3 de disponibilité du code source. Pour coopération commerciale, institutionnelle ou autres questions de licence : maxapi@max-api.ai.
Si ce projet vous aide, pensez à lui donner une ⭐ Star.
Documentation officielle • Issues • Releases
Built with ❤️ by MAX-API-Next
