createUpload method
Future<Upload>
createUpload({
- required int bytes,
- required String filename,
- required String mimeType,
- required FilePurpose purpose,
- FileExpiresAfter? expiresAfter,
Create an Upload session for large files (multipart).
Implementation
Future<Upload> createUpload({
required int bytes,
required String filename,
required String mimeType,
required FilePurpose purpose, // e.g. "fine-tune", "assistants", "vision"
FileExpiresAfter? expiresAfter, // optional TTL
}) async {
final body = <String, dynamic>{
'bytes': bytes,
'filename': filename,
'mime_type': mimeType,
'purpose': purpose.toJson(),
if (expiresAfter != null) 'expires_after': expiresAfter.toJson(),
};
final res = await postJson('/uploads', body);
if (res.statusCode == 200) {
return Upload.fromJson(jsonDecode(res.body));
}
throw OpenAIRequestException.fromHttpResponse(res);
}