157 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { APIResource } from "../../core/resource.js";
 | 
						|
import * as FilesAPI from "../files.js";
 | 
						|
import * as PartsAPI from "./parts.js";
 | 
						|
import { PartCreateParams, Parts, UploadPart } from "./parts.js";
 | 
						|
import { APIPromise } from "../../core/api-promise.js";
 | 
						|
import { RequestOptions } from "../../internal/request-options.js";
 | 
						|
export declare class Uploads extends APIResource {
 | 
						|
    parts: PartsAPI.Parts;
 | 
						|
    /**
 | 
						|
     * Creates an intermediate
 | 
						|
     * [Upload](https://platform.openai.com/docs/api-reference/uploads/object) object
 | 
						|
     * that you can add
 | 
						|
     * [Parts](https://platform.openai.com/docs/api-reference/uploads/part-object) to.
 | 
						|
     * Currently, an Upload can accept at most 8 GB in total and expires after an hour
 | 
						|
     * after you create it.
 | 
						|
     *
 | 
						|
     * Once you complete the Upload, we will create a
 | 
						|
     * [File](https://platform.openai.com/docs/api-reference/files/object) object that
 | 
						|
     * contains all the parts you uploaded. This File is usable in the rest of our
 | 
						|
     * platform as a regular File object.
 | 
						|
     *
 | 
						|
     * For certain `purpose` values, the correct `mime_type` must be specified. Please
 | 
						|
     * refer to documentation for the
 | 
						|
     * [supported MIME types for your use case](https://platform.openai.com/docs/assistants/tools/file-search#supported-files).
 | 
						|
     *
 | 
						|
     * For guidance on the proper filename extensions for each purpose, please follow
 | 
						|
     * the documentation on
 | 
						|
     * [creating a File](https://platform.openai.com/docs/api-reference/files/create).
 | 
						|
     */
 | 
						|
    create(body: UploadCreateParams, options?: RequestOptions): APIPromise<Upload>;
 | 
						|
    /**
 | 
						|
     * Cancels the Upload. No Parts may be added after an Upload is cancelled.
 | 
						|
     */
 | 
						|
    cancel(uploadID: string, options?: RequestOptions): APIPromise<Upload>;
 | 
						|
    /**
 | 
						|
     * Completes the
 | 
						|
     * [Upload](https://platform.openai.com/docs/api-reference/uploads/object).
 | 
						|
     *
 | 
						|
     * Within the returned Upload object, there is a nested
 | 
						|
     * [File](https://platform.openai.com/docs/api-reference/files/object) object that
 | 
						|
     * is ready to use in the rest of the platform.
 | 
						|
     *
 | 
						|
     * You can specify the order of the Parts by passing in an ordered list of the Part
 | 
						|
     * IDs.
 | 
						|
     *
 | 
						|
     * The number of bytes uploaded upon completion must match the number of bytes
 | 
						|
     * initially specified when creating the Upload object. No Parts may be added after
 | 
						|
     * an Upload is completed.
 | 
						|
     */
 | 
						|
    complete(uploadID: string, body: UploadCompleteParams, options?: RequestOptions): APIPromise<Upload>;
 | 
						|
}
 | 
						|
/**
 | 
						|
 * The Upload object can accept byte chunks in the form of Parts.
 | 
						|
 */
 | 
						|
