Back to Browse

Ludo MCP Server

Developer ToolsLow Risk8.2MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Generate game assets with AI: sprites, animations, 3D models with rigging, video, music, SFX, voices

About

Generate game assets with AI: sprites, animations, 3D models with rigging, video, music, SFX, voices

Remote endpoints: streamable-http: https://mcp.ludo.ai/mcp

Security Report

8.2
Low Risk8.2Low Risk

This is a well-documented MCP server for the Ludo AI game asset generation API. Authentication is properly implemented via API key headers, permissions are appropriate for the service's purpose (network HTTP calls to the Ludo API), and there are no malicious patterns or dangerous code execution risks. Minor concerns include reliance on API key security at the client level and the need for users to understand URL expiration semantics, but these are not critical issues.

1 file analyzed · 4 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

Ludo AI MCP Server

Generate game assets using AI through the Model Context Protocol (MCP).

Features

CategoryCapabilities
ImagesSprites, icons, screenshots, backgrounds, UI assets, textures, background removal
3D ModelsConvert 2D images to GLB models with PBR textures, auto-rig models (skeleton + skin weights, engine-ready joint naming), text-driven skeletal animation, retarget curated animation presets onto rigged models
AnimationAnimated spritesheets from static sprites (4-64 frames), keyframe animation through up to three fixed frames, motion transfer from video or presets, spritesheet editing (re-prompt, outpaint, loop fixing), sound effects for a spritesheet
VideoGenerate short videos from images or reference images (5-15 seconds, with a soundtrack), prompt-driven video editing, 2x upscaling
AudioSound effects, background music, character voices, TTS
Jobs & HistoryAsync job queue: submit, poll or long-poll, list and cancel jobs (queued jobs refund their credits), plus paginated generation history across the API and the web app
AccountCredit balance, plan and auto top-up settings, to check before an expensive generation
DocumentationSearch or read Ludo's own feature guidance before generating: animation modes, model choice, margins, known limitations
FeedbackReport a limitation, bug or missing capability straight to the Ludo team

Quick Start

1. Get an API Key

Sign up at ludo.ai and get your API key from app.ludo.ai.

2. Configure Your MCP Client

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "ludo": {
      "url": "https://mcp.ludo.ai/mcp",
      "headers": {
        "Authorization": "ApiKey YOUR_API_KEY"
      }
    }
  }
}
Cursor

Add to your MCP settings in Cursor preferences:

{
  "mcpServers": {
    "ludo": {
      "url": "https://mcp.ludo.ai/mcp",
      "headers": {
        "Authorization": "ApiKey YOUR_API_KEY"
      }
    }
  }
}

Available Tools

Generation tools run on a job queue and return a job id immediately; the Returns field of each tool below describes the result you get back from getApiJob once the job succeeds. See How Generation Calls Work.

Models

Sprite animation, motion transfer, spritesheet editing and video generation take an optional model. Pick from the current models; the defaults are what the Ludo web app uses.

ModelUsed forNotes
hydraSprite animation, keyframes, motion transfer and spritesheet editing (the default for all four)Most capable all-around model; its spritesheets come with a generated sound effect (audio_url, an mp3). 3 credits/s, shortest animation 3s (9 credits minimum)
forgeSprite animation, keyframes, motion transfer, spritesheet editingCost-effective, for basic animations and simple sprites; on motion transfer it works best with presets and matching poses. Multiple tries might be needed. 1.5 credits/s on animation, 2 credits/s on transfer and editing, 4-credit minimum charge
forge-pixelSame actions as forgeSame pricing as forge; for low-res pixel-art sprites
griffinVideo generation (default), video from references (default)Fast cinematic 480p video with a soundtrack. 1.5 credits/s (2.5 credits/s from references), 5s minimum
griffin-hdVideo editing (default), video generation, video from referencesSame as Griffin in 720p. 2 credits/s (4 credits/s from references), 5s minimum. Its output is too large for upscaleVideo

Legacy models - blitz, eagle, eagle-audio, tango (and the alias standard) - are still accepted so existing integrations keep working, but they are scheduled for removal. Do not use them for new work. The server marks them LEGACY in every tool description and lists them last.

Search Documentation (searchDocs)

