Choisir des fournisseurs d'exécution pour une requête API
Utilisez l'objet fournisseur ShareAI pour sélectionner des fournisseurs d'exécution indépendamment du créateur d'un modèle sur les quatre points de terminaison d'inférence.
Sur cette page
Définissez model à l'identifiant exact basé sur le créateur. Ajouter provider lorsque vous souhaitez restreindre ou classer l'infrastructure éligible pour exécuter la requête. L'omission utilise la politique par défaut, classée par prix croissant.
Utiliser un seul fournisseur#
cURL
curl --fail-with-body --request POST \
"https://api.shareai.now/api/v1/chat/completions" \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"provider": {
"only": [
"shareai"
],
"allow_fallbacks": false
},
"model": "openai/gpt-5.4",
"messages": [
{
"role": "user",
"content": "Explain model routing in one sentence."
}
]
}'
Python
import json
import os
import urllib.request
headers = {"Authorization": "Bearer " + os.environ["SHAREAI_API_KEY"]}
headers["Content-Type"] = "application/json"
payload = {'provider': {'only': ['shareai'], 'allow_fallbacks': False}, 'model': 'openai/gpt-5.4', 'messages': [{'role': 'user', 'content': 'Explain model routing in one sentence.'}]}
data = json.dumps(payload).encode()
request = urllib.request.Request('https://api.shareai.now/api/v1/chat/completions', data=data, headers=headers, method='POST')
with urllib.request.urlopen(request, timeout=60) as response:
print(json.load(response))
TypeScript
const url = "https://api.shareai.now/api/v1/chat/completions";
const headers: Record = {
Authorization: `Bearer ${process.env.SHAREAI_API_KEY}`,
};
headers["Content-Type"] = "application/json";
const payload = {
"provider": {
"only": [
"shareai"
],
"allow_fallbacks": false
},
"model": "openai/gpt-5.4",
"messages": [
{
"role": "user",
"content": "Explain model routing in one sentence."
}
]
};
const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) });
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());
Utilisez les balises de fournisseur affichées pour le modèle sélectionné. only est une restriction stricte : autoriser les solutions de repli ne permet jamais un fournisseur en dehors de cette liste.
Appliquer la même politique sur chaque point de terminaison d'inférence#
| Point de terminaison | Champ principal d'entrée | Choisissez un modèle qui prend en charge |
|---|---|---|
/api/v1/chat/completions | messages | Complétion de chat |
/api/v1/responses | input | Réponses |
/api/v1/embeddings | input | Incorporations |
/api/v1/images/generations | prompt | Génération d'images |
La politique des fournisseurs a la même signification sur ces points de terminaison. Les capacités des modèles et des fournisseurs diffèrent : un modèle de chat n'est pas automatiquement un modèle d'intégration ou d'image. Copiez un identifiant éligible pour l'opération depuis le catalogue ; les points de terminaison natifs nécessitent une prise en charge configurée.
Privilégier les fournisseurs nommés#
JSON
{
"provider": {
"order": [
"PROVIDER_A",
"PROVIDER_B"
],
"allow_fallbacks": false,
"sort": {
"by": "price",
"direction": "asc"
}
}
}
Remplacer PROVIDER_A et PROVIDER_B avec de vraies balises de fournisseur en minuscules. Avec cette liste ordonnée et les solutions de repli désactivées, seuls les fournisseurs listés sont éligibles, dans cet ordre. Le deuxième fournisseur listé peut encore être sélectionné si le premier est indisponible.
Conserver les restrictions des identifiants#
Votre requête peut restreindre les modèles et fournisseurs autorisés par une clé API. Elle ne peut pas accorder d'accès en dehors de ces permissions. Le consentement OAuth, l'éligibilité à la facturation et la disponibilité des appareils continuent de s'appliquer.
Suivant#
Chaque champ fournisseur · Ordre de tri et comportement des solutions de repli
Dernière mise à jour le 16 septembre 2026