...You configure the client (often via environment variables or system properties), then build parameter objects (e.g. ChatCompletionCreateParams) and invoke methods like client.chat().completions().create(...) to send requests in a type-safe way. The library also supports streaming APIs, where the response arrives in chunks, using helpers like ChatCompletionAccumulator to accumulate partial responses into a full object. For complex use cases (e.g. structured outputs, function calling), it provides schema support, JSON annotations, and schema validation.