Ask Ludo's own documentation a plain-language question and get back only the few sections that answer it: how to choose a sprite animation mode, when to use Generate Before / Generate After, how margins behave, which model suits a job, what something costs, and each generator's known limitations. This is the fastest way to learn how a feature is meant to be used before generating with it, so start here rather than reading whole documents.

ParameterRequiredDescription
queryYesWhat you want to know, in plain language (up to 500 characters), e.g. "how do I keep a sprite animation's colors consistent"
nNoMaximum number of sections to return (1-10, default: 3)

Returns:

  • results: Array of { doc, label, section, relevance, content }, best first. content is the section's full markdown; doc and section can be passed straight to getDocs to read it again. relevance is a 0-1 match score, and only results scoring 0.6 or higher are returned
  • message: Present only when results is empty, which means the documentation does not cover the question. Rephrase it, or browse with getDocs

If the search backend is briefly unavailable the tool returns 503; fall back to getDocs rather than retrying in a loop.

Credits: Free


Feature Documentation (getDocs)

Browse or read Ludo's documentation in full. This is the same documentation the Ludo web app shows its users, so it occasionally describes buttons rather than parameters; the substance applies here just the same. To answer a specific question, use searchDocs first.

Call it with no parameters to get a table of contents, then again with doc (and ideally sections) to read only what you need. The whole corpus is roughly 280,000 characters, so fetching a full document without naming sections can return tens of thousands of characters.

ParameterRequiredDescription
docNoDocument to read. Omit for the table of contents. One of assistant, game-ideator, image-generator, project, account, faq, 3d-generator, video-generator, sprite-generator, audio-generator, api-mcp, game-asset-generation
sectionsNoSection titles to return from doc, matched ignoring case, spacing and punctuation. Only valid together with doc

Returns:

  • docs: Array of { id, label, sections }, where each section is { title, content }. content is markdown, and is omitted from the table of contents
  • unmatched_sections / available_sections: Present only when some, but not all, requested titles matched: the titles that matched nothing, and every valid title of doc

An unknown doc, or a request where no section title matches, returns 400 listing the valid values, so a wrong guess costs one extra call rather than a dead end.

The server also announces both documentation tools to MCP clients via its instructions field during the initialize handshake, so models connected through clients that surface server instructions are told to search the documentation before generating.

Credits: Free


Image Generation (createImage)

Generate sprites, icons, backgrounds, UI assets, and textures from a text prompt alone (no source image needed). To match the art style of an existing image use generateWithStyle, to modify an existing image use editImage, and to cut out a subject use removeBackground.

ParameterRequiredDescription
promptYesDetailed description of the image
image_typeYessprite, icon, screenshot, art, asset, sprite-vfx, ui_asset, fixed_background, side_scrolling_background, texture, horizontal_tile, tile, item-icon, portrait, card-art, splash, 3d, generic
art_styleNo8-Bit, 16-Bit, 32-Bit, Hi-Bit, Low Poly, Stylized 3D, Voxel Art, Flat Design, Anime/Manga, Western Cartoon, Hand-Painted, Photorealistic 3D, Cel-Shaded, etc.
perspectiveNoSide-Scroll, Top-Down, Isometric, First-Person, Third-Person, 2.5D
aspect_ratioNodefault, ar_1_1, ar_4_3, ar_16_9, ar_9_16
nNoNumber of variations (1-8, default: 1)
request_idNoClient-provided ID to retrieve results later

Credits: 0.5 per image


Edit Image (editImage)

Modify an existing image using text instructions (smart editing).

ParameterRequiredDescription
imageYesURL or base64-encoded image to edit
promptYesDescription of changes (e.g., "remove the background", "make it darker", "add clouds to the sky")
reference_imageNoURL or base64 reference image for style/content guidance
nNoNumber of variations (1-4, default: 1)
request_idNoClient-provided ID to retrieve results later

Credits: 0.5 per image


Generate with Style (generateWithStyle)

Generate new content while maintaining the visual style of a reference image.

ParameterRequiredDescription
style_imageYesURL or base64-encoded reference image for style matching
promptYesDescription of what to generate (e.g., "a warrior character", "a treasure chest")
image_typeYessprite, icon, screenshot, art, asset, sprite-vfx, ui_asset, fixed_background, texture, 3d, generic
nNoNumber of variations (1-4, default: 1)
request_idNoClient-provided ID to retrieve results later

