magically-sdk
Version:
Official SDK for Magically - Build mobile apps with AI
43 lines (42 loc) • 2.02 kB
TypeScript
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>;
}