File Operations

AI Dev Kit provides comprehensive file management operations for working with AI provider storage.

Available Operations

Upload Operations

// Upload generic file
await Api.OpenAI.UploadFile(file).ExecuteAsync();

// Upload image
await Api.OpenAI.UploadImage(texture).ExecuteAsync();

// Upload audio
await Api.OpenAI.UploadAudio(audioClip).ExecuteAsync();

// Upload screenshot
await Api.OpenAI.UploadScreenshot().ExecuteAsync();

Management Operations

// List files
var files = await Api.OpenAI.ListFiles().ExecuteAsync();

// Download file
var fileData = await Api.OpenAI.DownloadFile(fileId).ExecuteAsync();

// Delete file
await Api.OpenAI.DeleteFile(fileId).ExecuteAsync();

Common Use Cases

Upload for Fine-tuning

IFile trainingData = CreateTrainingFile();
var uploadResult = await Api.OpenAI
    .UploadFile(trainingData)
    .SetPurpose("fine-tune")
    .ExecuteAsync();

string fileId = uploadResult.Id;

Upload for Assistants

IFile document = LoadDocument();
var uploadResult = await Api.OpenAI
    .UploadFile(document)
    .SetPurpose("assistants")
    .ExecuteAsync();

Upload for Vision

Texture2D image = capturedImage;
var uploadResult = await Api.OpenAI
    .UploadImage(image)
    .SetPurpose("vision")
    .ExecuteAsync();

File Purposes

Different providers support different file purposes:

Purpose
Description
Use Case

assistants

Assistant API files

RAG, file search

vision

Vision API files

Image analysis

fine-tune

Fine-tuning data

Model training

batch

Batch API files

Bulk processing

Provider Support

OpenAI

// Full support for all operations
await Api.OpenAI.UploadFile(file).ExecuteAsync();
await Api.OpenAI.ListFiles().ExecuteAsync();
await Api.OpenAI.DeleteFile(fileId).ExecuteAsync();

Anthropic

// Upload and download support
await Api.Anthropic.UploadFile(file).ExecuteAsync();
await Api.Anthropic.DownloadFile(fileId).ExecuteAsync();

Google

// Limited file operations
await Api.Gemini.UploadFile(file).ExecuteAsync();

Next Steps

Last updated