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_xxxxxxxxxxxxxxxxPOST /api/generate
Generate one or more images for a given studio mode.
| Field | Type | Notes |
|---|---|---|
| mode | string | sprite | tile | character | logo | props | parallax | ui |
| prompt | string | Freeform description. Max 2,000 chars. |
| style | string? | e.g. pixel-art, hand-drawn, vector |
| n | number? | 1–4 (default 1). Each variant costs credits. |
| reference_images | string[]? | 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.