quickstart

First render in five minutes

One key and one base URL cover every model in the catalog. Three steps.

  1. 1

    Get your API key

    Signed in on app.sogni.ai?

    Your key is one click away — it appears right here once you're signed in.

    Create free account

    Sogni issues one key per account, created the moment you ask for it. New accounts are free and include 400 Spark a month — enough for hundreds of Z-Image Turbo renders through the API.

    Keep it in an environment variable; every example below reads SOGNI_API_KEY. You can also manage the key at dashboard.sogni.ai.

  2. 2

    First image — free-tier eligible

    Z-Image Turbo renders in seconds for 0.8 ◈ (~$0.004) — and it's the model free monthly Spark can drive. Install the SDK with npm i @sogni-ai/sogni-client, or go pure REST with the workflow endpoint.

    import { SogniClient } from '@sogni-ai/sogni-client';
    
    const client = await SogniClient.createInstance({
      appId: crypto.randomUUID(),
      apiKey: process.env.SOGNI_API_KEY,
      network: 'fast',
    });
    
    const project = await client.projects.create({
      type: 'image',
      modelId: 'z_image_turbo_bf16',
      positivePrompt: 'a slothicorn surfing a wave of liquid paint, studio lighting',
      numberOfMedia: 1,
    });
    
    const [url] = await project.waitForCompletion();
    console.log(url); // result link — download within 24h
  3. 3

    First video & first song

    Same key, same shape. LTX-2.3 generates a five-second clip with native audio for ~$0.07; ACE-Step writes a 30-second track for half a cent.

    import { SogniClient } from '@sogni-ai/sogni-client';
    
    const client = await SogniClient.createInstance({
      appId: crypto.randomUUID(),
      apiKey: process.env.SOGNI_API_KEY,
      network: 'fast',
    });
    
    const project = await client.projects.create({
      type: 'video',
      modelId: 'ltx23-22b-fp8_t2v_distilled',
      positivePrompt: 'a slothicorn surfing a wave of liquid paint, slow push-in, cinematic',
      numberOfMedia: 1,
      duration: 5,
    });
    
    const [url] = await project.waitForCompletion();
    console.log(url); // result link — download within 24h
    import { SogniClient } from '@sogni-ai/sogni-client';
    
    const client = await SogniClient.createInstance({
      appId: crypto.randomUUID(),
      apiKey: process.env.SOGNI_API_KEY,
      network: 'fast',
    });
    
    const project = await client.projects.create({
      type: 'audio',
      modelId: 'ace_step_1.5_turbo',
      positivePrompt: 'dreamy synthwave with a warm bassline',
      lyrics: undefined, // omit for instrumental
      numberOfMedia: 1,
      duration: 30,
    });
    
    const [url] = await project.waitForCompletion();
    console.log(url); // result link — download within 24h

Always know the price first

Every modality has a public estimate endpoint returning Spark and USD — the same quotes this site shows on every model page. Durable workflows can also require cost confirmation before they run (confirm_cost).

# Know the price first — estimates are free, no auth required.
# 5s of LTX-2.3 at 720p:
curl 'https://socket.sogni.ai/api/v1/job-video/estimate/spark/ltx23-22b-fp8_t2v_distilled/1280/720/121/24/8/1'
# → { "quote": { "project": { "costInSpark": "13.8…", "costInUSD": "0.069…" } } }

Go deeper

Base URL https://api.sogni.ai · results are stored for 24 hours — download what you want to keep · NSFW filter is on by default for API renders.