Upload Your First File
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer files upload --file document.pdf --purpose fine-tune
Copy
gravixlayer files upload --file document.pdf --purpose fine-tune --expires-after 86400
Copy
📤Uploading file: README.md
✅File uploaded successfully!
Message: file uploaded
Filename: document.pdf
Purpose: fine-tune
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
# Upload a file
with open("document.pdf", "rb") as file:
upload_response = client.files.create(
file=file,
purpose="batch"
)
print(f"File uploaded: {upload_response.id}")
print(f"Filename: {upload_response.filename}")
print(f"Size: {upload_response.bytes} bytes")
Copy
import { GravixLayer } from 'gravixlayer';
import { readFileSync } from 'fs';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
try {
// Upload a file
const fileBuffer = readFileSync("document.pdf");
const uploadResponse = await client.files.create({
file: fileBuffer,
purpose: "batch",
filename: "document.pdf"
});
console.log('✅ File uploaded successfully!');
console.log(`Filename: ${uploadResponse.file_name}`);
console.log(`Purpose: ${uploadResponse.purpose}`);
console.log(`Message: ${uploadResponse.message}`);
} catch (error) {
console.error('❌ Upload failed:', error.message);
process.exit(1);
}
Upload Different File Types
- CLI
- Python SDK
- JavaScript SDK
Upload with Different Purposes:Upload with Expiration:
Copy
# For fine-tuning
gravixlayer files upload --file training_data.jsonl --purpose fine-tune
# For batch processing
gravixlayer files upload --file batch_input.json --purpose batch
# For vision models
gravixlayer files upload --file image.png --purpose vision
# For user data
gravixlayer files upload --file user_document.pdf --purpose user_data
# For evaluations
gravixlayer files upload --file test_dataset.json --purpose evals
Copy
# Upload with 24-hour expiration (86400 seconds)
gravixlayer files upload --file README.md --purpose fine-tune --expires-after 86400
# Upload with 7-day expiration (604800 seconds)
gravixlayer files upload --file temp_data.csv --purpose batch --expires-after 604800
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
# Upload different file types
files_to_upload = [
("document.pdf", "batch"),
("training_data.jsonl", "fine-tune"),
("batch_input.json", "batch"),
("image.png", "vision")
]
for filename, purpose in files_to_upload:
with open(filename, "rb") as file:
upload_response = client.files.create(
file=file,
purpose=purpose
)
print(f"Uploaded {filename}: {upload_response.id}")
# Upload with expiration
with open("temp_file.txt", "rb") as file:
expiring_upload = client.files.create(
file=file,
purpose="batch",
expires_after=86400 # 24 hours
)
print(f"Uploaded expiring file: {expiring_upload.id}")
Copy
import { GravixLayer } from 'gravixlayer';
import { readFileSync } from 'fs';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
// Upload different file types
const filesToUpload = [
{ filename: "document.pdf", purpose: "batch" },
{ filename: "training_data.jsonl", purpose: "fine-tune" },
{ filename: "batch_input.json", purpose: "batch" },
{ filename: "image.png", purpose: "vision" }
];
for (const { filename, purpose } of filesToUpload) {
const fileBuffer = readFileSync(filename);
const uploadResponse = await client.files.create({
file: fileBuffer,
purpose: purpose,
filename: filename
});
console.log(`Uploaded ${filename}: ${uploadResponse.id}`);
}
// Upload with expiration
const fileWithExpiration = readFileSync("temp_data.csv");
const expiringUpload = await client.files.create({
file: fileWithExpiration,
purpose: "batch",
filename: "temp_data.csv",
expires_after: 86400 // 24 hours
});
console.log(`Uploaded expiring file: ${expiringUpload.id}`);
Upload Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
--file | string | Yes | Path to the file to upload |
--purpose | string | Yes | File purpose (batch, fine-tune, batch, vision, user_data, evals) |
--expires-after | int | No | File expiration time in seconds (e.g., 86400 for 24 hours) |

