S
spritesynthDOCS

Batch Generation Strategies

Generate multiple assets efficiently — queuing, parallel generation, and organizing results by project.

Overview

When you need a dozen tree variants, eight NPCs, or a full tileset, generating one asset at a time is impractical. Batch generation lets you queue multiple jobs and collect results as they complete. Combined with project organization, you can generate an entire biome's worth of assets in a single session.

Step 1: Create a Batch Project

Set up a project to collect all batch results:

curl -X POST https://api.spritesynth.com/v1/projects \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Forest Biome Batch",
    "description": "All assets for the forest area — trees, rocks, bushes, flowers"
  }'

Step 2: Queue Multiple Generations

Fire off generation requests in parallel, assigning each to the project:

# Object batch — trees and rocks as game objects
curl -X POST https://api.spritesynth.com/v1/objects \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "pixel art oak tree, green canopy, brown trunk",
    "name": "Oak Tree",
    "project_id": "your-project-uuid"
  }'

curl -X POST https://api.spritesynth.com/v1/objects \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "pixel art pine tree, dark green, snowy tips",
    "name": "Pine Tree",
    "project_id": "your-project-uuid"
  }'

Generations run asynchronously. Each returns a generation_id you can poll for completion.

Step 3: Simple Image Batch Generation

For standalone image assets (icons, effects, decorations), use the generations endpoint directly:

curl -X POST https://api.spritesynth.com/v1/generations/image \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
"prompt": "pixel art sparkle effect, yellow star burst",
    "width": 16,
    "height": 16,
    "project_id": "your-project-uuid"
  }'

curl -X POST https://api.spritesynth.com/v1/generations/image \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
"prompt": "pixel art coin icon, gold, side view",
    "width": 16,
    "height": 16,
    "project_id": "your-project-uuid"
  }'

Simple image generations are faster and cheaper than full character or object endpoints — use them for any asset that doesn't need directional states.

Step 4: Save Repeatable Batch Configs

After finding a prompt structure that works, save it as a template for future batches:

curl -X POST https://api.spritesynth.com/v1/templates \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Forest Tree Batch",
    "type": "generation",
    "config": {
"width": 32,
      "height": 32,
      "prompt_template": "pixel art {variant} tree, {color} canopy, forest style"
    }
  }'

On your next batch, apply the template and override only the prompt variables:

curl -X POST https://api.spritesynth.com/v1/templates/{template_id}/apply \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "overrides": {
      "prompt": "pixel art pine tree, dark green canopy, forest style"
    }
  }'

Step 5: Poll for Results

Check generation status periodically:

curl https://api.spritesynth.com/v1/generations/{generation_id} \
  -H "Authorization: Bearer YOUR_API_KEY"

When status is completed, the asset is ready in your project. Failed generations get credits refunded automatically.

Tips

  • Queue during downtime — Start batch generations before lunch or at the end of your day. Results will be ready when you return.
  • Vary prompts systematically — Change one parameter at a time (color, size, equipment) to build a varied but consistent asset library.
  • Use templates for repeatable batches — Save a successful prompt as a template, then apply it with minor modifications for each batch.

Need help?

Join our Discord community for support and tips.

Was this page helpful?

On this page