Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 2.02 KB

File metadata and controls

51 lines (34 loc) · 2.02 KB

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