DesiStudio
Loading studio…

Developers

Plugin API for Unity, Godot & Phaser

Generate sprites, tiles, characters, and props straight from your game engine. The official Unity package and Godot addon are in closed beta — the same HTTP endpoints they use are documented below so you can start integrating today.

Beta notice: the public API is in preview. Endpoints may change until v1. Every request debits credits from your DesiStudio account.

Authentication

Requests are authenticated with a bearer token tied to your DesiStudio account. Personal tokens land in your dashboard when the developer program opens — until then, beta partners get keys by email at hello@desistudio.com.

Authorization: Bearer sf_pk_live_xxxxxxxxxxxxxxxx

POST /api/generate

Generate one or more images for a given studio mode.

FieldTypeNotes
modestringsprite | tile | character | logo | props | parallax | ui
promptstringFreeform description. Max 2,000 chars.
stylestring?e.g. pixel-art, hand-drawn, vector
nnumber?1–4 (default 1). Each variant costs credits.
reference_imagesstring[]?Up to 3 base64 data URLs for style-lock.
curl -X POST https://desistudio.com/api/generate \
  -H "Authorization: Bearer $SPRITE_FORGE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "sprite",
    "prompt": "16x16 knight sprite, side view, 4-frame walk cycle",
    "style": "pixel-art",
    "n": 4
  }'

Unity (C#)

// UnityWebRequest example — coming in the official package
using UnityEngine;
using UnityEngine.Networking;

var body = "{\"mode\":\"sprite\",\"prompt\":\"knight walk cycle\"}";
var req = new UnityWebRequest("https://desistudio.com/api/generate", "POST");
req.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(body));
req.downloadHandler = new DownloadHandlerBuffer();
req.SetRequestHeader("Authorization", "Bearer " + apiToken);
req.SetRequestHeader("Content-Type", "application/json");
yield return req.SendWebRequest();

Godot (GDScript)

# Godot 4.x — HTTPRequest node
var http := HTTPRequest.new()
add_child(http)
var headers = ["Authorization: Bearer %s" % api_token, "Content-Type: application/json"]
var body = JSON.stringify({ "mode": "sprite", "prompt": "knight walk cycle" })
http.request("https://desistudio.com/api/generate", headers, HTTPClient.METHOD_POST, body)

Rate limits & credits

  • 20 requests / minute per token.
  • 200 requests / hour per token.
  • Package-based daily cap (Free 20 · Hobby 40 · Starter 200 · Pro 400).
  • Failed generations are auto-refunded.

Get early access

Want the official Unity .unitypackage or Godot addon before public release? Email hello@desistudio.com with your engine, project name, and target platform. We add ~10 studios / week.