UNPKG

magically-sdk

Version:

Official SDK for Magically - Build mobile apps with AI

43 lines (42 loc) 2.02 kB
import { MagicallyAuth } from './MagicallyAuth'; import { SDKConfig, LLMMessage, InvokeOptions, ChatOptions, ImageOptions, TranscribeOptions, InvokeTextResponse, ChatResponse, SingleImageResponse, MultipleImageResponse, ModelsResponse, TranscribeResponse } from './types'; export declare class MagicallyLLM { private config; private auth; private logger; private apiClient; constructor(config: SDKConfig, auth: MagicallyAuth); /** * Generate text or structured output using AI * @param prompt - The text prompt for generation * @param options - Optional parameters (model, temperature, response_json_schema, images) * @returns Generated text or structured object based on schema */ invoke<T = InvokeTextResponse>(prompt: string, options?: InvokeOptions): Promise<T>; /** * Chat with AI using conversation messages * @param messages - Array of conversation messages (supports images in content) * @param options - Optional parameters (model, temperature, stream) * @returns AI response message with usage info */ chat(messages: LLMMessage[], options?: ChatOptions): Promise<ChatResponse>; /** * Generate images using AI * @param prompt - Description of the image to generate * @param options - Optional parameters (model, size, quality, n) * @returns Image URL(s) and metadata */ image(prompt: string, options?: ImageOptions): Promise<SingleImageResponse | MultipleImageResponse>; /** * Transcribe audio to text using AI * @param audio - Audio data as base64 string (data:audio/webm;base64,...) or file:// URL * @param options - Optional parameters (model, language, format, etc.) * @returns Transcribed text and metadata */ transcribe(audio: string, options?: TranscribeOptions): Promise<TranscribeResponse>; /** * Get available AI models * @returns List of available text and image models with defaults */ models(): Promise<ModelsResponse>; }