These Java examples are real runnable files. Edit the source file first; this page is rebuilt from the checked-in example and its metadata header.
Java Text To Speech
Generates speech audio through OpenAI.
- Provider:
openai - Env:
OPENAI_API_KEY,OPENAI_APIKEY - Level:
beginner - Run:
npm run example -- java src/examples/java/audio/SpeechAudioExample.java - Source: src/examples/java/audio/SpeechAudioExample.java
import dev.axllm.ax.*;
import java.nio.file.*;
import java.util.*;
import java.util.Base64;
public final class SpeechAudioExample {
static String apiKey() {
String apiKey = System.getenv("OPENAI_API_KEY");
if (apiKey == null || apiKey.isBlank()) apiKey = System.getenv("OPENAI_APIKEY");
if (apiKey == null || apiKey.isBlank()) {
throw new IllegalStateException("Set OPENAI_API_KEY or OPENAI_APIKEY to run this example.");
}
return apiKey;
}
static OpenAIResponsesClient client() {
return new OpenAIResponsesClient(
Map.of("api_key", apiKey(), "model", System.getenv().getOrDefault("AX_OPENAI_MODEL", "gpt-5.4-mini"), "model_config", Map.of("temperature", 0.0)));
}
public static void main(String[] args) throws Exception {
OpenAIResponsesClient audio = client();
Map<String, Object> speech = audio.speak(Map.of("text", "Ax turns LLM prompts into typed programs.", "voice", "alloy", "format", "mp3"));
System.out.println(Json.stringify(Map.of("format", speech.get("format"), "audioBytesBase64", String.valueOf(speech.get("audio")).length())));
}
}Java Speech To Text
Transcribes a checked-in WAV file through OpenAI.
- Provider:
openai - Env:
OPENAI_API_KEY,OPENAI_APIKEY - Level:
intermediate - Run:
npm run example -- java src/examples/java/audio/TranscribeAudioExample.java - Source: src/examples/java/audio/TranscribeAudioExample.java
import dev.axllm.ax.*;
import java.nio.file.*;
import java.util.*;
import java.util.Base64;
public final class TranscribeAudioExample {
static String apiKey() {
String apiKey = System.getenv("OPENAI_API_KEY");
if (apiKey == null || apiKey.isBlank()) apiKey = System.getenv("OPENAI_APIKEY");
if (apiKey == null || apiKey.isBlank()) {
throw new IllegalStateException("Set OPENAI_API_KEY or OPENAI_APIKEY to run this example.");
}
return apiKey;
}
static OpenAIResponsesClient client() {
return new OpenAIResponsesClient(
Map.of("api_key", apiKey(), "model", System.getenv().getOrDefault("AX_OPENAI_MODEL", "gpt-5.4-mini"), "model_config", Map.of("temperature", 0.0)));
}
public static void main(String[] args) throws Exception {
OpenAIResponsesClient audio = client();
String wav = Base64.getEncoder().encodeToString(Files.readAllBytes(Path.of("src/examples/assets/presentation.wav")));
Map<String, Object> transcript = audio.transcribe(Map.of("audio", wav, "language", "en", "model", "gpt-4o-mini-transcribe", "format", "json"));
System.out.println(Json.stringify(transcript));
}
}Java Audio Summary Pipeline
Transcribes audio and summarizes the transcript with an OpenAI-backed generator.
- Provider:
openai - Env:
OPENAI_API_KEY,OPENAI_APIKEY - Level:
advanced - Run:
npm run example -- java src/examples/java/audio/PipelineAudioExample.java - Source: src/examples/java/audio/PipelineAudioExample.java
import dev.axllm.ax.*;
import java.nio.file.*;
import java.util.*;
import java.util.Base64;
public final class PipelineAudioExample {
static String apiKey() {
String apiKey = System.getenv("OPENAI_API_KEY");
if (apiKey == null || apiKey.isBlank()) apiKey = System.getenv("OPENAI_APIKEY");
if (apiKey == null || apiKey.isBlank()) {
throw new IllegalStateException("Set OPENAI_API_KEY or OPENAI_APIKEY to run this example.");
}
return apiKey;
}
static OpenAIResponsesClient client() {
return new OpenAIResponsesClient(
Map.of("api_key", apiKey(), "model", System.getenv().getOrDefault("AX_OPENAI_MODEL", "gpt-5.4-mini"), "model_config", Map.of("temperature", 0.0)));
}
public static void main(String[] args) throws Exception {
OpenAIResponsesClient audio = client();
String wav = Base64.getEncoder().encodeToString(Files.readAllBytes(Path.of("src/examples/assets/presentation.wav")));
Map<String, Object> transcript = audio.transcribe(Map.of("audio", wav, "language", "en", "model", "gpt-4o-mini-transcribe", "format", "json"));
AxGen summarize = Ax.ax("transcript:string -> summary:string, followUps:string[]");
Map<String, Object> result = summarize.forward(new OpenAICompatibleClient(Map.of("api_key", apiKey(), "model", System.getenv().getOrDefault("AX_OPENAI_MODEL", "gpt-5.4-mini"), "model_config", Map.of("temperature", 0.0))), Map.of("transcript", transcript.get("text")));
System.out.println(Json.stringify(Map.of("transcript", transcript.get("text"), "result", result)));
}
}