Janus Studio in five minutes
Janus Studio is 17 game-making tools in one browser tab. There is nothing to install and no signup to start: every visitor gets 100 free credits. Browser tools such as Pixel Snap, Chroma Key and SFX Lab are free and unlimited; AI tools spend credits, and the price is always on the button before you click.
- 1Open Janus Studio and pick a tool, or type an idea into the prompt on the home page.
- 2Make something. Every result is saved to My Library automatically, with its provenance record.
- 3Use Send to… on any result to hand it to another tool: an Image Forge character can go straight into Background Remover, Sprite Forge or Voxel Forge.
- 4Sign up free when you're ready. Your guest library and credits move to your account, plus 200 bonus credits.
Game Genie: one sentence to a playable game
Game Genie writes a complete, playable browser game from a description and keeps iterating with you in chat. A build costs 5 credits on Fast or 20 on Pro.
Write a prompt that plays well
Great prompts name four things: the genre, what the player controls, the goal, and one twist.
A top-down arcade game where you steer a tiny lighthouse beam to guide boats home.
Arrow keys rotate the beam; boats in the light speed up.
Score a point per boat docked; three crashes ends the run.
Twist: fog rolls in every 30 seconds and shrinks the beam.Pick a runtime
phaser is the default and best for 2D arcade and platformers, three for 3D scenes, and canvas for tiny, dependency-free games.
Iterate, add your assets, publish
- 1Ask for changes in plain English: “make the boats faster after level 3”, “add a start screen”. Each turn rebuilds the game.
- 2Attach sprites, backgrounds and sounds from your library; Game Genie wires them in with the role you give them (player, enemy, background, music).
- 3Publish to the Arcade with a title and cover (free account required), or download the single-file HTML and host it anywhere.
The sprite pipeline
Go from a character idea to an engine-ready animated atlas. Each step hands its result to the next with Send to…
- 1Image Forge: describe your character and choose the Game sprite (green screen) style. Sprites come back on flat #00FF00 so they cut cleanly.
- 2Chroma Key (free) or Background Remover: remove the key color for real alpha with despill.
- 3Sprite Forge: generate idle, walk, run and attack frames on a consistent grid, auto-keyed and pixel-snapped.
- 4Pixel Snap (free): lock frames to a true pixel grid and a palette such as PICO-8, NES or Endesga 32.
- 5Sprite Slicer and Atlas Packer (free): preview the animation, tag clips, then pack an atlas with edge extrusion for your engine.
Exporting to Bevy, Phaser and Godot
Atlas Packer writes a packed PNG plus an engine-specific sidecar. Atlases are uniform grids, un-rotated and edge-extruded, so they load with each engine's standard API.
Bevy
The Bevy sidecar records tile_size, columns, rows and padding, matching TextureAtlasLayout::from_grid exactly.
fn spawn_hero( mut commands: Commands, assets: Res<AssetServer>, mut layouts: ResMut<Assets<TextureAtlasLayout>>, ) { let texture = assets.load("hero.png"); // values from hero.atlas.json: tile_size, columns, rows, padding let grid = TextureAtlasLayout::from_grid(UVec2::new(64, 64), 8, 1, None, None); let layout = layouts.add(grid); commands.spawn(Sprite::from_atlas_image(texture, TextureAtlas { layout, index: 0 })); }
Phaser 3
// preload() this.load.atlas('hero', 'hero.png', 'hero.json'); // create() this.anims.create({ key: 'walk', frames: this.anims.generateFrameNames('hero'), frameRate: 12, repeat: -1, }); this.add.sprite(400, 300, 'hero').play('walk');
Godot 4
Godot exports are a ready-made SpriteFrames resource. Put the PNG and the .tres in your project, then assign it to an AnimatedSprite2D.
extends AnimatedSprite2D func _ready(): sprite_frames = load("res://hero_frames.tres") play("walk")
Other formats: Voxel Forge exports GLB and .vox, SFX Lab, Voice Studio and Music Studio export WAV or MP3, and Game Genie games download as a single HTML file.
API & MCP
Every metered tool is available over REST at /api/v1 and as an MCP server at /api/mcp, authenticated with a personal API key. Calls spend the same credits, carry the same provenance and land in the same library as the Studio.
# Claude Code claude mcp add --transport http janus https://janusengine.com/api/mcp \ --header "Authorization: Bearer $JANUS_API_KEY"
Janus Engine overview
Janus is an AI-native engine written in Rust on Bevy. Its governing rule is one sentence: the ECS is canonical reality; all AI is influence that must be validated before it commits.
- Semantic Action Compiler: the single gateway every intent passes through: seven fixed stages, audit written before commit.
- Cognition Tier Scheduler: decides when each character thinks and on which model, from local heuristics to frontier cloud models.
- NPC memory: working, episodic and long-term memory per character, with provenance and poisoning-resistant consolidation.
- The Director: a constrained narrative agent with seven allow-listed intents; it can never touch player state.
- Generative content pipeline: the same orchestration that powers Janus Studio, producing content that fits engine data contracts.
- Identity Anchor + audit: optional verified player identity and a signed, append-only log of every authority-bearing AI decision.