Vuncloud Blog
← Retour aux Dev Notes

GitHub Models API : appel, quotas gratuits, limites et bonnes pratiques (2026)

Auth PAT · endpoint OpenAI-compatible · rate limits gratuits · GitHub Actions · pay-as-you-go & BYOK · migration shutdown~12 min

Développeur appelant GitHub Models API dans le terminal, écran affichant code et requête d'inférence de modèle IA

Important : GitHub Models a été entièrement retiré le 30 juillet 2026

Selon la documentation officielle GitHub, le Playground, le catalogue de modèles, l'API d'inférence et le BYOK sont tous hors ligne — un service distinct de GitHub Copilot. Cet article reste une archive technique complète pour référence de migration ; si vous avez encore du code pointant vers models.github.ai, passez directement à la section migration en fin d'article.

« Appeler GPT-4o avec un simple compte GitHub ? Sans carte bancaire ? »

À la fin de 2024, GitHub a lancé GitHub Models et de nombreux développeurs l'ont adopté comme « bac à sable LLM sans coût » : un PAT, un point de terminaison compatible OpenAI, et vous pouviez exécuter scripts, CLI et GitHub Actions. Cela a vraiment abaissé la barrière du prototypage IA — mais la couche gratuite avait des limites de débit strictes, GitHub ne le recommandait pas pour la production, et le service a duré moins longtemps que beaucoup ne l'avaient prévu.

Ce guide couvre en un seul endroit comment appeler l'API GitHub Models, comment fonctionnaient les quotas gratuits, les pièges à éviter et où aller après le retrait. Même si le service a disparu, comprendre sa conception reste utile pour choisir d'autres plateformes d'inférence.

Compatible OpenAI
Spécification chat/completions — changez base_url dans votre SDK
150/jour
Plafond quotidien de requêtes pour modèles de faible complexité (niveau de base)
models:read
Permission PAT ou GITHUB_TOKEN Actions requise

1. Qu'est-ce que GitHub Models

GitHub Models était l'API d'inférence IA et le Playground de GitHub, permettant d'appeler des modèles multi-éditeurs avec des identifiants GitHub plutôt que des clés API distinctes par fournisseur. Caractéristiques principales :

  • Catalogue de modèles : OpenAI (GPT-4o, GPT-4.1, etc.), Meta Llama, DeepSeek, Microsoft Phi, et plus — tous référencés au format unifié publisher/model_name
  • Compatible OpenAI : les points de terminaison suivent la spécification chat/completions — les configurations OpenAI SDK / LangChain existantes pouvaient basculer avec peu de changements
  • Intégration native GitHub : déclarez models: read dans un workflow Actions et le token intégré pouvait appeler les modèles
  • Facturation par paliers : couche gratuite pour l'expérimentation ; pay-as-you-go ou BYOK (apportez votre propre clé fournisseur) au-delà des limites

C'était une ligne de produit distincte de GitHub Copilot : Copilot cible l'assistance au codage dans l'IDE ; Models visait l'intégration de LLM dans vos propres applications, scripts ou pipelines CI. Après le retrait, GitHub recommande Azure AI Foundry pour les catalogues de modèles et Copilot pour les workflows IA dans GitHub.

2. Authentification : PAT et périmètres

L'appel à l'API d'inférence nécessitait des identifiants GitHub — deux approches :

Personal Access Token (scripts locaux / serveur)

  1. Ouvrez GitHub → Settings → Developer settings → Personal access tokens
  2. Créez un PAT Fine-grained ou Classic, en activant models:read (Classic affiche le scope models)
  3. Envoyez dans l'en-tête de requête : Authorization: Bearer ghp_xxxx

Conseils de sécurité

  • Stockez les PAT dans des variables d'environnement ou un gestionnaire de secrets — ne les commitez jamais dans un dépôt
  • Pour les PAT Fine-grained, limitez aux dépôts nécessaires et définissez une date d'expiration
  • En CI, préférez GITHUB_TOKEN aux PAT de longue durée pour réduire le risque de fuite

Token intégré GitHub Actions

Après déclaration des permissions dans le workflow, le GITHUB_TOKEN du runner obtenait automatiquement models:read — aucun secret supplémentaire requis :

