Passer au contenu principal

Réponse

object
string
Toujours list.
data
array
Tableau d’objets modèle.Chaque modèle contient toujours :
  • id (string) : Identifiant du modèle
  • object (string) : model
  • created (integer) : Horodatage de création
  • owned_by (string) : Fournisseur du modèle
  • tokenlab.aliases (array) : Alias publics du même modèle
  • tokenlab.pricing (object) : Résumé public de tarification scalaire
  • tokenlab.capabilities (array) : Tags publics de capacité
  • tokenlab.max_input_tokens (number ou null) : Limite de contexte d’entrée lorsque disponible
  • tokenlab.max_output_tokens (number ou null) : Limite de sortie lorsque disponible
  • tokenlab.category (string) : Catégorie publique du modèle
  • tokenlab.pricing_unit (string) : Unité de tarification publique
  • tokenlab.has_complex_pricing (boolean) : Indique si la tarification a des dimensions propres au modèle
  • tokenlab.lifecycle (object) : étape du cycle de vie, dates de sortie/dépréciation, modèle de remplacement et source du badge latest
  • tokenlab.commercial (object) : politique de facturation utilisateur, raison de gratuité et échéance facultative
  • tokenlab.badges (array) : badges dérivés du cycle de vie et des métadonnées commerciales
Métadonnées de liste conditionnelles :
  • tokenlab.providers (array) : Fournisseurs publics lorsque disponibles
  • tokenlab.cache_pricing (object ou null) : Prix de prompt cache lorsque disponibles
  • tokenlab.pricing_summary (object ou null) : Renvoyé uniquement pour les modèles à tarification complexe
  • tokenlab.request_format_summary (object ou null) : Résumé léger de découverte non-chat avec public_operations, request_endpoint et request_endpoint_by_operation
  • tokenlab.agent_preferences (object) : Renvoyé uniquement lorsque recommended_for est présent
Les champs réservés au détail, comme tokenlab.capability_flags, tokenlab.supported_operations, tokenlab.pricing_provenance et tokenlab.request_format_details, ne sont renvoyés que par GET /v1/models/{model}.
GET /v1/models est optimisé pour la découverte. Les métadonnées réservées au détail, comme capability_flags, pricing_provenance et le request_format_details complet, se trouvent sur GET /v1/models/{model}.

Paramètres de requête

category
string
Filtre facultatif sur la catégorie publique. Prend en charge chat, image, video, audio, tts, stt, music, 3d, embedding, rerank et translation.
Scène de recommandation non-chat facultative. Prend en charge image, video, music, 3d, tts, stt, embedding, rerank et translation.
provider
string
Filtre facultatif par fournisseur, par exemple openai, anthropic, google ou deepseek.
tag
string
Filtre facultatif par tag de modèle, par exemple chat, image, video, embedding ou translation.
Lorsque recommended_for est présent, /v1/models trie les modèles non-chat selon le plus récent snapshot de taux de réussite sur 24 heures mis en cache. Les modèles avec status = "insufficient_samples" restent visibles mais sont classés après les modèles scorés.
curl "https://api.tokenlab.sh/v1/models" \
  -H "Authorization: Bearer sk-your-api-key"
curl "https://api.tokenlab.sh/v1/models?recommended_for=image" \
  -H "Authorization: Bearer sk-your-api-key"
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.tokenlab.sh/v1"
)

models = client.models.list()

for model in models.data:
    print(f"{model.id} ({model.owned_by})")
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-your-api-key',
  baseURL: 'https://api.tokenlab.sh/v1'
});

const models = await client.models.list();

for (const model of models.data) {
  console.log(`${model.id} (${model.owned_by})`);
}
package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.tokenlab.sh/v1/models", nil)
    req.Header.Set("Authorization", "Bearer sk-your-api-key")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()

    var payload struct {
        Data []struct {
            ID      string `json:"id"`
            OwnedBy string `json:"owned_by"`
        } `json:"data"`
    }

    json.NewDecoder(resp.Body).Decode(&payload)

    for _, model := range payload.Data {
        fmt.Printf("%s (%s)\n", model.ID, model.OwnedBy)
    }
}
<?php
$ch = curl_init('https://api.tokenlab.sh/v1/models');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer sk-your-api-key'
    ]
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
foreach ($data['data'] as $model) {
    echo "{$model['id']} ({$model['owned_by']})\n";
}
{
  "object": "list",
  "data": [
    {
      "id": "gpt-5.4",
      "object": "model",
      "created": 1706000000,
      "owned_by": "openai"
    },
    {
      "id": "claude-sonnet-4-6",
      "object": "model",
      "created": 1706000000,
      "owned_by": "anthropic"
    },
    {
      "id": "gemini-3.5-flash",
      "object": "model",
      "created": 1706000000,
      "owned_by": "google"
    }
  ]
}

Filtrage par fournisseur

# Obtenir tous les modèles OpenAI
openai_models = [m for m in models.data if m.owned_by == "openai"]

# Obtenir tous les modèles Anthropic
anthropic_models = [m for m in models.data if m.owned_by == "anthropic"]

Catégories de modèles

FournisseurExemples de modèles
openaigpt-5.4, gpt-5.4-mini, gpt-5-mini, gpt-4o, gpt-image-2
anthropicclaude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5
googlegemini-3.1-pro-preview, gemini-3.5-flash, gemini-2.5-pro
deepseekdeepseek-r1, deepseek-v3-2
xaigrok-4.1
moonshotkimi-k2.5
minimaxminimax-m3
metallama-3.3-70b, llama-3.1-405b

Exemple de recommandation d’agent

Response
{
  "object": "list",
  "data": [
    {
      "id": "gemini-2.5-flash-image",
      "object": "model",
      "created": 1706000000,
      "owned_by": "google",
      "tokenlab": {
        "category": "image",
        "pricing_unit": "per_request",
        "agent_preferences": {
          "image": {
            "preferred_rank": 1,
            "success_rate_24h": 0.98,
            "sample_count_24h": 423,
            "status": "ready",
            "updated_at": "2026-03-28T12:00:00.000Z",
            "basis": {
              "source": "recent_activity_24h"
            }
          }
        }
      }
    }
  ]
}

Suppression de modèle

DELETE /v1/models/{model} n’est pas pris en charge. Les modèles TokenLab sont un catalogue public partagé, pas des ressources de modèles fine-tuned appartenant à l’utilisateur.