export interface Upload {
 | 
						|
    /**
 | 
						|
     * The Upload unique identifier, which can be referenced in API endpoints.
 | 
						|
     */
 | 
						|
    id: string;
 | 
						|
    /**
 | 
						|
     * The intended number of bytes to be uploaded.
 | 
						|
     */
 | 
						|
    bytes: number;
 | 
						|
    /**
 | 
						|
     * The Unix timestamp (in seconds) for when the Upload was created.
 | 
						|
     */
 | 
						|
    created_at: number;
 | 
						|
    /**
 | 
						|
     * The Unix timestamp (in seconds) for when the Upload will expire.
 | 
						|
     */
 | 
						|
    expires_at: number;
 | 
						|
    /**
 | 
						|
     * The name of the file to be uploaded.
 | 
						|
     */
 | 
						|
    filename: string;
 | 
						|
    /**
 | 
						|
     * The object type, which is always "upload".
 | 
						|
     */
 | 
						|
    object: 'upload';
 | 
						|
    /**
 | 
						|
     * The intended purpose of the file.
 | 
						|
     * [Please refer here](https://platform.openai.com/docs/api-reference/files/object#files/object-purpose)
 | 
						|
     * for acceptable values.
 | 
						|
     */
 | 
						|
    purpose: string;
 | 
						|
    /**
 | 
						|
     * The status of the Upload.
 | 
						|
     */
 | 
						|
    status: 'pending' | 'completed' | 'cancelled' | 'expired';
 | 
						|
    /**
 | 
						|
     * The `File` object represents a document that has been uploaded to OpenAI.
 | 
						|
     */
 | 
						|
    file?: FilesAPI.FileObject | null;
 | 
						|
}
 | 
						|
export interface UploadCreateParams {
 | 
						|
    /**
 | 
						|
     * The number of bytes in the file you are uploading.
 | 
						|
     */
 | 
						|
    bytes: number;
 | 
						|
    /**
 | 
						|
     * The name of the file to upload.
 | 
						|
     */
 | 
						|
    filename: string;
 | 
						|
    /**
 | 
						|
     * The MIME type of the file.
 | 
						|
     *
 | 
						|
     * This must fall within the supported MIME types for your file purpose. See the
 | 
						|
     * supported MIME types for assistants and vision.
 | 
						|
     */
 | 
						|
    mime_type: string;
 | 
						|
    /**
 | 
						|
     * The intended purpose of the uploaded file.
 | 
						|
     *
 | 
						|
     * See the
 | 
						|
     * [documentation on File purposes](https://platform.openai.com/docs/api-reference/files/create#files-create-purpose).
 | 
						|
     */
 | 
						|
    purpose: FilesAPI.FilePurpose;
 | 
						|
    /**
 | 
						|
     * The expiration policy for a file. By default, files with `purpose=batch` expire
 | 
						|
     * after 30 days and all other files are persisted until they are manually deleted.
 | 
						|
     */
 | 
						|
    expires_after?: UploadCreateParams.ExpiresAfter;
 | 
						|
}
 | 
						|
export declare namespace UploadCreateParams {
 | 
						|
    /**
 | 
						|
     * The expiration policy for a file. By default, files with `purpose=batch` expire
 | 
						|
     * after 30 days and all other files are persisted until they are manually deleted.
 | 
						|
     */
 | 
						|
    interface ExpiresAfter {
 | 
						|
        /**
 | 
						|
         * Anchor timestamp after which the expiration policy applies. Supported anchors:
 | 
						|
         * `created_at`.
 | 
						|
         */
 | 
						|
        anchor: 'created_at';
 | 
						|
        /**
 | 
						|
         * The number of seconds after the anchor time that the file will expire. Must be
 | 
						|
         * between 3600 (1 hour) and 2592000 (30 days).
 | 
						|
         */
 | 
						|
        seconds: number;
 | 
						|
    }
 | 
						|
}
 | 
						|
export interface UploadCompleteParams {
 | 
						|
    /**
 | 
						|
     * The ordered list of Part IDs.
 | 
						|
     */
 | 
						|
    part_ids: Array<string>;
 | 
						|
    /**
 | 
						|
     * The optional md5 checksum for the file contents to verify if the bytes uploaded
 | 
						|
     * matches what you expect.
 | 
						|
     */
 | 
						|
    md5?: string;
 | 
						|
}
 | 
						|
export declare namespace Uploads {
 | 
						|
    export { type Upload as Upload, type UploadCreateParams as UploadCreateParams, type UploadCompleteParams as UploadCompleteParams, };
 | 
						|
    export { Parts as Parts, type UploadPart as UploadPart, type PartCreateParams as PartCreateParams };
 | 
						|
}
 | 
						|
//# sourceMappingURL=uploads.d.ts.map
 |