> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server. # nemo-relay-codecs > Provider request, response, and streaming codec implementations. Shared traits and normalized models live in `nemo-relay-types`. Generated from `cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`. Provider request, response, and streaming codec implementations. Shared traits and normalized models live in `nemo-relay-types`. ## Modules * [anthropic](/reference/api/rust-library-reference/nemo-relay-codecs/anthropic): Built-in codec for the Anthropic Messages API. * [gemini_generate_content](/reference/api/rust-library-reference/nemo-relay-codecs/gemini_generate_content): Built-in codec for the Gemini generateContent API. * [oci_genai](/reference/api/rust-library-reference/nemo-relay-codecs/oci_genai): Built-in codec for the Oracle Cloud Infrastructure (OCI) Generative AI chat API. * [openai_chat](/reference/api/rust-library-reference/nemo-relay-codecs/openai_chat): Built-in codec for the OpenAI Chat Completions API. * [openai_responses](/reference/api/rust-library-reference/nemo-relay-codecs/openai_responses): Built-in codec for the OpenAI Responses API. * [resolve](/reference/api/rust-library-reference/nemo-relay-codecs/resolve): Provider-surface detection, best-effort normalization, and construction of the matching built-in codecs from a raw payload, surface, or codec name. * [streaming](/reference/api/rust-library-reference/nemo-relay-codecs/streaming): Server-sent event framing for provider streams. > Provider request, response, and streaming codec implementations. Shared traits and normalized models live in `nemo-relay-types`. ## Docs - [Module anthropic](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/anthropic.md): Built-in codec for the Anthropic Messages API. - [Struct Anthropic Messages Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/anthropic/struct-anthropicmessagescodec.md): Built-in codec for the Anthropic Messages API. - [Struct Anthropic Messages Streaming Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/anthropic/struct-anthropicmessagesstreamingcodec.md): Streaming counterpart to `AnthropicMessagesCodec`. - [Module gemini_generate_content](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/gemini_generate_content.md): Built-in codec for the Gemini generateContent API. - [Struct Gemini Generate Content Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/gemini_generate_content/struct-geminigeneratecontentcodec.md): Built-in codec for the Gemini generateContent API. - [Struct Gemini Generate Content Streaming Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/gemini_generate_content/struct-geminigeneratecontentstreamingcodec.md): Streaming counterpart to `GeminiGenerateContentCodec`. - [Module oci_genai](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/oci_genai.md): Built-in codec for the Oracle Cloud Infrastructure (OCI) Generative AI chat API. - [Struct OCIGenAI Chat Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/oci_genai/struct-ocigenaichatcodec.md): Built-in codec for the OCI Generative AI chat API. - [Struct OCIGenAI Streaming Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/oci_genai/struct-ocigenaistreamingcodec.md): Streaming counterpart to `OCIGenAIChatCodec`. - [Module openai_chat](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/openai_chat.md): Built-in codec for the OpenAI Chat Completions API. - [Struct OpenAI Chat Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/openai_chat/struct-openaichatcodec.md): Built-in codec for the OpenAI Chat Completions API. - [Struct OpenAI Chat Streaming Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/openai_chat/struct-openaichatstreamingcodec.md): Streaming counterpart to `OpenAIChatCodec`. - [Module openai_responses](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/openai_responses.md): Built-in codec for the OpenAI Responses API. - [Struct OpenAI Responses Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/openai_responses/struct-openairesponsescodec.md): Built-in codec for the OpenAI Responses API. - [Struct OpenAI Responses Streaming Codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/openai_responses/struct-openairesponsesstreamingcodec.md): Streaming counterpart to `OpenAIResponsesCodec`. - [Module resolve](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve.md): Provider-surface detection, best-effort normalization, and construction of the matching built-in codecs from a raw payload, surface, or codec name. - [Struct Builtin LlmNormalizer](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/struct-builtinllmnormalizer.md): Stateless provider normalization, preserving usage and provider-reported costs. - [Enum Provider Surface](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/enum-providersurface.md): A built-in provider request/response surface. - [Function detect_request_surface](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-detect-request-surface.md): Detect the request surface from a raw request body by top-level key. - [Function detect_request_surface_with_hint](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-detect-request-surface-with-hint.md): Like `detect_request_surface`, but a recognized `provider_hint` resolves the one ambiguous shape (an Anthropic request without a top-level `system`, otherwise read as OpenAI Chat). Today, only the exact hints `"anthropic"` and `"anthropic.messages"` change detection; `None` or any other value is ignored and detection stays shape-only. - [Function detect_response_surface](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-detect-response-surface.md): Detect the response surface from a raw provider response, classifying only when exactly one built-in shape matches (the built-in codecs accept minimal objects, so decode success alone is not a reliable classifier). - [Function normalize_request](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-normalize-request.md): Best-effort decode of a raw request into `AnnotatedLlmRequest` (fail-open). - [Function normalize_request_with_hint](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-normalize-request-with-hint.md): Like `normalize_request`, but a recognized `provider_hint` can disambiguate provider request shapes that are otherwise identical. - [Function normalize_response](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-normalize-response.md): Best-effort decode of a raw response into `AnnotatedLlmResponse` (fail-open). - [Function request_codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-request-codec.md): Constructs the built-in bidirectional request codec (`LlmCodec`) for a surface. - [Function response_codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-response-codec.md): Constructs the built-in decode-only response codec (`LlmResponseCodec`) for a surface. - [Function streaming_codec](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-streaming-codec.md): Constructs a fresh, single-use streaming codec (`StreamingCodec`) for a surface. - [Function supported_codec_names](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/resolve/fn-supported-codec-names.md): The canonical codec names of every built-in provider surface, for config validation and "supported codec" messages. - [Module streaming](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/streaming.md): Server-sent event framing for provider streams. - [Struct SseEvent](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/streaming/struct-sseevent.md): One decoded SSE frame, paired with the parsed `data:` payload. - [Struct SseEvent Decoder](https://docs.nvidia.com/nemo/relay/dev/reference/api/rust-library-reference/nemo-relay-codecs/streaming/struct-sseeventdecoder.md): Incremental decoder for `text/event-stream` byte streams that yields one JSON object per complete `data:` payload.