permissions:
  contents: read
  models: read   # débloque l'inférence GitHub Models

3. Modes d'appel API

Point de terminaison principal : https://models.github.ai/inference/chat/completions. Format d'ID de modèle : {publisher}/{model_name}, par ex. openai/gpt-4o, meta/llama-3.3-70b-instruct.

3.1 Appel direct curl

Exemple de requête minimale (pendant que le service était actif) :

curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer YOUR_GITHUB_PAT" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Content-Type: application/json" \
  https://models.github.ai/inference/chat/completions \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      {"role": "user", "content": "Expliquez l'API GitHub Models en trois phrases"}
    ]
  }'

La structure de réponse correspond à OpenAI chat/completions : choices[0].message.content est la sortie du modèle. Prend en charge le streaming stream: true, temperature, max_tokens et les autres paramètres standard.

3.2 SDK OpenAI Python / JS

Le protocole étant compatible, il suffisait de changer base_url et api_key :

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["GITHUB_TOKEN"],
    base_url="https://models.github.ai/inference/",
)

completion = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[
        {"role": "system", "content": "Vous êtes un assistant technique concis"},
        {"role": "user", "content": "Quelle est la différence entre GitHub Models et Copilot ?"},
    ],
)
print(completion.choices[0].message.content)

Les frameworks supportant une URL de base OpenAI personnalisée — LangChain, Vercel AI SDK, et autres — avaient un coût de migration tout aussi faible. C'était une raison clé de la diffusion rapide de GitHub Models dans la communauté open source.

3.3 Intégration GitHub Actions

Cas d'usage typiques : résumés automatiques de PR, classification d'issues, génération de changelog. Squelette de workflow complet :

name: AI Triage
on:
  issues:
    types: [opened]

permissions:
  issues: write
  models: read

jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
      - name: Classify issue with LLM
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          curl -s https://models.github.ai/inference/chat/completions \
            -H "Content-Type: application/json" \
            -H "Authorization: Bearer $GITHUB_TOKEN" \
            -d '{
              "model": "openai/gpt-4o-mini",
              "messages": [{
                "role": "user",
                "content": "Classez l'Issue suivante en bug/feature/question : ..."
              }]
            }'

Les organisations pouvaient aussi contrôler quels dépôts et quels membres accédaient à Models via une politique — utile pour standardiser l'usage IA en équipe sans partager de clés API fournisseur.

3.4 Consultation du catalogue de modèles

Lister les modèles disponibles :

curl -L \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer YOUR_GITHUB_PAT" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://models.github.ai/catalog/models

Retourne les métadonnées par modèle : éditeur, fenêtre de contexte, support du streaming, etc. Consultez d'abord le catalogue lors du choix des modèles, puis croisez avec le tableau de limites ci-dessous — les modèles relèvent de paliers de complexité différents avec des limites très variables.

Développeur examinant les données de réponse API et les journaux de limites de débit pour diagnostiquer des appels GitHub Models
Quand la couche gratuite renvoie 429, vérifiez d'abord quelle limite RPM/RPD est atteinte, puis décidez de mettre en file d'attente ou de passer au payant

4. Quotas gratuits et limites de débit

Tant qu'il a existé, l'API gratuite GitHub Models était en aperçu public — GitHub précisait que les limites pouvaient évoluer. La couche gratuite n'était pas illimitée ; elle était bridée sur quatre dimensions :

  • Requêtes par minute (RPM)
  • Requêtes par jour (RPD)
  • Plafond de tokens par requête (entrée / sortie comptées séparément)
  • Requêtes concurrentes

Les limites variaient aussi selon votre niveau d'abonnement GitHub Copilot. Le tableau ci-dessous montre les valeurs de référence de la documentation officielle GitHub (Copilot Free vs Enterprise) :

