Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Code Interpreter File Download (OpenAI)

This sample demonstrates how to download files generated by Code Interpreter when using the OpenAI Responses API.

What this sample demonstrates

  • Creating an agent with Code Interpreter tool using ResponsesClient.AsAIAgent()
  • Generating files through Code Interpreter (e.g., CSV, Excel, images)
  • Extracting container file citations from agent response annotations
  • Downloading container files using the ContainerClient API

Container files vs regular files

When Code Interpreter generates a file, the file is stored inside a container with a cntr_ prefixed ID. The file itself gets a cfile_ prefixed ID.

These container files cannot be downloaded using the standard Files API (GetOpenAIFileClient), which returns 404 for cfile_ IDs. Instead, you must use the Containers API (GetContainerClient) to download them:

// ❌ This does NOT work for container files
var filesClient = openAIClient.GetOpenAIFileClient();
await filesClient.DownloadFileAsync("cfile_...");  // Returns 404

// ✅ Use ContainerClient instead
var containerClient = openAIClient.GetContainerClient();
await containerClient.DownloadContainerFileAsync("cntr_...", "cfile_...");

The container ID and file ID are available from the ContainerFileCitationMessageAnnotation annotation in the response, accessible via CitationAnnotation.RawRepresentation.

Prerequisites

  • .NET 10 SDK or later
  • OpenAI API key with access to a model that supports Code Interpreter

Set the following environment variables:

$env:OPENAI_API_KEY="sk-..."
$env:OPENAI_CHAT_MODEL_NAME="gpt-4o-mini"  # Optional, defaults to gpt-4o-mini

Run the sample

dotnet run

See also