UNPKG

@tsavo/creatify-api-ts

Version:

TypeScript client for the Creatify AI API

1 lines 76.5 kB
{"version":3,"sources":["../src/client.ts","../src/client-factory.ts","../src/api/avatar.ts","../src/api/url-to-video.ts","../src/api/text-to-speech.ts","../src/api/ai-editing.ts","../src/api/custom-templates.ts","../src/api/dyoa.ts","../src/api/ai-shorts.ts","../src/api/ai-scripts.ts","../src/api/musics.ts","../src/api/workspace.ts","../src/api/lipsync-v2.ts"],"names":["CreatifyApiClient","options","axios","response","error","status","data","endpoint","params","config","CreatifyApiClientFactory","apiClientFactory","AvatarApi","clientFactory","filters","avatars","avatar","page","limit","voices","voice","id","results","pollInterval","maxAttempts","attempts","result","resolve","UrlToVideoApi","TextToSpeechApi","AiEditingApi","CustomTemplatesApi","DyoaApi","createParams","photoIndex","photoGenPollInterval","photoGenMaxAttempts","reviewPollInterval","reviewMaxAttempts","dyoaWithPhotos","safePhotoIndex","chosenPhoto","dyoaSubmitted","AiShortsApi","AiScriptsApi","MusicsApi","categories","category","tracks","WorkspaceApi","LipsyncV2Api"],"mappings":"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","file":"chunk-6Z5X5CX6.mjs","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { CreatifyApiOptions } from './types';\nimport { ICreatifyApiClient } from './types/api-client';\n\n/**\n * Base API client for Creatify API\n */\nexport class CreatifyApiClient implements ICreatifyApiClient {\n private client: AxiosInstance;\n private apiId: string;\n private apiKey: string;\n\n /**\n * Create a new Creatify API client\n * @param options Configuration options for the API client\n */\n constructor(options: CreatifyApiOptions) {\n this.apiId = options.apiId;\n this.apiKey = options.apiKey;\n\n // Create axios instance with default configuration\n this.client = axios.create({\n baseURL: options.baseUrl || 'https://api.creatify.ai',\n timeout: options.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-ID': this.apiId,\n 'X-API-KEY': this.apiKey,\n },\n });\n\n // Add response interceptor for error handling\n this.client.interceptors.response.use(\n response => response,\n error => {\n // Transform error object to a more user-friendly format\n if (error.response) {\n // Server responded with a status code outside of 2xx range\n const { status, data } = error.response;\n return Promise.reject({\n status,\n message: data.message || 'An error occurred with the API request',\n data: data,\n });\n } else if (error.request) {\n // Request was made but no response was received\n return Promise.reject({\n message: 'No response received from the API server',\n request: error.request,\n });\n } else {\n // Something else happened while setting up the request\n return Promise.reject({\n message: error.message || 'An error occurred while setting up the request',\n });\n }\n }\n );\n }\n\n /**\n * Make a GET request to the API\n * @param endpoint API endpoint to call\n * @param params Query parameters\n * @param config Additional axios config\n * @returns Promise resolving to the response data\n */\n public async get<T = unknown>(\n endpoint: string,\n params?: Record<string, unknown>,\n config?: AxiosRequestConfig\n ): Promise<T> {\n const response = await this.client.get<T>(endpoint, {\n params,\n ...config,\n });\n return response.data;\n }\n\n /**\n * Make a POST request to the API\n * @param endpoint API endpoint to call\n * @param data Request body data\n * @param config Additional axios config\n * @returns Promise resolving to the response data\n */\n public async post<T = unknown, D = unknown>(\n endpoint: string,\n data?: D,\n config?: AxiosRequestConfig\n ): Promise<T> {\n const response = await this.client.post<T>(endpoint, data, config);\n return response.data;\n }\n\n /**\n * Make a PUT request to the API\n * @param endpoint API endpoint to call\n * @param data Request body data\n * @param config Additional axios config\n * @returns Promise resolving to the response data\n */\n public async put<T = unknown, D = unknown>(\n endpoint: string,\n data?: D,\n config?: AxiosRequestConfig\n ): Promise<T> {\n const response = await this.client.put<T>(endpoint, data, config);\n return response.data;\n }\n\n /**\n * Make a DELETE request to the API\n * @param endpoint API endpoint to call\n * @param params Query parameters\n * @param config Additional axios config\n * @returns Promise resolving to the response data\n */\n public async delete<T = unknown>(\n endpoint: string,\n params?: Record<string, unknown>,\n config?: AxiosRequestConfig\n ): Promise<T> {\n const response = await this.client.delete<T>(endpoint, {\n params,\n ...config,\n });\n return response.data;\n }\n}\n","import { CreatifyApiClient } from './client';\nimport { CreatifyApiOptions } from './types';\nimport { ICreatifyApiClient, ICreatifyApiClientFactory } from './types/api-client';\n\n/**\n * Factory for creating Creatify API clients\n */\nexport class CreatifyApiClientFactory implements ICreatifyApiClientFactory {\n /**\n * Create a new API client instance\n * @param options Configuration options\n * @returns API client instance\n */\n createClient(options: CreatifyApiOptions): ICreatifyApiClient {\n return new CreatifyApiClient(options);\n }\n}\n\n// Default factory instance for convenient import\nexport const apiClientFactory = new CreatifyApiClientFactory();\n","import { CreatifyApiOptions } from '../types';\nimport { Avatar } from '../types';\nimport { ICreatifyApiClient } from '../types/api-client';\nimport { apiClientFactory } from '../client-factory';\n\n/**\n * Client for interacting with the Creatify AI Avatar API\n * @see https://creatify.mintlify.app/api-reference/lipsync\n */\nexport class AvatarApi {\n private client: ICreatifyApiClient;\n\n /**\n * Create a new AvatarApi instance\n * @param options API client options\n * @param clientFactory Optional factory for creating API clients (useful for testing)\n */\n constructor(options: CreatifyApiOptions, clientFactory = apiClientFactory) {\n this.client = clientFactory.createClient(options);\n }\n /**\n * Get a list of all available avatars\n * @returns Promise resolving to an array of avatar information\n * @see https://creatify.mintlify.app/api-reference/personas/get-apipersonas\n */\n async getAvatars(filters?: {\n age_range?: 'child' | 'teen' | 'adult' | 'senior';\n gender?: 'm' | 'f' | 'nb';\n location?: 'outdoor' | 'fantasy' | 'indoor' | 'other';\n style?: 'selfie' | 'presenter' | 'other';\n }): Promise<Avatar.AvatarInfo[]> {\n try {\n const avatars = await this.client.get<Avatar.AvatarInfo[]>('/api/personas/', filters);\n\n // Ensure avatars is an array\n if (!Array.isArray(avatars)) {\n return [];\n }\n\n // Add avatar_id property for backward compatibility and explicitly add a name property\n return avatars.map(avatar => ({\n ...avatar,\n avatar_id: avatar.id,\n // Force the name property to be 'Avatar ID' if it's missing, empty or undefined\n name: avatar.name && avatar.name.trim() ? avatar.name : `Avatar ${avatar.id}`,\n }));\n } catch (error) {\n console.error('Error fetching avatars:', error);\n return [];\n }\n }\n\n /**\n * Get a list of available avatars with pagination\n * @param page Page number (starts from 1)\n * @param limit Number of items per page\n * @param filters Optional filtering parameters\n * @returns Promise resolving to paginated avatar information\n * @see https://creatify.mintlify.app/api-reference/personas/get-apipersonas-paginated\n */\n async getAvatarsPaginated(\n page: number = 1,\n limit: number = 20,\n filters?: {\n age_range?: 'child' | 'teen' | 'adult' | 'senior';\n gender?: 'm' | 'f' | 'nb';\n location?: 'outdoor' | 'fantasy' | 'indoor' | 'other';\n style?: 'selfie' | 'presenter' | 'other';\n }\n ): Promise<{\n count: number;\n next: string | null;\n previous: string | null;\n results: Avatar.AvatarInfo[];\n }> {\n return this.client.get('/api/personas-paginated/', {\n page,\n limit,\n ...filters,\n });\n }\n\n /**\n * Get a list of all available voices\n * @returns Promise resolving to an array of voice information\n * @see https://creatify.mintlify.app/api-reference/voices/get-apivoices\n */\n async getVoices(): Promise<Avatar.VoiceInfo[]> {\n try {\n const voices = await this.client.get<Avatar.VoiceInfo[]>('/api/voices/');\n\n // Ensure voices is an array\n if (!Array.isArray(voices)) {\n return [];\n }\n\n // Process voice data to handle different API response formats\n return voices.map(voice => {\n // Create a normalized version of each voice with consistent properties\n const normalizedVoice: Avatar.VoiceInfo = {\n // Ensure ID is available in a consistent field\n id: voice.id || voice.voice_id || '',\n voice_id: voice.voice_id || voice.id || '',\n name: voice.name || 'Unnamed Voice',\n language: voice.language || '',\n gender: voice.gender || '',\n accents: voice.accents || [],\n\n // Extract preview URL from the first accent if not directly available\n preview_url:\n voice.preview_url ||\n (voice.accents && voice.accents.length > 0 && voice.accents[0].preview_url) ||\n '',\n };\n\n return normalizedVoice;\n });\n } catch (error) {\n console.error('Error fetching voices:', error);\n return [];\n }\n }\n\n /**\n * Create a lipsync video with an AI avatar speaking the provided text\n * @param params Parameters for the lipsync video generation\n * @returns Promise resolving to the lipsync task response\n * @see https://creatify.mintlify.app/api-reference/lipsync\n */\n async createLipsync(params: Avatar.LipsyncParams): Promise<Avatar.LipsyncResponse> {\n try {\n return await this.client.post<Avatar.LipsyncResponse>('/api/lipsyncs/', params);\n } catch (error) {\n console.error('Error creating lipsync:', error);\n throw error;\n }\n }\n\n /**\n * Get the status and result of a lipsync task\n * @param id ID of the lipsync task\n * @returns Promise resolving to the lipsync task status and result\n * @see https://creatify.mintlify.app/api-reference/lipsync\n */\n async getLipsync(id: string): Promise<Avatar.LipsyncResultResponse> {\n try {\n return await this.client.get<Avatar.LipsyncResultResponse>(`/api/lipsyncs/${id}/`);\n } catch (error) {\n console.error(`Error fetching lipsync result for ID ${id}:`, error);\n // Return a default response to prevent crashes\n return {\n id,\n status: 'error',\n error_message:\n error instanceof Error ? error.message : 'An error occurred with the API request',\n } as Avatar.LipsyncResultResponse;\n }\n }\n\n /**\n * Get all lipsync tasks\n * @returns Promise resolving to an array of lipsync tasks\n * @see https://creatify.mintlify.app/api-reference/lipsync\n */\n async getLipsyncs(): Promise<Avatar.LipsyncResultResponse[]> {\n try {\n const results = await this.client.get<Avatar.LipsyncResultResponse[]>('/api/lipsyncs/');\n return Array.isArray(results) ? results : [];\n } catch (error) {\n console.error('Error fetching lipsync tasks:', error);\n return [];\n }\n }\n\n /**\n * Create a multi-avatar lipsync video with multiple AI avatars speaking\n * @param params Parameters for the multi-avatar lipsync video generation\n * @returns Promise resolving to the lipsync task response\n * @see https://creatify.mintlify.app/api-reference/lipsync-multi-avatar\n */\n async createMultiAvatarLipsync(\n params: Avatar.MultiAvatarLipsyncParams\n ): Promise<Avatar.LipsyncResponse> {\n try {\n return await this.client.post<Avatar.LipsyncResponse>('/api/lipsyncs/multi_avatar/', params);\n } catch (error) {\n console.error('Error creating multi-avatar lipsync:', error);\n throw error;\n }\n }\n\n /**\n * Create a lipsync video and wait for it to complete\n * @param params Parameters for the lipsync video generation\n * @param pollInterval How often to check status in ms (default 2000)\n * @param maxAttempts Maximum number of polling attempts (default 30)\n * @returns Promise resolving to the completed lipsync task\n */\n async createAndWaitForLipsync(\n params: Avatar.LipsyncParams,\n pollInterval: number = 2000,\n maxAttempts: number = 30\n ): Promise<Avatar.LipsyncResultResponse> {\n // Create the lipsync task\n const response = await this.createLipsync(params);\n\n // Poll for completion\n let attempts = 0;\n let result = await this.getLipsync(response.id);\n\n while (attempts < maxAttempts && result.status !== 'done' && result.status !== 'error') {\n // Wait for the specified interval\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n\n // Check the status again\n result = await this.getLipsync(response.id);\n attempts++;\n }\n\n // Check if we reached max attempts without completion\n if (attempts >= maxAttempts && result.status !== 'done' && result.status !== 'error') {\n throw new Error(`Lipsync task ${response.id} did not complete within the timeout period`);\n }\n\n return result;\n }\n}\n","import { CreatifyApiOptions } from '../types';\nimport { UrlToVideo } from '../types';\nimport { ICreatifyApiClient } from '../types/api-client';\nimport { apiClientFactory } from '../client-factory';\n\n/**\n * Client for interacting with the Creatify URL-to-Video API\n * @see https://creatify.mintlify.app/api-reference/link-to-video\n */\nexport class UrlToVideoApi {\n private client: ICreatifyApiClient;\n\n /**\n * Create a new UrlToVideoApi instance\n * @param options API client options\n * @param clientFactory Optional factory for creating API clients (useful for testing)\n */\n constructor(options: CreatifyApiOptions, clientFactory = apiClientFactory) {\n this.client = clientFactory.createClient(options);\n }\n /**\n * Create a link from a URL\n * @param params Parameters containing the URL\n * @returns Promise resolving to the link response\n * @see https://creatify.mintlify.app/api-reference/links/post-apilinks\n */\n async createLink(params: UrlToVideo.LinkParams): Promise<UrlToVideo.LinkResponse> {\n return this.client.post<UrlToVideo.LinkResponse>('/api/links/', params);\n }\n\n /**\n * Create a link with custom parameters\n * @param params Custom link parameters\n * @returns Promise resolving to the link response\n * @see https://creatify.mintlify.app/api-reference/links/post-apilink_with_params\n */\n async createLinkWithParams(\n params: UrlToVideo.CustomLinkParams\n ): Promise<UrlToVideo.LinkResponse> {\n return this.client.post<UrlToVideo.LinkResponse>('/api/links/link_with_params/', params);\n }\n\n /**\n * Update an existing link\n * @param id ID of the link to update\n * @param params New link parameters\n * @returns Promise resolving to the updated link data\n * @see https://creatify.mintlify.app/api-reference/links/put-apilinks-\n */\n async updateLink(\n id: string,\n params: Partial<UrlToVideo.CustomLinkParams> & { url?: string }\n ): Promise<UrlToVideo.LinkData> {\n return this.client.put<UrlToVideo.LinkData>(`/api/links/${id}/`, params);\n }\n\n /**\n * Get an existing link by ID\n * @param id ID of the link to get\n * @returns Promise resolving to the link data\n * @see https://creatify.mintlify.app/api-reference/links/get-apilinks-\n */\n async getLink(id: string): Promise<UrlToVideo.LinkData> {\n return this.client.get<UrlToVideo.LinkData>(`/api/links/${id}/`);\n }\n\n /**\n * Get all existing links\n * @param page Page number (starts from 1)\n * @param limit Number of items per page\n * @returns Promise resolving to an array of link data\n * @see https://creatify.mintlify.app/api-reference/links/get-apilinks\n */\n async getLinks(page?: number, limit?: number): Promise<UrlToVideo.LinkData[]> {\n return this.client.get<UrlToVideo.LinkData[]>('/api/links/', { page, limit });\n }\n\n /**\n * Get paginated list of links\n * @param page Page number (starts from 1)\n * @param limit Number of items per page\n * @returns Promise resolving to paginated link data\n * @see https://creatify.mintlify.app/api-reference/links/get-apilinks-paginated\n */\n async getLinksPaginated(\n page: number = 1,\n limit: number = 20\n ): Promise<{\n count: number;\n next: string | null;\n previous: string | null;\n results: UrlToVideo.LinkData[];\n }> {\n return this.client.get('/api/links/paginated/', { page, limit });\n }\n\n /**\n * Create a video from a link\n * @param params Parameters for video generation\n * @returns Promise resolving to the video response\n * @see https://creatify.mintlify.app/api-reference/link-to-video\n */\n async createVideoFromLink(\n params: UrlToVideo.VideoFromLinkParams\n ): Promise<UrlToVideo.VideoResponse> {\n return this.client.post<UrlToVideo.VideoResponse>('/api/link_to_videos/', params);\n }\n\n /**\n * Get the status and result of a video generation task\n * @param id ID of the video task\n * @returns Promise resolving to the video status and result\n * @see https://creatify.mintlify.app/api-reference/link-to-video\n */\n async getVideo(id: string): Promise<UrlToVideo.VideoResultResponse> {\n return this.client.get<UrlToVideo.VideoResultResponse>(`/api/link_to_videos/${id}/`);\n }\n\n /**\n * Get all video generation tasks\n * @returns Promise resolving to an array of video tasks\n * @see https://creatify.mintlify.app/api-reference/link-to-video\n */\n async getVideos(): Promise<UrlToVideo.VideoResultResponse[]> {\n return this.client.get<UrlToVideo.VideoResultResponse[]>('/api/link_to_videos/');\n }\n}\n","import { CreatifyApiOptions } from '../types';\nimport { TextToSpeech } from '../types';\nimport { ICreatifyApiClient } from '../types/api-client';\nimport { apiClientFactory } from '../client-factory';\n\n/**\n * Client for interacting with the Creatify Text-to-Speech API\n * @see https://creatify.mintlify.app/api-reference/text-to-speech\n */\nexport class TextToSpeechApi {\n private client: ICreatifyApiClient;\n\n /**\n * Create a new TextToSpeechApi instance\n * @param options API client options\n * @param clientFactory Optional factory for creating API clients (useful for testing)\n */\n constructor(options: CreatifyApiOptions, clientFactory = apiClientFactory) {\n this.client = clientFactory.createClient(options);\n }\n /**\n * Create a text-to-speech task to convert text into an audio file\n * @param params Parameters for the text-to-speech generation\n * @returns Promise resolving to the text-to-speech task response\n * @see https://creatify.mintlify.app/api-reference/text-to-speech/post-text-to-speech\n */\n async createTextToSpeech(\n params: TextToSpeech.TextToSpeechParams\n ): Promise<TextToSpeech.TextToSpeechResponse> {\n return this.client.post<TextToSpeech.TextToSpeechResponse>('/api/text_to_speech/', params);\n }\n\n /**\n * Get the status and result of a text-to-speech task\n * @param id ID of the text-to-speech task\n * @returns Promise resolving to the text-to-speech task status and result\n * @see https://creatify.mintlify.app/api-reference/text-to-speech/get-text-to-speech-\n */\n async getTextToSpeech(id: string): Promise<TextToSpeech.TextToSpeechResultResponse> {\n return this.client.get<TextToSpeech.TextToSpeechResultResponse>(`/api/text_to_speech/${id}/`);\n }\n\n /**\n * Get all text-to-speech tasks\n * @param page Page number (starts from 1)\n * @param limit Number of items per page\n * @returns Promise resolving to an array of text-to-speech tasks\n * @see https://creatify.mintlify.app/api-reference/text-to-speech/get-text-to-speech\n */\n async getTextToSpeechList(\n page?: number,\n limit?: number\n ): Promise<TextToSpeech.TextToSpeechResultResponse[]> {\n return this.client.get<TextToSpeech.TextToSpeechResultResponse[]>('/api/text_to_speech/', {\n page,\n limit,\n });\n }\n\n /**\n * Get paginated list of text-to-speech tasks\n * @param page Page number (starts from 1)\n * @param limit Number of items per page\n * @returns Promise resolving to paginated text-to-speech data\n * @see https://creatify.mintlify.app/api-reference/text-to-speech/get-text-to-speech\n */\n async getTextToSpeechPaginated(\n page: number = 1,\n limit: number = 20\n ): Promise<{\n count: number;\n next: string | null;\n previous: string | null;\n results: TextToSpeech.TextToSpeechResultResponse[];\n }> {\n return this.client.get('/api/text_to_speech/paginated/', { page, limit });\n }\n\n /**\n * Helper method to create a text-to-speech and wait for completion\n * @param params Parameters for the text-to-speech generation\n * @param pollInterval Interval in milliseconds to check for completion (default: 5000)\n * @param maxAttempts Maximum number of polling attempts (default: 60, about 5 minutes)\n * @returns Promise resolving to the final text-to-speech result\n */\n async createAndWaitForTextToSpeech(\n params: TextToSpeech.TextToSpeechParams,\n pollInterval = 5000,\n maxAttempts = 60\n ): Promise<TextToSpeech.TextToSpeechResultResponse> {\n // Create the text-to-speech task\n const response = await this.createTextToSpeech(params);\n\n // Poll for completion\n let attempts = 0;\n let result = await this.getTextToSpeech(response.id);\n\n while (attempts < maxAttempts && result.status !== 'done' && result.status !== 'error') {\n // Wait for the specified interval\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n\n // Check the status again\n result = await this.getTextToSpeech(response.id);\n attempts++;\n }\n\n // Check if we reached max attempts without completion\n if (attempts >= maxAttempts && result.status !== 'done' && result.status !== 'error') {\n throw new Error(\n `Text-to-speech task ${response.id} did not complete within the timeout period`\n );\n }\n\n return result;\n }\n}\n","import { CreatifyApiOptions } from '../types';\nimport { AiEditing } from '../types';\nimport { ICreatifyApiClient } from '../types/api-client';\nimport { apiClientFactory } from '../client-factory';\n\n/**\n * Client for interacting with the Creatify AI Editing API\n * @see https://creatify.mintlify.app/api-reference/ai-editing\n */\nexport class AiEditingApi {\n private client: ICreatifyApiClient;\n\n /**\n * Create a new AiEditingApi instance\n * @param options API client options\n * @param clientFactory Optional factory for creating API clients (useful for testing)\n */\n constructor(options: CreatifyApiOptions, clientFactory = apiClientFactory) {\n this.client = clientFactory.createClient(options);\n }\n /**\n * Create an AI editing task to edit a video with AI\n * @param params Parameters for the AI editing task\n * @returns Promise resolving to the AI editing task response\n * @see https://creatify.mintlify.app/api-reference/ai-editing\n */\n async createAiEditing(params: AiEditing.AiEditingParams): Promise<AiEditing.AiEditingResponse> {\n return this.client.post<AiEditing.AiEditingResponse>('/api/ai_editing/', params);\n }\n\n /**\n * Get the status and result of an AI editing task\n * @param id ID of the AI editing task\n * @returns Promise resolving to the AI editing task status and result\n * @see https://creatify.mintlify.app/api-reference/ai-editing\n */\n async getAiEditing(id: string): Promise<AiEditing.AiEditingResultResponse> {\n return this.client.get<AiEditing.AiEditingResultResponse>(`/api/ai_editing/${id}/`);\n }\n\n /**\n * Get all AI editing tasks\n * @returns Promise resolving to an array of AI editing tasks\n * @see https://creatify.mintlify.app/api-reference/ai-editing\n */\n async getAiEditingList(): Promise<AiEditing.AiEditingResultResponse[]> {\n return this.client.get<AiEditing.AiEditingResultResponse[]>('/api/ai_editing/');\n }\n\n /**\n * Helper method to create an AI editing task and wait for completion\n * @param params Parameters for the AI editing task\n * @param pollInterval Interval in milliseconds to check for completion (default: 5000)\n * @param maxAttempts Maximum number of polling attempts (default: 120, about 10 minutes)\n * @returns Promise resolving to the final AI editing result\n */\n async createAndWaitForAiEditing(\n params: AiEditing.AiEditingParams,\n pollInterval = 5000,\n maxAttempts = 120\n ): Promise<AiEditing.AiEditingResultResponse> {\n // Create the AI editing task\n const response = await this.createAiEditing(params);\n\n // Poll for completion\n let attempts = 0;\n let result = await this.getAiEditing(response.id);\n\n while (attempts < maxAttempts && result.status !== 'done' && result.status !== 'error') {\n // Wait for the specified interval\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n\n // Check the status again\n result = await this.getAiEditing(response.id);\n attempts++;\n }\n\n // Check if we reached max attempts without completion\n if (attempts >= maxAttempts && result.status !== 'done' && result.status !== 'error') {\n throw new Error(`AI editing task ${response.id} did not complete within the timeout period`);\n }\n\n return result;\n }\n}\n","import { CreatifyApiOptions } from '../types';\nimport { CustomTemplates } from '../types';\nimport { ICreatifyApiClient } from '../types/api-client';\nimport { apiClientFactory } from '../client-factory';\n\n/**\n * Client for interacting with the Creatify Custom Templates API\n * @see https://creatify.mintlify.app/api-reference/custom-templates\n */\nexport class CustomTemplatesApi {\n private client: ICreatifyApiClient;\n\n /**\n * Create a new CustomTemplatesApi instance\n * @param options API client options\n * @param clientFactory Optional factory for creating API clients (useful for testing)\n */\n constructor(options: CreatifyApiOptions, clientFactory = apiClientFactory) {\n this.client = clientFactory.createClient(options);\n }\n /**\n * Create a video using a custom template\n * @param params Parameters for the custom template video generation\n * @returns Promise resolving to the custom template task response\n * @see https://creatify.mintlify.app/api-reference/custom-templates\n */\n async createCustomTemplate(\n params: CustomTemplates.CustomTemplateParams\n ): Promise<CustomTemplates.CustomTemplateResponse> {\n return this.client.post<CustomTemplates.CustomTemplateResponse>(\n '/api/custom_templates/',\n params\n );\n }\n\n /**\n * Get the status and result of a custom template task\n * @param id ID of the custom template task\n * @returns Promise resolving to the custom template task status and result\n * @see https://creatify.mintlify.app/api-reference/custom-templates\n */\n async getCustomTemplate(id: string): Promise<CustomTemplates.CustomTemplateResultResponse> {\n return this.client.get<CustomTemplates.CustomTemplateResultResponse>(\n `/api/custom_templates/${id}/`\n );\n }\n\n /**\n * Get all custom template tasks\n * @returns Promise resolving to an array of custom template tasks\n * @see https://creatify.mintlify.app/api-reference/custom-templates\n */\n async getCustomTemplateList(): Promise<CustomTemplates.CustomTemplateResultResponse[]> {\n return this.client.get<CustomTemplates.CustomTemplateResultResponse[]>(\n '/api/custom_templates/'\n );\n }\n\n /**\n * Helper method to create a custom template video and wait for completion\n * @param params Parameters for the custom template video generation\n * @param pollInterval Interval in milliseconds to check for completion (default: 5000)\n * @param maxAttempts Maximum number of polling attempts (default: 120, about 10 minutes)\n * @returns Promise resolving to the final custom template result\n */\n async createAndWaitForCustomTemplate(\n params: CustomTemplates.CustomTemplateParams,\n pollInterval = 5000,\n maxAttempts = 120\n ): Promise<CustomTemplates.CustomTemplateResultResponse> {\n // Create the custom template task\n const response = await this.createCustomTemplate(params);\n\n // Poll for completion\n let attempts = 0;\n let result = await this.getCustomTemplate(response.id);\n\n while (attempts < maxAttempts && result.status !== 'done' && result.status !== 'error') {\n // Wait for the specified interval\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n\n // Check the status again\n result = await this.getCustomTemplate(response.id);\n attempts++;\n }\n\n // Check if we reached max attempts without completion\n if (attempts >= maxAttempts && result.status !== 'done' && resul