Describe the Bug
Adding DataContent (such as image) to chat message does not actually get appended to Grok request
Steps to Reproduce
[SecretsFact("XAI_API_KEY")]
public async Task GrokImage()
{
var messages = new List<ChatMessage>();
var image = new DataContent(File.ReadAllBytes(@"C:\temp\xai.png"), "image/png");
var chatMessage = new ChatMessage(ChatRole.User, [new TextContent("Tell me what you see in the image"),image]);
messages.Add(chatMessage);
var chat = new GrokClient(Configuration["XAI_API_KEY"]!).AsIChatClient("grok-4")
.AsBuilder()
.UseLogging(output.AsLoggerFactory())
.Build();
var options = new GrokChatOptions
{
ModelId = "grok-4-fast-non-reasoning",
AdditionalProperties = new()
{
}
};
var response = await chat.GetResponseAsync(messages, options);
output.WriteLine(response.Messages.Select(x => x.Text).Last());
}
Expected Behavior
Grok detects the image
Exception with Stack Trace
Put the exception with stack trace here.
Version Info
Latest source code / v1.0 on nuget both affected
Additional Info
Adding something like this to GrokChatClient seems to fix it, though this is probably more to it.
if (content is DataContent dataContent)
{
gmsg.Content.Add(new Content { ImageUrl = new ImageUrlContent() { ImageUrl = $"data:{dataContent.MediaType};base64,{dataContent.Base64Data}" }});
}


Describe the Bug
Adding
DataContent(such as image) to chat message does not actually get appended to Grok requestSteps to Reproduce
Expected Behavior
Grok detects the image
Exception with Stack Trace
Version Info
Latest source code / v1.0 on nuget both affected
Additional Info
Adding something like this to
GrokChatClientseems to fix it, though this is probably more to it.