// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../core/resource'; import { APIPromise } from '../../../core/api-promise'; import { type Uploadable } from '../../../core/uploads'; import { RequestOptions } from '../../../internal/request-options'; import { multipartFormRequestOptions } from '../../../internal/uploads'; import { path } from '../../../internal/utils/path'; export class BaseAssets extends APIResource { static override readonly _key: readonly ['ai', 'finetunes', 'assets'] = Object.freeze([ 'ai', 'finetunes', 'assets', ] as const); /** * Uploads training data assets for a Workers AI fine-tuning job. */ create( finetuneID: string, params: AssetCreateParams, options?: RequestOptions, ): APIPromise { const { account_id, ...body } = params; return this._client.post( path`/accounts/${account_id}/ai/finetunes/${finetuneID}/finetune-assets`, multipartFormRequestOptions({ body, ...options }, this._client), ); } } export class Assets extends BaseAssets {} export interface AssetCreateResponse { success: boolean; } export interface AssetCreateParams { /** * Path param */ account_id: string; /** * Body param: File to upload */ file: Uploadable; /** * Body param: Name of the file (adapter_config.json or adapter_model.safetensors) */ file_name: string; } export declare namespace Assets { export { type AssetCreateResponse as AssetCreateResponse, type AssetCreateParams as AssetCreateParams }; }