curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "grok-4.7",
"input": "Explain what makes Grok 4.5 different in two sentences."
}
'import requests
url = "https://direct.evolink.ai/v1/responses"
payload = {
"model": "grok-4.7",
"input": "Explain what makes Grok 4.5 different in two sentences."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'grok-4.7',
input: 'Explain what makes Grok 4.5 different in two sentences.'
})
};
fetch('https://direct.evolink.ai/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'grok-4.7',
'input' => 'Explain what makes Grok 4.5 different in two sentences.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/responses"
payload := strings.NewReader("{\n \"model\": \"grok-4.7\",\n \"input\": \"Explain what makes Grok 4.5 different in two sentences.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"grok-4.7\",\n \"input\": \"Explain what makes Grok 4.5 different in two sentences.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"grok-4.7\",\n \"input\": \"Explain what makes Grok 4.5 different in two sentences.\"\n}"
response = http.request(request)
puts response.read_body{
"id": "55d44212-8d5e-90cc-975f-36d341ce21f5",
"object": "response",
"status": "completed",
"model": "grok-4.7",
"created_at": 1786538000,
"output": [
{
"id": "<string>",
"type": "message",
"status": "completed",
"content": [
{}
],
"encrypted_content": "<string>"
}
],
"usage": {
"input_tokens": 1692,
"output_tokens": 54,
"total_tokens": 1746,
"input_tokens_details": {
"cached_tokens": 512
},
"output_tokens_details": {
"reasoning_tokens": 35
}
}
}{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}API tous modèles Grok - Démarrage rapide Responses
- Appel des modèles de texte xAI Grok au format OpenAI Responses API (sélection du modèle via le paramètre
model) - Modèles de raisonnement et d’appel d’outils avec une fenêtre de contexte de 500K tokens
- Les outils côté serveur s’exécutent sur l’infrastructure xAI :
web_search,x_search,code_execution,attachment_searchetcollections_search. X Search est facturé selon les publications et profils récupérés ; les autres outils sont facturés par appel réussi. - Besoin des outils et de tous les paramètres ? Consultez la documentation complète des paramètres
- Selon la spécification officielle de xAI,
grok-4.7renvoie par défaut des élémentsreasoningcontenantencrypted_content; les champs effectivement présents dépendent de la route utilisée.
curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "grok-4.7",
"input": "Explain what makes Grok 4.5 different in two sentences."
}
'import requests
url = "https://direct.evolink.ai/v1/responses"
payload = {
"model": "grok-4.7",
"input": "Explain what makes Grok 4.5 different in two sentences."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'grok-4.7',
input: 'Explain what makes Grok 4.5 different in two sentences.'
})
};
fetch('https://direct.evolink.ai/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'grok-4.7',
'input' => 'Explain what makes Grok 4.5 different in two sentences.'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/responses"
payload := strings.NewReader("{\n \"model\": \"grok-4.7\",\n \"input\": \"Explain what makes Grok 4.5 different in two sentences.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"grok-4.7\",\n \"input\": \"Explain what makes Grok 4.5 different in two sentences.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"grok-4.7\",\n \"input\": \"Explain what makes Grok 4.5 different in two sentences.\"\n}"
response = http.request(request)
puts response.read_body{
"id": "55d44212-8d5e-90cc-975f-36d341ce21f5",
"object": "response",
"status": "completed",
"model": "grok-4.7",
"created_at": 1786538000,
"output": [
{
"id": "<string>",
"type": "message",
"status": "completed",
"content": [
{}
],
"encrypted_content": "<string>"
}
],
"usage": {
"input_tokens": 1692,
"output_tokens": 54,
"total_tokens": 1746,
"input_tokens_details": {
"cached_tokens": 512
},
"output_tokens_details": {
"reasoning_tokens": 35
}
}
}{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}https://direct.evolink.ai, qui offre une meilleure prise en charge des modèles de texte et des connexions persistantes. https://api.evolink.ai est le point d’accès principal pour les services multimodaux et sert d’adresse de secours pour les modèles de texte.Autorisations
##Toutes les API nécessitent une authentification Bearer Token##
Obtenir une clé API :
Visitez la Page de gestion des clés API pour obtenir votre clé API
Ajouter à l'en-tête de requête :
Authorization: Bearer YOUR_API_KEY
Corps
Modèle à appeler :
| ID du modèle | Positionnement |
|---|---|
grok-4.7 | Modèle xAI de raisonnement et d'appel d'outils ; contexte de 500K tokens ; prend en charge xhigh ; connaissances arrêtées à 2026-05 |
grok-4.6 | Modèle xAI de raisonnement et d'appel d'outils, fenêtre de contexte de 500K ; connaissances arrêtées au 2026-02-01 |
grok-4.5 | Modèle xAI de raisonnement et d'appel d'outils, fenêtre de contexte de 500K |
grok-4.7, grok-4.6, grok-4.5 "grok-4.7"
Texte d'entrée pour le modèle
"Explain what makes Grok 4.5 different in two sentences."
Réponse
Réponse générée avec succès
Identifiant unique de la réponse
"55d44212-8d5e-90cc-975f-36d341ce21f5"
Type de réponse
response "response"
Statut de la réponse
completed, incomplete, failed "completed"
Nom du modèle réellement utilisé
"grok-4.7"
Horodatage de création
1786538000
Éléments de sortie. Les modèles de raisonnement Grok renvoient généralement des éléments reasoning (résumé du raisonnement), suivis d'un élément message contenant la réponse finale.
Show child attributes
Show child attributes
Statistiques d'utilisation des tokens. À partir de 200K tokens dans le prompt, tous les types de tokens sont facturés au double.
Show child attributes
Show child attributes