There is now an official ConnectRPC implementation for Rust: connect-rust. Connect is an RPC protocol from Buf, defined with protobuf like gRPC. A call is a plain HTTP POST with a JSON or protobuf body:
curl --json '{"sentence": "I feel happy."}' \
https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/Say
# {"sentence":"Good, tell me more about these feelings."}With Connect, your API gets gRPC's typed schema and is as easy to use as JSON.
Anthropic runs connect-rust in production. It uses buffa under the hood, which is a Rust implementation of protobuf.
Background in Iain McGinniss's post.