UNPKG

@tsavo/creatify-api-ts

Version:

TypeScript client for the Creatify AI API

127 lines (109 loc) 2.73 kB
import { CreatifyApiClient } from './client'; import { apiClientFactory } from './client-factory'; import { AvatarApi, UrlToVideoApi, TextToSpeechApi, AiEditingApi, CustomTemplatesApi, DyoaApi, AiShortsApi, AiScriptsApi, MusicsApi, WorkspaceApi, LipsyncV2Api, } from './api'; import * as Types from './types'; import * as utils from './utils'; /** * Main Creatify API client with all API modules */ export class Creatify { /** * Client options */ private options: Types.CreatifyApiOptions; /** * Avatar API module */ public avatar: AvatarApi; /** * URL-to-Video API module */ public urlToVideo: UrlToVideoApi; /** * Text-to-Speech API module */ public textToSpeech: TextToSpeechApi; /** * AI Editing API module */ public aiEditing: AiEditingApi; /** * Custom Templates API module */ public customTemplates: CustomTemplatesApi; /** * DYOA (Design Your Own Avatar) API module */ public dyoa: DyoaApi; /** * AI Shorts API module */ public aiShorts: AiShortsApi; /** * AI Scripts API module */ public aiScripts: AiScriptsApi; /** * Musics API module */ public musics: MusicsApi; /** * Workspace API module */ public workspace: WorkspaceApi; /** * Lipsync v2 API module */ public lipsyncV2: LipsyncV2Api; /** * Create a new Creatify API client with all available API modules * @param options Configuration options for the API client */ constructor(options: Types.CreatifyApiOptions) { this.options = options; this.avatar = new AvatarApi(options, apiClientFactory); this.urlToVideo = new UrlToVideoApi(options, apiClientFactory); this.textToSpeech = new TextToSpeechApi(options, apiClientFactory); this.aiEditing = new AiEditingApi(options, apiClientFactory); this.customTemplates = new CustomTemplatesApi(options, apiClientFactory); this.dyoa = new DyoaApi(options, apiClientFactory); this.aiShorts = new AiShortsApi(options, apiClientFactory); this.aiScripts = new AiScriptsApi(options, apiClientFactory); this.musics = new MusicsApi(options, apiClientFactory); this.workspace = new WorkspaceApi(options, apiClientFactory); this.lipsyncV2 = new LipsyncV2Api(options, apiClientFactory); } } // Export types export { Types }; // Export individual API classes export { CreatifyApiClient, AvatarApi, UrlToVideoApi, TextToSpeechApi, AiEditingApi, CustomTemplatesApi, DyoaApi, AiShortsApi, AiScriptsApi, MusicsApi, WorkspaceApi, LipsyncV2Api, }; // Export client factory export { apiClientFactory, CreatifyApiClientFactory } from './client-factory'; // Export utility classes export { utils };