Credits: 0.5 per image


Generate Pose (generatePose)

Generate a new pose for an existing sprite. Use this BEFORE animateSprite to get the best animation results - the starting pose should match your intended animation.

ParameterRequiredDescription
imageYesURL or base64-encoded sprite image
poseYesTarget pose: Idle (Front), Idle (Back), Idle (Left Facing), Idle (Right Facing), Walk (Left), Walk (Right), Run (Left), Run (Right), Crouching, Crawling, Sitting, Attack Ready, Jump Preparation, Defending / Blocking, Flying, Sleeping, or Other (with a free-text description)
descriptionNoAdditional instructions to guide pose generation
nNoNumber of variations (1-4, default: 1)
request_idNoClient-provided ID to retrieve results later

Returns: url, pose, motion_prompt

Example workflow:

  1. Generate a "Walk (Left)" pose with generatePose
  2. Use the returned motion_prompt directly in animateSprite for optimal animation results

Credits: 0.5 per image


Rotate Sprite (rotateSprite)

Rotate the camera view of an existing sprite to a new angle, keeping the same character and pose. Useful for generating turnaround / directional views of a sprite.

ParameterRequiredDescription
imageYesURL or base64-encoded sprite image
camera_rotationYesCamera azimuth in degrees: 0 (front), 45 (front-right), 90 (right side), 135 (back-right), 180 (back), -135 (back-left), -90 (left side), -45 (front-left)
camera_elevationNoCamera tilt in degrees: 0 (eye-level), 30 (elevated), 60 (high-angle). Omit to keep the sprite's current elevation.
nNoNumber of variations (1-4, default: 1)
request_idNoClient-provided ID to retrieve results later

Returns: url, camera_rotation, camera_elevation

Credits: 0.5 per image


Remove Background (removeBackground)

Remove the background from a single image, returning the subject isolated on a transparent background. For broader edits (not just cutting out the subject), use editImage instead.

ParameterRequiredDescription
imageYesURL or base64-encoded image
cropNoTrim the result to the subject's bounding box (default: false)
creative_editNoHigher-quality output that may not match the input pixel-for-pixel (default: true). Set false when the subject must stay pixel-identical, e.g. an existing sprite you will animate
request_idNoClient-provided ID to retrieve results later

Returns: a single result with url (transparent PNG)

Credits: 0.5 per image


3D Model Generation (create3DModel)

Convert a 2D image to a 3D GLB model with textures.

ParameterRequiredDescription
imageYesURL or base64-encoded image
texture_typeNopbr (default), simple, none
texture_sizeNo1024, 2048 (default)
target_num_facesNoTriangle count 1,000-200,000 (default: 50,000)
request_idNoClient-provided ID to retrieve results later

Returns: model_url (GLB file) + 4 snapshot images from different angles

Credits: 3 per model Processing time: 60-120 seconds


Rig 3D Model (rigModel)

Generate a skeleton and skin weights for an existing 3D model so it can be animated. Non-destructive to the geometry: it returns a new rigged GLB. Rig a model before using animate3DModel.

