Skip to content

Grok API Examples

使用 OpenAI SDK 访问grok模型的使用示例。

基础配置

在开始使用API之前,请确保您已经获取了API Key。如果还没有,请参考创建API Key

基础信息

  • API Base URL: https://api.agentsflare.com/v1
  • 认证方式: Bearer Token
  • 内容类型: application/json

请求示例

bash
curl -X POST "https://api.agentsflare.com/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4",
    "messages": [
      {
        "role": "user",
        "content": "Hello, how are you?"
      }
    ],
    "max_tokens": 100,
    "temperature": 0.7
  }'
python
from openai import OpenAI
url = "https://api.agentsflare.com/v1"

client = OpenAI(
    base_url=url,
    api_key="YOUR_API_KEY"
)

completion = client.chat.completions.create(
  model="grok-4",
  messages=[
    {"role": "user", "content": "You are a helpful assistant."}
  ]
)

print(completion.choices[0].message)
javascript

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.AGENTSFLARE_API_KEY, 
  baseURL: "https://api.agentsflare.com/v1"    
});

async function main() {
  try {
    const res = await client.chat.completions.create({
      model: "grok-4",
      messages: [{ role: "user", content: "Hello, how are you?" }],
      max_tokens: 100,
      temperature: 0.7
    });

    // 你也可以只取文本
    console.log(res.choices?.[0]?.message?.content);
    // 或打印完整响应
    // console.log(res);
  } catch (err) {
    // openai sdk 的错误对象里通常有更详细的 response
    console.error(err?.response?.data ?? err);
  }
}

main();
java
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
import com.openai.models.chat.completions.ChatCompletion;

public class Main {
  public static void main(String[] args) {
    String apiKey = System.getenv("AGENTSFLARE_API_KEY"); 
    if (apiKey == null || apiKey.isBlank()) {
      throw new IllegalStateException("Missing AGENTSFLARE_API_KEY env var");
    }

    OpenAIClient client = OpenAIOkHttpClient.builder()
        .apiKey(apiKey)
        .baseUrl("https://api.agentsflare.com/v1/")
        .build();

    ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
        .model("grok-4")
        .addMessage(ChatCompletionCreateParams.Message.builder()
            .role(ChatCompletionCreateParams.Message.Role.USER)
            .content("Hello, how are you?")
            .build())
        .maxTokens(100)
        .temperature(0.7)
        .build();

    ChatCompletion res = client.chat().completions().create(params);

    String content = res.choices().get(0).message().content();
    System.out.println(content);
  }
}
go
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	openai "github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	apiKey := os.Getenv("AGENTSFLARE_API_KEY") // 建议用环境变量
	if apiKey == "" {
		log.Fatal("missing env AGENTSFLARE_API_KEY")
	}

	client := openai.NewClient(
		option.WithAPIKey(apiKey),
		// 关键:把 SDK 的 base url 指向 agentsflare
		option.WithBaseURL("https://api.agentsflare.com/v1/"),
	)

	ctx := context.Background()

	resp, err := client.Chat.Completions.New(ctx, openai.ChatCompletionNewParams{
		Model: openai.F("grok-4"),
		Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
			openai.UserMessage("Hello, how are you?"),
		}),
		MaxTokens:   openai.F(int64(100)),
		Temperature: openai.F(0.7),
	})
	if err != nil {
		log.Fatalf("chat completion failed: %v", err)
	}

	// 打印回复文本
	if len(resp.Choices) > 0 && resp.Choices[0].Message.Content != "" {
		fmt.Println(resp.Choices[0].Message.Content)
	} else {
		fmt.Printf("empty response: %+v\n", resp)
	}
}
javascript
const { OpenAI } = require("openai");

const client = new OpenAI({
  apiKey: process.env.AGENTSFLARE_API_KEY, 
  baseURL: "https://api.agentsflare.com/v1"    
});

async function main() {
  try {
    const res = await client.chat.completions.create({
      model: "grok-4",
      messages: [{ role: "user", content: "Hello, how are you?" }],
      max_tokens: 100,
      temperature: 0.7
    });

    // 你也可以只取文本
    console.log(res.choices?.[0]?.message?.content);
    // 或打印完整响应
    // console.log(res);
  } catch (err) {
    // openai sdk 的错误对象里通常有更详细的 response
    console.error(err?.response?.data ?? err);
  }
}

main();

响应示例

{
    "id": "70495f59-c862-ed4d-32c0-b5095b5bc8e0",
    "object": "chat.completion",
    "created": 1768130093,
    "model": "grok-4-0709",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Hello! I'm doing great, thanks—always buzzing with curiosity and ready to chat. How about you? What's on your mind today?",
                "refusal": null
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 690,
        "completion_tokens": 27,
        "total_tokens": 856,
        "prompt_tokens_details": {
            "text_tokens": 690,
            "audio_tokens": 0,
            "image_tokens": 0,
            "cached_tokens": 679
        },
        "completion_tokens_details": {
            "reasoning_tokens": 139,
            "audio_tokens": 0,
            "accepted_prediction_tokens": 0,
            "rejected_prediction_tokens": 0
        },
        "num_sources_used": 0,
        "cost_in_usd_ticks": 30322500
    },
    "system_fingerprint": "fp_dd0aa291c6"
}

请求参数

参数详见Grok API Quickstart

本文档遵循 CC BY-SA 4.0 协议。