UNPKG

nanogpt-client

Version:
188 lines (179 loc) 4.44 kB
// This file is auto-generated by @hey-api/openapi-ts import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch' import type { CreateChatCompletionData, CreateChatCompletionResponse, CreateChatCompletionError, GenerateImageData, GenerateImageResponse, GenerateImageError, ModelsData, ModelsResponse, ModelsError, BalanceData, BalanceResponse, BalanceError, GenerateVideoData, GenerateVideoResponse, GenerateVideoError, CheckVideoStatusData, CheckVideoStatusResponse, CheckVideoStatusError } from './types.gen.js' import { client as _heyApiClient } from './client.gen.js' export type Options< TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean > = ClientOptions<TData, ThrowOnError> & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a * custom client. */ client?: Client /** * You can pass arbitrary values through the `meta` object. This can be * used to access values that aren't defined as part of the SDK function. */ meta?: Record<string, unknown> } /** * Create a chat completion * Generate a chat-based completion using the specified parameters. */ export const createChatCompletion = <ThrowOnError extends boolean = false>( options: Options<CreateChatCompletionData, ThrowOnError> ) => { return (options.client ?? _heyApiClient).post< CreateChatCompletionResponse, CreateChatCompletionError, ThrowOnError >({ security: [ { scheme: 'bearer', type: 'http' }, { name: 'x-api-key', type: 'apiKey' } ], url: '/v1/chat/completions', ...options, headers: { 'Content-Type': 'application/json', ...options?.headers } }) } /** * Generate an image * Create an image based on the provided prompt and parameters. */ export const generateImage = <ThrowOnError extends boolean = false>( options: Options<GenerateImageData, ThrowOnError> ) => { return (options.client ?? _heyApiClient).post< GenerateImageResponse, GenerateImageError, ThrowOnError >({ security: [ { name: 'x-api-key', type: 'apiKey' } ], url: '/generate-image', ...options, headers: { 'Content-Type': 'application/json', ...options?.headers } }) } /** * Retrieve available models * Retrieve all available models on the OpenAI models endpoint format */ export const models = <ThrowOnError extends boolean = false>( options?: Options<ModelsData, ThrowOnError> ) => { return (options?.client ?? _heyApiClient).get<ModelsResponse, ModelsError, ThrowOnError>({ security: [ { scheme: 'bearer', type: 'http' } ], url: '/v1/models', ...options }) } /** * Check nano balance for account * Returns balance, receivable and earned for the account */ export const balance = <ThrowOnError extends boolean = false>( options?: Options<BalanceData, ThrowOnError> ) => { return (options?.client ?? _heyApiClient).post<BalanceResponse, BalanceError, ThrowOnError>({ security: [ { name: 'x-api-key', type: 'apiKey' } ], url: '/check-nano-balance', ...options }) } /** * Generate a video * Create a video based on the provided prompt or script and parameters */ export const generateVideo = <ThrowOnError extends boolean = false>( options: Options<GenerateVideoData, ThrowOnError> ) => { return (options.client ?? _heyApiClient).post< GenerateVideoResponse, GenerateVideoError, ThrowOnError >({ security: [ { name: 'x-api-key', type: 'apiKey' } ], url: '/v1/video', ...options, headers: { 'Content-Type': 'application/json', ...options?.headers } }) } /** * Check video generation status * Check the status of a previously initiated video generation request */ export const checkVideoStatus = <ThrowOnError extends boolean = false>( options: Options<CheckVideoStatusData, ThrowOnError> ) => { return (options.client ?? _heyApiClient).get< CheckVideoStatusResponse, CheckVideoStatusError, ThrowOnError >({ security: [ { name: 'x-api-key', type: 'apiKey' } ], url: '/v1/video/status', ...options }) }