How to call Explain with a NEST SearchDescriptor object?

I'm running a search calling Nest's SearchAsync with a SearchDescriptor object. I want to be able to reuse that SearchDescriptor object in a call to the Explain API with a particular document id, to see why that doc was/wasn't a result of the search. I'm happy to use .LowLevel.ExplainAsync, but that seems to only take a json string representation of the search. How can I pass in the SearchDescriptor or serialize the SearchDescriptor to use as post data, or something similar?