ParameterRequiredDescription
modelYesURL or base64-encoded GLB to rig
rig_typeNoSkeleton style prior: general (default, works for any asset), humanoid (anime-style characters, densest skeleton), game (classic game-character rig), or the pinned humanoid templates with named joints (required for animate3DModelPreset): humanoid_template (22 joints) and humanoid_template_hands (52 joints, five fingers per hand). The templates only suit two-armed, two-legged characters
joint_namingNoBone naming convention for the identified joints: smpl (default), mixamo (Unity's humanoid auto-mapper), humanik (unprefixed names for Maya/MotionBuilder/FBX), unreal (UE mannequin), godot (SkeletonProfileHumanoid), rigify (Blender) or vroid (VRM). Purely a relabel, the skeleton is identical
request_idNoOptional client-provided identifier for this request

Returns: model_url (rigged GLB, skeleton + skin weights baked in), rigged (true)

Credits: 1 per rig Processing time: 60-120 seconds


Animate 3D Model (animate3DModel)

Generate text-driven skeletal animations for an already-rigged 3D model (rig it first with rigModel). Animation quality is hit-or-miss, so several candidates are returned for you to choose from. Each candidate is a standalone animation-only GLB (skeleton + one clip, no mesh) plus an mp4 preview; pick the best one and fuse it onto your model in a game engine or three.js.

ParameterRequiredDescription
modelYesURL or base64-encoded rigged GLB to animate (rig it first with rigModel)
promptYesDesired motion (e.g., "walking", "swinging an axe", "waving hello")
modeNoAnimation representation: rot_trans (default, per-bone rotation + translation, most faithful) or rot_only (rotation + root translation only, for retargeting to other skeletons / engine pipelines that ignore bone translation)
num_variantsNoNumber of candidate animations to generate (1-8, default: 4)
loopNoReturn to the initial pose: each clip plays forward then mirrors back to the rest pose for a seamless loop (default: true). Best for one-way motions (crouch, punch, wave); reads oddly for cyclic gaits like walking
augment_promptNoRewrite the prompt into a detailed motion caption behind the scenes (default: true)
request_idNoOptional client-provided identifier for this request

Returns: animations, an array of candidates, each with clip_name, glb_url (animation-only GLB), preview_url (mp4), mode, seed, motion, fit_rmse

Credits: 0.2 per generation (one charge returns all variants; introductory price, 80% off the 1-credit list price) Processing time: 60-120 seconds


Animate 3D Model from Preset (animate3DModelPreset)

Apply a curated animation preset to an already-rigged 3D model (retargeting). Unlike animate3DModel, the motion comes from a professionally curated clip library instead of a text prompt, so exactly one clip is returned. The model must have a humanoid-template rig: rig it with rig_type humanoid_template or humanoid_template_hands first. Only presets that expose a clip_url in listAnimationPresets can be applied.

ParameterRequiredDescription
modelYesURL or base64-encoded rigged GLB (humanoid-template rig)
preset_idYesid of a preset from listAnimationPresets; only presets with a clip_url qualify
crop_loopNoTrim the animation to the span that loops seamlessly. Omit for Auto: cyclic motions (walk, idle) loop, one-shots (jump, cast) keep their full arc
in_placeNoRemove the animation's net travel so the character moves on the spot, the treadmill clip a game engine expects, with the engine driving locomotion. Omit to follow crop_loop
request_idNoOptional client-provided identifier for this request

Returns: animations, the same envelope as animate3DModel, containing one clip with clip_name, preset_id, glb_url (animation-only GLB, joints named as on your model), preview_url (mp4), seed, motion, fit_rmse

Credits: 0.2 per retarget Processing time: 30-90 seconds


Sprite Animation (animateSprite)

Create animated spritesheets from static images. Use this when you can describe the motion in text; use transferMotion to copy an exact motion from a reference video or a named preset, and generatePose first when the source image is not yet in the pose the animation should start from.

ParameterRequiredDescription
initial_imageYesURL or base64 of the starting frame
motion_promptYesAnimation description (e.g., "walking", "idle breathing", "attack slash", "casting a fireball with both hands"). See Writing the motion prompt
image_typeNosprite (default), sprite-vfx, ui_asset
framesNo4, 9, 16, 25, 36 (default), 49, 64
frame_sizeNo0 (default, max resolution), 32, 64, 96, 128, 192, 256, 384, -1 (AI 1.5× upscale), -9 (match input frame)
loopNoSeamless loop (default: true)
cropNoCrop frames to fit content (default: true); smaller spritesheets but inconsistent frame sizes across animations
margin_ratio_horizontalNoHorizontal padding around the sprite as a ratio 0.0–1.0 (only used when margin_ratio_mode is manual). Useful for animations that extend sideways, e.g. sword slashes or punches
margin_ratio_verticalNoVertical padding around the sprite as a ratio 0.0–1.0 (only used when margin_ratio_mode is manual). Useful for animations that extend up or down, e.g. jumps
margin_ratioNoDeprecated - uniform padding on both axes, equivalent to setting both per-axis params to the same value. Cannot be combined with the per-axis params (fails with 400)
margin_ratio_modeNoauto (default), manual, none
augment_promptNoAugment the motion prompt behind the scenes (default: true)
modelNohydra (default; most capable all-around, generates audio), forge (only for basic animations and simple sprites; multiple tries might be needed), forge-pixel (low-res pixel art). Legacy, avoid for new work: blitz, eagle, eagle-audio (alias standard→blitz)
durationNoDefault 3s. Hydra: 3–5s in 0.5 steps; Forge / Forge Pixel: 1–5s in 0.5 steps. A model that does not offer the requested default falls back to its shortest
final_imageNoEnding frame for interpolation
gifNoGenerate an animated GIF (default: false)
individual_framesNoExtract individual frame images (default: false)
spritesheet_with_backgroundNoAlso return the spritesheet with background intact, before background removal (default: false)
request_idNoClient-provided ID to retrieve results later

Returns: spritesheet_url (the sheet), video_url (an mp4 of the animation - pass it to transferMotion as video or to createSpriteAudio as spritesheet_video_url), audio_url (hydra only: URL of a generated sound effect (mp3), so there is no need to call createSpriteAudio), num_frames, num_cols, num_rows, duration (seconds, to play the sheet at its real speed), and when requested gif_url, individual_frame_urls, spritesheet_with_background_url, individual_frame_with_background_urls

Credits: rate × seconds, with a per-model floor - Hydra: 3/sec (shortest 3s, so 9 minimum; the default 3s = 9); Forge and Forge Pixel: 1.5/sec with a 4-credit minimum (3s = 4.5). Legacy: Blitz 1.9/sec, Eagle 2.6/sec, Eagle with Audio 3.1/sec, all with a 4-credit minimum. Processing time: 30-90 seconds

Writing the motion prompt

Applies to animateSprite and animateSpriteKeyframes.

  • Describe exactly and unambiguously what the character should do. Specific or complex actions are fine; there is no need to simplify them.
  • Don't over-describe: too much detail can harm the animation. Name an action the model already knows instead of breaking it into steps ("walking", never "move the left foot forward, then the right foot").
  • Don't restate what the image or keyframes already show (the character, its equipment, the art style, background, lighting, camera). Leave frame count and timing to frames and duration.
  • Negative phrasing ("no background", "do not move the camera", "without a weapon") works only on hydra. On forge, forge-pixel and the legacy models it backfires: naming something you don't want makes it more likely to appear. On those models state only what should happen.

Keyframe Animation (animateSpriteKeyframes)

Animate a sprite through up to three fixed keyframes (initial_image, middle_image, final_image), producing a spritesheet that interpolates through the provided frames in order. Runs on hydra (default), forge or forge-pixel - the models that support a middle keyframe. The motion prompt is optional here: when omitted, the motion is derived purely from the keyframes. For just a start and end frame, animateSprite with final_image does the same job.

ParameterRequiredDescription
initial_imageNo*URL or base64 of the first keyframe. *At least one of initial_image or middle_image is required (a final_image alone is rejected)
middle_imageNo*URL or base64 of the middle keyframe the animation passes through
final_imageNoURL or base64 of the final keyframe
motion_promptNoOptional animation description (e.g., "attack slash"); without it the keyframes drive the motion. See Writing the motion prompt
image_typeNosprite (default), sprite-vfx, ui_asset
modelNohydra (default; generates audio), forge, or forge-pixel for pixel-art sprites
framesNo4, 9, 16, 25, 36 (default), 49, 64
frame_sizeNo0 (default, max resolution), 32, 64, 96, 128, 192, 256, 384, -1 (AI 1.5× upscale), -9 (match input frame)
loopNoSeamless loop (default: true)
cropNoCrop frames to fit content (default: true); smaller spritesheets but inconsistent frame sizes
margin_ratio_horizontalNoHorizontal padding around the sprite as a ratio 0.0–1.0 (only used when margin_ratio_mode is manual)
margin_ratio_verticalNoVertical padding around the sprite as a ratio 0.0–1.0 (only used when margin_ratio_mode is manual)
margin_ratioNoDeprecated - uniform padding on both axes; cannot be combined with the per-axis params (fails with 400)
margin_ratio_modeNoauto (default), manual, none
augment_promptNoAugment the motion prompt behind the scenes (default: true)
durationNoDefault 3s. Hydra: 3–5s; Forge / Forge Pixel: 1–5s in 0.5 steps. Three keyframes need the room: at 1s the opening transition is compressed away
gifNoGenerate an animated GIF (default: false)
individual_framesNoExtract individual frame images (default: false)
spritesheet_with_backgroundNoAlso return the spritesheet with background intact, before background removal (default: false)
request_idNoClient-provided ID to retrieve results later

Returns: same shape as animateSprite (spritesheet_url, video_url, audio_url on hydra, gif_url, num_frames, num_cols, num_rows, duration, ...)

Credits: same as animateSprite - Hydra 3/sec (3s = 9); Forge / Forge Pixel 1.5/sec with a 4-credit minimum (1s–2.5s = 4, 3s = 4.5, 4s = 6) Processing time: 30-90 seconds


Animation Presets (listAnimationPresets)

List available animation presets, used by transferMotion (onto a sprite) and animate3DModelPreset (onto a rigged 3D model). Returns preset animations, perspectives, and directions; no video URLs are exposed.

Returns:

  • animations: Array of presets with id, name, category, description, duration, preview_url, and clip_url on the presets that can be retargeted onto a rigged 3D model
  • perspectives: Array with id, name, description (all animations support all perspectives)
  • directions: ["N", "NE", "E", "SE", "S", "SW", "W", "NW"] (all animations support all directions)

Credits: Free


Motion Transfer (transferMotion)

Transfer motion from a video or animation preset onto a static sprite, producing an animated spritesheet. Use it when you want an exact motion copied - a standard walk or attack cycle from listAnimationPresets, or your own clip; use animateSprite to describe the motion in text instead.

ParameterRequiredDescription
imageYesURL or base64-encoded sprite image
videoNoURL of the video to use as motion source: the video_url of a spritesheet from animateSprite, or your own clip. Videos up to 4 seconds work best. Either video or preset_id + perspective + direction must be provided; when both are sent the video is used
preset_idNoID of an animation preset to use instead of a video URL, from listAnimationPresets. When using a preset, perspective and direction are required
directionNoFacing direction for the preset, as a compass point: N, NE, E, SE, S, SW, W, NW. Required with a preset
perspectiveNoCamera perspective of the preset clip, the same set for every preset: high (tactical, steep top-down), horizon (side view at eye level), isometric (diagonal top-down with depth), low (hero, low angle), top (directly overhead). Required with a preset
framesNo4, 9, 16, 25, 36 (default), 49, 64
frame_sizeNo0 (default, max resolution), 32, 64, 96, 128, 192, 256, 384
loopNoTrim animation for a seamless loop (default: true)
cropNoCrop frames to fit content (default: true)
margin_ratio_horizontalNoHorizontal padding around the sprite (0.0–1.0). Useful for animations that extend sideways, e.g. sword slashes or punches
margin_ratio_verticalNoVertical padding around the sprite (0.0–1.0). Useful for animations that extend up or down, e.g. jumps
margin_ratioNoDeprecated - uniform padding on both axes (0.0–1.0, default 0.15 when no margin is given). Cannot be combined with the per-axis params (fails with 400)
margin_ratio_modeNomanual (default), none
gifNoGenerate an animated GIF (default: false)
individual_framesNoExtract individual frame images (default: false)
spritesheet_with_backgroundNoAlso return the spritesheet with background intact, before background removal (default: false)
modelNohydra (default; most capable, generates audio), forge (cheaper; for simple motion, works best with presets and matching poses), forge-pixel (pixel art). Legacy, avoid for new work: tango
durationNoAnimation length in seconds. Omitted, it is 1.5 where the model offers it and otherwise the model's shortest, so 3s on hydra (the default). Hydra: 3–5s in 0.5 steps; Forge / Forge Pixel: 1–5s. A longer reference clip or preset is compressed to fit, so pass the preset's own duration to keep its timing
request_idNoClient-provided ID to retrieve results later

Returns: same shape as animateSprite (spritesheet_url, video_url, audio_url on hydra, gif_url, individual_frame_urls, spritesheet_with_background_url, individual_frame_with_background_urls, num_frames, num_cols, num_rows, duration)

Credits: rate × seconds - Hydra (default): 3/sec (the default 3s = 9); Forge / Forge Pixel: 2/sec with a 4-credit minimum (1.5s = 4, 3s = 6). Legacy Tango: 4/sec. The produced length follows the reference clip, and you are never charged for more than you requested


Edit Spritesheet (editSpritesheet)

Edit a spritesheet you previously generated: re-prompt its animation, outpaint beyond the frame (zoom out), or repair a bad loop. Pass back the spritesheet_url you received from animateSprite, animateSpriteKeyframes, transferMotion, or an earlier edit; it must be a spritesheet you generated in the last 7 days (external URLs are not accepted). Omit duration, frames, frame_size, crop and model to keep the source spritesheet's values.

ParameterRequiredDescription
spritesheet_urlYesURL of a spritesheet you generated in the last 7 days
edit_modeNoprompt (default), re-prompt the animation; outpaint, extend beyond the frame; fix_loop, repair a bad loop
promptNoEdit instruction. Required for prompt mode, optional for outpaint, not accepted for fix_loop
imagesNoUp to 5 reference images (URL or base64) to guide the edit
durationNoOutput length in seconds (per model, as on animateSprite). Omit to keep the source spritesheet's duration, which is also what the flat fix_loop / outpaint rate is billed on
modelNohydra (default), forge, forge-pixel. Omit to keep the source spritesheet's model. Only used by prompt mode; outpaint and fix_loop run a fixed pipeline and ignore it
cropNoCrop frames to fit content. Omit to keep the source's setting
loopNoTrim animation for seamless loop (default: true)
framesNoFrames in the output spritesheet: 4, 9, 16, 25, 36, 49, 64. Defaults to the source's frame count
frame_sizeNoFrame size in pixels: 32–384, or 0 for max resolution. Defaults to the source's frame size
gifNoGenerate an animated GIF (default: false)
individual_framesNoExtract individual frame images (default: false)
spritesheet_with_backgroundNoAlso return the spritesheet with background intact (default: false)
request_idNoClient-provided ID to retrieve results later

Returns: same shape as animateSprite (spritesheet_url, video_url, gif_url, num_frames, num_cols, num_rows, ...). Audio is generated only by prompt edits on hydra; a fix on a hydra sheet comes back without audio_url

Credits: fix_loop and outpaint: flat 1 credit per second of output, no minimum, model ignored (a 3s sheet = 3). prompt edits: per model - Hydra 3/sec (3s = 9), Forge / Forge Pixel 2/sec with a 4-credit minimum (3s = 6)


Spritesheet Sound Effect (createSpriteAudio)

Generate a sound effect for a spritesheet animation you previously generated. Spritesheets made with hydra already come with audio_url, so call this for forge / forge-pixel output, or to replace hydra's sound.

ParameterRequiredDescription
spritesheet_video_urlYesThe video_url you received from animateSprite, animateSpriteKeyframes, transferMotion or editSpritesheet; it must belong to a spritesheet you generated in the last 7 days
promptNoWhat the sound should be, e.g. "metallic sword swing with a whoosh"
request_idNoClient-provided ID to find the job again; must not be one you already used for another generation

Returns: url of the generated audio file. The audio is also attached to the spritesheet, so it shows up as audio_url on that item in listGenerations

Credits: 3 per call


Video Generation (createVideo)

Generate short videos from a source image and a motion prompt (image-to-video). A source image is required: to make a video from text alone, first createImage and animate that, or use createVideoFromReferences. Both current models generate a soundtrack, so no separate audio step is needed.

ParameterRequiredDescription
imageYesURL or base64 starting frame
promptYesMotion description (e.g., "camera zooms in", "character walks forward")
durationNoDefault 5s. Griffin / Griffin HD: 5–15s in 1s steps
modelNogriffin (default; 480p, with soundtrack), griffin-hd (720p, with soundtrack; cannot be upscaled afterwards). Legacy, avoid for new work: blitz, eagle, eagle-audio (alias standard→blitz)
final_imageNoEnding frame for interpolation
request_idNoClient-provided ID to retrieve results later

Returns: url, duration, has_audio

Credits: rate × seconds - Griffin: 1.5/sec (the default 5s = 7.5); Griffin HD: 2/sec (5s = 10). Legacy: Blitz 1/sec, Eagle 1.3/sec, Eagle with Audio 1.8/sec.


Video from References (createVideoFromReferences)

Generate a video from 1-5 reference images and a text prompt. Unlike createVideo, which animates a single source image, this composes a new scene that borrows characters, objects, and style from the references.

ParameterRequiredDescription
promptYesText description of the video to generate
imagesYes1 to 5 reference images (URL or base64)
durationNoVideo length in seconds: 5–15 (default 5)
modelNogriffin (default; 480p, with soundtrack), griffin-hd (720p). Legacy, avoid for new work: eagle, eagle-audio
aspect_ratioNodefault (model chooses), ar_1_1, ar_16_9, ar_9_16, ar_4_3, ar_3_4, ar_21_9
request_idNoClient-provided ID to retrieve results later

Returns: url, duration, has_audio

Credits: rate × seconds, higher than createVideo for the same model - Griffin: 2.5/sec (the default 5s = 12.5); Griffin HD: 4/sec (5s = 20). Legacy: Eagle 1.5/sec, Eagle with Audio 2/sec.


Edit Video (editVideo)

Edit a video you previously generated with a text prompt and optional reference images (video-to-video). Pass back the url you received from createVideo, createVideoFromReferences, or an earlier edit; it must be a video you generated in the last 7 days (external URLs are not accepted).

ParameterRequiredDescription
videoYesURL of a video you generated in the last 7 days
promptYesEdit instruction describing the desired change
imagesNoUp to 5 reference images (URL or base64) to guide the edit
durationNoOutput length in seconds: 5–15. Omit to keep the source video's duration
modelNogriffin-hd (default; 720p, with soundtrack). Legacy, avoid for new work: eagle
request_idNoClient-provided ID to retrieve results later

Returns: url, duration, has_audio

Credits: Griffin HD: 2 credits/sec (5s = 10)


Upscale Video (upscaleVideo)

Upscale a video you previously generated to twice its resolution (2x). Pass back the url you received from createVideo, createVideoFromReferences, or editVideo; it must be a video you generated in the last 7 days (external URLs are not accepted). Both dimensions of the source must be under 960 pixels: griffin (480p) output qualifies, griffin-hd (720p) output does not (landscape or portrait), so generate on griffin if you intend to upscale. A too-large source fails the job and the held credits are refunded.

ParameterRequiredDescription
videoYesURL of a video you generated in the last 7 days, both dimensions under 960 pixels
request_idNoClient-provided ID to retrieve results later

Returns: url (2x width and height, same duration), duration, has_audio

Credits: Flat rate by duration, independent of model: 0.2 credits/sec (5s = 1)


Sound Effect Generation (createSoundEffect)

Generate game sound effects from text descriptions.

ParameterRequiredDescription
descriptionYesSound description (e.g., "laser gun firing", "footsteps on gravel", "coin pickup")
durationNo0-10 seconds (0 = automatic)
request_idNoClient-provided ID to retrieve results later

Credits: 2 per sound


Ambiance Generation (createAmbiance)

Generate ambient soundscapes and background atmospheres from text descriptions.

ParameterRequiredDescription
descriptionYesAmbiance description (e.g., "windy forest at dusk", "busy medieval market", "spaceship engine hum")
durationNoDuration in seconds (0 = automatic, based on the description)
loopNoGenerate a seamlessly looping ambience (default: true)
augment_promptNoAugment the prompt behind the scenes (default: true)
request_idNoClient-provided ID to retrieve results later

Credits: 2 per generation


Music Generation (createMusic)

Generate background music and themes.

ParameterRequiredDescription
descriptionYesMusic description (e.g., "epic orchestral battle theme", "calm piano melody", "8-bit chiptune")
lyricsNoOptional lyrics for vocal tracks
request_idNoClient-provided ID to retrieve results later

Credits: 3 per track


Audio Transform (createAudioTransform)

Remix or transform an existing audio sample using a text prompt.

Documentation truncated — see the full README on GitHub.

Reviews

No reviews yet

Be the first to review this server!