Palier de modèle Indicateur Free Pro Pro+ Enterprise
Faible complexité
GPT-4o-mini, Llama 3, etc.
Par minute 15 15 15 20
Par jour 150 150 300 450
Tokens par requête 8 000 entrée + 4 000 sortie (sortie Enterprise 8 000)
Concurrence 5 5 5 8
Haute complexité
GPT-4o, GPT-4.1, etc.
Par minute 10 10 10 15
Par jour 50 50 100 150
Tokens par requête 8 000 entrée + 4 000 sortie 16 000 entrée + 8 000 sortie
Concurrence 2 2 2 4
Embedding Par minute 15 15 15 20
Par jour 150 150 300 450
Tokens par requête 64 000
Concurrence 5 5 5 8
Modèles de raisonnement
DeepSeek-R1, Grok-3, etc.
Par minute ~1–2
Par jour ~8–15
Tokens par requête ~4 000 entrée + 4 000 sortie
Concurrence 1

Comment lire le tableau

  • Les limites quotidiennes frappent en premier : les comptes gratuits n'avaient que 50 appels GPT-4o par jour — les traitements par lots épuisent vite le quota
  • Les modèles de raisonnement sont extrêmement serrés : les modèles type DeepSeek-R1 n'autorisaient qu'une poignée de requêtes par jour — adaptés aux tests occasionnels, pas à un usage régulier
  • Après un 429, attendez la réinitialisation : la limite atteinte détermine la fenêtre d'attente (minute ou jour)
  • Couche gratuite ≠ licence de production : positionnement officiel = prototypage — pas de SLA, pas de capacité dédiée garantie

À la mi-2025, GitHub a ouvert deux voies au-delà des limites gratuites :

Pay-as-you-go

  • Opt-in au pay-as-you-go dans la facturation org / personnelle (désactivé par défaut)
  • Unité de facturation : token unit à 0,00001 $ / unité
  • Différents modèles ont des multiplicateurs : les tokens d'entrée GPT-4o portent un multiplicateur de 0,25 — coût effectif proche du tarif OpenAI direct
  • Débloque des RPM/RPD plus élevés, des fenêtres de contexte plus larges et plus de concurrence

Bring Your Own Key (BYOK)

  • Liez votre propre clé OpenAI ou Azure AI — l'usage est comptabilisé sur votre compte fournisseur
  • Les membres de l'équipe ne voient jamais la vraie clé API ; GitHub l'héberge de façon sécurisée
  • Même schéma d'usage que les modèles hébergés par GitHub dans Playground, Actions et flux d'évaluation

Le pay-as-you-go et le BYOK convenaient aux équipes déjà dans l'écosystème GitHub souhaitant une facturation / des permissions unifiées. Si vous n'avez besoin que du débit API brut, aller directement aux fournisseurs est souvent plus simple — voir le Guide tarifs & choix de modèles LLM.

6. Bonnes pratiques

1. Connaître son scénario : expérimentation oui, production non

La couche gratuite convenait le mieux à : prototypes de side projects personnels, démos d'Actions open source, comparaison de sorties de modèles, et aides CI à faible fréquence (ex. suggestions de titres de PR). Inadaptée pour : produits de chat orientés utilisateurs, backends à fort QPS, ou chemins sensibles à la latence.

2. Routage par palier de modèle

Orientez les requêtes selon la complexité : utilisez des modèles de faible complexité (GPT-4o-mini, Llama plus petit) pour classification / résumé simples ; appelez GPT-4o ou DeepSeek-R1 seulement quand vous avez vraiment besoin de qualité de raisonnement. Les comptes gratuits n'avaient que 50 appels GPT-4o par jour — en abuser et c'est fini pour la journée.

3. Contrôler le budget de tokens

Le plafond par requête était de 8K entrée + 4K sortie. Résumez les longs documents avant le raisonnement ; gardez les prompts système concis ; définissez max_tokens pour éviter une sortie incontrôlée. L'embedding autorisait 64K, mais les traitements en masse frappaient quand même les limites quotidiennes de requêtes.

4. Gérer le 429 proprement

Implémentez une nouvelle tentative avec backoff exponentiel ; distinguez RPM (attendre 60 secondes) de RPD (attendre le lendemain ou passer au payant) ; utilisez des sémaphores pour rester dans les limites de concurrence (5 pour faible complexité, 2 pour haute).

5. GITHUB_TOKEN dans Actions ; PAT à courte durée en local

