Skip to main content

Container Files API

Manage files within Code Interpreter containers. Files are created automatically when code interpreter generates outputs (charts, CSVs, images, etc.).

tip

Looking for how to use Code Interpreter? See the Code Interpreter Guide.

FeatureSupported
Cost Trackingโœ…
Loggingโœ…
Supported Providersopenai

Endpointsโ€‹

EndpointMethodDescription
/v1/containers/{container_id}/filesGETList files in container
/v1/containers/{container_id}/files/{file_id}GETGet file metadata
/v1/containers/{container_id}/files/{file_id}/contentGETDownload file content
/v1/containers/{container_id}/files/{file_id}DELETEDelete file

LiteLLM Python SDKโ€‹

List Container Filesโ€‹

list_container_files.py
from litellm import list_container_files

files = list_container_files(
container_id="cntr_123...",
custom_llm_provider="openai"
)

for file in files.data:
print(f" - {file.id}: {file.filename}")

Async:

alist_container_files.py
from litellm import alist_container_files

files = await alist_container_files(
container_id="cntr_123...",
custom_llm_provider="openai"
)

Retrieve Container Fileโ€‹

retrieve_container_file.py
from litellm import retrieve_container_file

file = retrieve_container_file(
container_id="cntr_123...",
file_id="cfile_456...",
custom_llm_provider="openai"
)

print(f"File: {file.filename}")
print(f"Size: {file.bytes} bytes")

Download File Contentโ€‹

retrieve_container_file_content.py
from litellm import retrieve_container_file_content

content = retrieve_container_file_content(
container_id="cntr_123...",
file_id="cfile_456...",
custom_llm_provider="openai"
)

# content is raw bytes
with open("output.png", "wb") as f:
f.write(content)

Delete Container Fileโ€‹

delete_container_file.py
from litellm import delete_container_file

result = delete_container_file(
container_id="cntr_123...",
file_id="cfile_456...",
custom_llm_provider="openai"
)

print(f"Deleted: {result.deleted}")

LiteLLM AI Gateway (Proxy)โ€‹

List Filesโ€‹

list_files.py
from openai import OpenAI

client = OpenAI(
api_key="sk-1234",
base_url="http://localhost:4000"
)

files = client.containers.files.list(
container_id="cntr_123..."
)

for file in files.data:
print(f" - {file.id}: {file.filename}")

Retrieve File Metadataโ€‹

retrieve_file.py
from openai import OpenAI

client = OpenAI(
api_key="sk-1234",
base_url="http://localhost:4000"
)

file = client.containers.files.retrieve(
container_id="cntr_123...",
file_id="cfile_456..."
)

print(f"File: {file.filename}")
print(f"Size: {file.bytes} bytes")

Download File Contentโ€‹

download_content.py
from openai import OpenAI

client = OpenAI(
api_key="sk-1234",
base_url="http://localhost:4000"
)

content = client.containers.files.content(
container_id="cntr_123...",
file_id="cfile_456..."
)

with open("output.png", "wb") as f:
f.write(content.read())

Delete Fileโ€‹

delete_file.py
from openai import OpenAI

client = OpenAI(
api_key="sk-1234",
base_url="http://localhost:4000"
)

result = client.containers.files.delete(
container_id="cntr_123...",
file_id="cfile_456..."
)

print(f"Deleted: {result.deleted}")

Parametersโ€‹

List Filesโ€‹

ParameterTypeRequiredDescription
container_idstringYesContainer ID
afterstringNoPagination cursor
limitintegerNoItems to return (1-100, default: 20)
orderstringNoSort order: asc or desc

Retrieve/Delete Fileโ€‹

ParameterTypeRequiredDescription
container_idstringYesContainer ID
file_idstringYesFile ID

Response Objectsโ€‹

ContainerFileObjectโ€‹

ContainerFileObject
{
"id": "cfile_456...",
"object": "container.file",
"container_id": "cntr_123...",
"bytes": 12345,
"created_at": 1234567890,
"filename": "chart.png",
"path": "/mnt/data/chart.png",
"source": "code_interpreter"
}

ContainerFileListResponseโ€‹

ContainerFileListResponse
{
"object": "list",
"data": [...],
"first_id": "cfile_456...",
"last_id": "cfile_789...",
"has_more": false
}

DeleteContainerFileResponseโ€‹

DeleteContainerFileResponse
{
"id": "cfile_456...",
"object": "container.file.deleted",
"deleted": true
}

Supported Providersโ€‹

ProviderStatus
OpenAIโœ… Supported