JSPM

@unityclaw/sdk

1.2.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 10
    • Score
      100M100P100Q62983F
    • License MIT

    Node.js SDK for UnityClaw API - AI-powered image/video generation, media analysis, and more

    Package Exports

    • @unityclaw/sdk

    Readme

    @unityclaw/sdk

    Node.js SDK for UnityClaw API - AI-powered image/video generation, media analysis, document processing, and more.

    Installation

    npm install @unityclaw/sdk

    Quick Start

    import { UnityClawClient } from '@unityclaw/sdk';
    
    // Reads UNITYCLAW_API_KEY from environment variable
    const client = new UnityClawClient();
    
    // Or with explicit config
    const client = new UnityClawClient({
      apiKey: 'your-api-key',
      baseUrl: 'https://unityclaw.com',
      taskDir: './tasks',
      timeout: 900000 // 15 minutes
    });
    
    // Generate image
    const imageResult = await client.image.jimeng({
      prompt: 'A beautiful sunset over mountains',
      size: '2048x2048'
    });
    
    // Generate video (Kling)
    const videoResult = await client.video.kling({
      prompt: 'A cat playing piano',
      model: 'kling-v2-6',
      aspect_ratio: '16:9',
      duration: '5'
    });
    
    // Translate document (local file will be auto-uploaded to get tmp_url)
    const docResult = await client.document.translate({
      attachment: [{ path: './files/doc.pdf' }],
      source_language: { value: 'en', label: 'English' },
      target_language: { value: 'zh', label: 'Chinese' }
    });
    
    // Analyze media
    const mediaResult = await client.media.analyze({
      url: [{ link: 'https://youtube.com/watch?v=...' }]
    });

    Configuration

    Environment Variables

    • UNITYCLAW_API_KEY - Your UnityClaw API key
    • UNITYCLAW_BASE_URL - API base URL (optional, defaults to https://unityclaw.com)

    CLI Configuration

    Use the CLI to persist configuration:

    # Install globally
    npm install -g @unityclaw/sdk
    
    # Set API key (stored in ~/.unityclaw/config.json)
    unityclaw-sdk config set apiKey your-api-key
    
    # Set custom base URL
    unityclaw-sdk config set baseUrl https://custom.example.com
    
    # View current configuration
    unityclaw-sdk config
    
    # Get a specific value
    unityclaw-sdk config get apiKey

    Configuration Priority

    1. Constructor parameters (highest priority)
    2. Environment variables
    3. Config file (~/.unityclaw/config.json)
    4. Default values (lowest priority)

    Task Folders

    Each SDK execution creates a task folder with:

    • logs/request.json - Request details
    • logs/response.json - API response
    • logs/execution.log - Execution log
    • attachments/ - Downloaded attachments (to avoid link expiration)

    Default Task Directory

    Tasks are stored in ~/Documents/tasks/ by default. You can override this:

    const client = new UnityClawClient({
      taskDir: '/path/to/custom/tasks'
    });

    API Reference

    Image Generation

    // JiMeng
    await client.image.jimeng({
      prompt: 'A sunset over mountains',
      size: '2048x2048'
    });
    
    // JiMeng (Doubao)
    await client.image.jimeng({
      prompt: 'A futuristic city',
      model: 'v6.0'
    });

    Video Generation

    // Kling
    await client.video.kling({
      prompt: 'A dancing robot',
      model: 'kling-v1-5'
    });

    Document Processing

    // Translate document
    await client.document.translate({
      attachment: [{ tmp_url: 'https://...', name: 'doc.pdf' }],
      source_language: { value: 'en', label: 'English' },
      target_language: { value: 'zh', label: 'Chinese' }
    });
    
    // Convert document
    await client.document.convert({
      attachment: [{ path: './files/doc.pdf' }],
      input_format: 'pdf',
      output_format: 'docx'
    });

    Media Analysis

    const result = await client.media.analyze({
      url: [{ link: 'https://youtube.com/watch?v=...' }]
    });
    
    console.log(result.response.data?.summary);
    console.log(result.response.data?.subtitle);

    License

    MIT