Zéro configuration en CI ; PAT Fine-grained avec expiration pour le dev local. Ne loguez jamais les tokens dans la sortie du workflow — utilisez -s avec curl et évitez set -x qui affiche l'en-tête Authorization.

6. Abstraire la couche d'inférence pour faciliter la migration

Centralisez base_url, model et api_key dans des variables d'environnement ou un objet de configuration. Avec GitHub Models retiré, cette abstraction compte encore plus — le même code peut pointer vers OpenAI, Azure AI Foundry ou une passerelle auto-hébergée.

7. Migration après retrait (à partir du 30-07-2026)

Voies de remplacement officielles de GitHub :

Votre besoin Remplacement recommandé Notes de migration
Catalogue multi-modèles + inférence entreprise Azure AI Foundry Le plus proche du positionnement original de GitHub Models pour le choix de modèles et l'échelle hébergée
Workflows IA dans GitHub (PR, Issues) GitHub Copilot IDE / revue de PR / mode Agent — pas une API brute
Compatible OpenAI, coût de migration minimal OpenAI API Remettez base_url à https://api.openai.com/v1 et changez la clé API
Appels LLM en CI Actions + secrets fournisseur Supprimez models: read ; utilisez OPENAI_API_KEY ou secrets similaires

Checklist de migration à changement minimal :

  1. Recherche globale de models.github.ai et listez toutes les références
  2. Remplacez base_url et l'authentification par votre nouveau fournisseur
  3. Mettez à jour les ID de modèle (ex. openai/gpt-4ogpt-4o, selon le format du fournisseur)
  4. Supprimez les permissions: models: read obsolètes des workflows
  5. Réévaluez limites de débit et facturation — l'illusion de la couche gratuite a disparu ; planifiez selon les quotas de votre nouvelle plateforme

FAQ

L'API GitHub Models est-elle encore disponible ?

Non. Entièrement retirée à partir du 30 juillet 2026 — tous les points de terminaison sont hors ligne.

Comment s'authentifier ?

PAT avec models:read, ou déclarez models: read dans Actions et utilisez GITHUB_TOKEN.

Quel était le quota gratuit ?

Faible complexité : ~15 RPM / 150 RPD ; haute complexité : ~10 RPM / 50 RPD ; modèles de raisonnement plus stricts. Augmentait avec le niveau Copilot.

Était-elle compatible avec l'API OpenAI ?

Oui — chat/completions. SDK : définissez base_url sur https://models.github.ai/inference/.

La couche gratuite pouvait-elle être utilisée en production ?

Non. Positionnement officiel = expérimentation — pas de SLA, limites de débit strictes.

Conclusion

Comment appeler l'API GitHub Models ? En une phrase : auth PAT + point de terminaison compatible OpenAI + limites de débit par palier de modèle — c'était un raccourci sans barrière pour essayer des modèles, mais les requêtes quotidiennes de la couche gratuite allaient de quelques unités à quelques centaines — jamais une solution de production.

Le service a disparu, mais les leçons restent : utiliser des protocoles compatibles pour réduire le coût de migration, déclarer des permissions minimales en CI, et abstraire la couche d'inférence en configuration interchangeable. Prochaine étape : nettoyez models.github.ai de votre code et choisissez Azure AI Foundry, OpenAI direct ou Copilot selon le scénario — pour une comparaison plus large, consultez le Guide tarifs & choix de modèles LLM.

Un agent LLM doit lancer des builds Xcode ? Associez-le à un nœud d'exécution Cloud Mac stable

Les API de modèles ont évolué, mais les environnements de build macOS restent. Le Mac mini M4 dédié Vuncloud permet à CI / Agents de faire tourner TestFlight toute la nuit sans coupure.

Voir les forfaits Cloud Mac · Guide tarifs & choix de modèles LLM

Les limites et informations de retrait sont basées sur la documentation officielle GitHub Models. Dernière mise à jour : 31 juillet 2026.

Dev Notes · API IA

Shutdown GitHub Models · migration inférence · exécution Cloud Mac

Appels OpenAI-compatibles · limites gratuites · Actions · Azure AI Foundry

Voir les forfaits Cloud Mac
Offre limitée Voir les forfaits