UNPKG

@spawn-ai/spawn-node

Version:

Client for the Spawn API using NodeJS

148 lines (145 loc) 5.9 kB
import { SupabaseClient } from '@supabase/supabase-js'; type WorkerFilter = { id?: string; name?: string; branch?: string; is_dirty?: boolean; cluster?: number; }; type TrainingImage = { url: string; label: string; }; type PatchConfig = { name: string; alpha_text_encoder: number; alpha_unet: number; steps: number; }; type StableDiffusionConfig = { steps: number; skip_steps: number; batch_size: 1 | 2 | 4 | 8 | 16; sampler: "plms" | "ddim" | "k_lms" | "k_euler" | "k_euler_a" | "dpm_multistep"; guidance_scale: number; width: 384 | 448 | 512 | 575 | 768 | 640 | 704 | 768; height: 384 | 448 | 512 | 575 | 768 | 640 | 704 | 768; prompt: string; negative_prompt: string; init_image?: string; mask?: string; image_format: "png" | "jpeg" | "avif" | "webp"; translate_prompt: boolean; nsfw_filter: boolean; seed?: number; add_ons?: any[]; }; type PatchTrainerConfig = { dataset: any[]; trigger_prompt: string; use_synthetic_data: boolean; patch_name: string; description: string; learning_rate: number; steps: number; rank: number; }; declare class SpawnClient { supabase: SupabaseClient; app_id: string; key: string; secret: string; worker_filter: WorkerFilter; services: any[]; add_ons: any[]; app_user_id: string; app_user_token: string; constructor(supabase: SupabaseClient, app_id: string, key: string, secret: string, worker_filter?: WorkerFilter); private handle_error; private owner_rpc; private user_rpc; setUserID: (app_user_external_id: string) => Promise<void>; test_connection: () => Promise<void>; updateServiceList: () => Promise<void>; getServiceList: () => Promise<any[]>; updateAddOnList: () => Promise<void>; getAddOnList: () => Promise<any[]>; echo: (message: string) => Promise<any[] | null>; createAppUser: (external_id: string) => Promise<any[] | null>; private getUserId; isUser: (external_id: string) => Promise<any[] | null>; createToken: (app_user_external_id: string) => Promise<any[] | null>; deleteAllTokenOfAppUser: (app_user_external_id: string) => Promise<any[] | null>; getAppUserToken: (app_user_external_id: string) => Promise<any[] | null>; setCredit: (app_user_external_id: string, amount: number) => Promise<any[] | null>; getAppUserCredits: (app_user_external_id: string) => Promise<any[] | null>; getAppUserJobHistory: (app_user_external_id: string, p_limit: number, p_offset: number) => Promise<any[] | null>; shareAddOn: (add_on_name: string, app_user_external_id: string) => Promise<any[] | null>; deleteAddOn: (add_on_name: string) => Promise<any[] | null>; renameAddOn: (add_on_name: string, new_add_on_name: string) => Promise<any[] | null>; publishAddOn: (add_on_name: string) => Promise<any[] | null>; unpublishAddOn: (add_on_name: string) => Promise<any[] | null>; private postJob; getResult: (job_id: string) => Promise<any[] | null>; subscribeToJob: (job_id: string, callback: (result: object) => void) => Promise<void>; costStableDiffusion: (prompt: string, args?: { service_name?: string; steps?: number; skip_steps?: number; batch_size?: 1 | 2 | 4 | 8 | 16; sampler?: "plms" | "ddim" | "k_lms" | "k_euler" | "k_euler_a" | "dpm_multistep"; guidance_scale?: number; width?: 384 | 448 | 512 | 575 | 768 | 640 | 704 | 768; height?: 384 | 448 | 512 | 575 | 768 | 640 | 704 | 768; negative_prompt?: string; image_format?: "png" | "jpeg" | "avif" | "webp"; translate_prompt?: boolean; nsfw_filter?: boolean; patches?: PatchConfig[]; }) => Promise<any[] | null>; runStableDiffusion: (prompt: string, args?: { service_name?: string | undefined; steps?: number | undefined; skip_steps?: number | undefined; batch_size?: 1 | 2 | 4 | 8 | 16 | undefined; sampler?: "plms" | "ddim" | "k_lms" | "k_euler" | "k_euler_a" | "dpm_multistep" | undefined; guidance_scale?: number | undefined; width?: 384 | 448 | 512 | 575 | 768 | 640 | 704 | undefined; height?: 384 | 448 | 512 | 575 | 768 | 640 | 704 | undefined; negative_prompt?: string | undefined; image_format?: "png" | "jpeg" | "avif" | "webp" | undefined; seed?: number | undefined; translate_prompt?: boolean | undefined; nsfw_filter?: boolean | undefined; patches?: PatchConfig[] | undefined; callback?: ((result: any) => void) | undefined; } | undefined) => Promise<any[] | null>; private patchConfigToAddonConfig; costPatchTrainer: (dataset: TrainingImage[], patch_name: string, args?: { trigger_prompt?: string; use_synthetic_data?: boolean; service_name?: string; description?: string; learning_rate?: number; steps?: number; rank?: number; }) => Promise<any[] | null>; runPatchTrainer: (dataset: TrainingImage[], patch_name: string, args?: { trigger_prompt: string; use_synthetic_data: boolean; service_name?: string | undefined; description?: string | undefined; learning_rate?: number | undefined; steps?: number | undefined; rank?: number | undefined; callback?: ((result: Object) => void) | undefined; } | undefined) => Promise<any[] | null>; getCountActiveWorker: () => Promise<any[] | null>; } declare const createSpawnClient: (credentials: { app_id: string; key: string; secret: string; app_user_external_id?: string; }, worker_filter?: WorkerFilter) => Promise<SpawnClient>; export { PatchConfig, PatchTrainerConfig, SpawnClient, StableDiffusionConfig, TrainingImage, WorkerFilter, createSpawnClient };