ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Ludo AI Game Assets

โดย Ludo-AIรุ่น 0.16.6i★ –iรันบนคลาวด์
ชื่อใน registryai.ludo/game-assets

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: ออกแบบ ภาพ และเสียง
  • ต้องใส่ค่าเหล่านี้: Authorization

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http game-assets https://mcp.ludo.ai/mcp --header 'Authorization: ใส่ค่าของคุณ'

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "game-assets": {
      "url": "https://mcp.ludo.ai/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "game-assets": {
      "type": "http",
      "url": "https://mcp.ludo.ai/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • Authorization ความลับ จำเป็น HTTP header
    API key from Ludo AI (format: 'ApiKey your-api-key'). Get your key at https://app.ludo.ai

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • validateApiKeyEndpoint

    Validates an API key. Returns 200 if valid, 403 if invalid.

  • createImage

    Generate game-art images from a text prompt alone, selecting an image_type (e.g. sprite) and optionally art_style, perspective, and aspect_ratio. The job result is an array of image results, each with a url; request n (1-8) to control how many variations come back. Because it gen

  • generateWithStyle

    Generate new images that match the visual style of a reference image: supply a style_image (URL or base64) plus a text prompt describing what to create and an optional image_type (defaults to sprite). The job result is an array of image results, each with a url; request n (1-4) t

  • editImage

    Modify an existing image according to text instructions: supply a source image (URL or base64) and a prompt describing the changes (e.g. "add clouds", "warmer color scheme"), with an optional reference_image for extra style or content guidance. To change only one area, pass a mas

  • animateSprite

    Animate a static sprite into a spritesheet driven by a motion text prompt (image-to-spritesheet): supply an initial_image (URL or base64) plus a motion_prompt like "walking" or "attack slash", and optionally a final_image to interpolate between a start and end frame. Describe the

  • animateSpriteKeyframes

    Animate a sprite through up to three fixed keyframes - initial_image, middle_image and final_image (each a URL or base64) - producing a spritesheet that interpolates through the provided frames in order. initial_image is required: the animation starts from it, and middle_image an

  • generatePose

    Re-pose an existing sprite into a new target pose while preserving the character, taking a source image (URL or base64), a pose name (or "Other" with a free-text description), and an optional n (1-4) for how many variations to produce. Only works with sprite image types (not icon

  • rotateSprite

    Re-render an existing sprite from a different camera viewpoint while keeping the same character and pose, taking a source image (URL or base64), a required camera_rotation azimuth (one of 0, 45, 90, 135, 180, -135, -90, -45 degrees), an optional camera_elevation (0, 30, or 60 deg

  • transferMotion

    Transfer motion from a reference video or a named animation preset onto a static sprite image, producing an animated spritesheet that mimics the reference movement. Provide the sprite as image (URL or base64) plus either a video URL or a preset_id together with perspective and di

  • getDocs

    Browse or read Ludo's own documentation in full - how to choose a sprite animation mode, when to use Generate Before / Generate After, how margins behave, which model suits a job, and each generator's known limitations. To answer a specific question, call searchDocs first: it ret

  • searchDocs

    Search Ludo's own documentation with a plain-language question and get back only the few sections that answer it - the fastest way to learn how a feature is meant to be used before you generate with it (how to pick a sprite animation mode or model, how margins behave, what someth

  • listAnimationPresets

    List the available animation presets along with their perspectives and the eight supported compass directions (N, NE, E, SE, S, SW, W, NW). Synchronous GET with no request body: it returns an animations array (each with id, name, category, description, duration, and preview_url),

  • editSpritesheet

    Edit a previously generated spritesheet: re-prompt its underlying animation (edit_mode "prompt"), extend the frame beyond its borders ("outpaint"), repair a bad loop ("fix_loop"), or re-render it with finer detail ("improve": the extra pass hydra-plus runs when it generates, on a

  • rotateSpritesheet

    Re-render a previously generated sprite animation from a new view: the same motion and timing, seen from a different angle (e.g. a front-facing walk cycle turned into the same walk seen from the back). Pass the `spritesheet_url` you received from `animateSprite`, `animateSpriteKe

  • adjustSpritesheet

    Adjust Sprite Sheet: re-export a previously generated sprite animation with different sheet settings - frame count, frame size, loop trimming or whitespace cropping - without generating the animation again. Free (no credits). Pass the `spritesheet_url` you received from `animateS

  • createSpriteAudio

    Generate a sound effect for a previously generated spritesheet animation. Pass, as `spritesheet_video_url`, the `video_url` you received from `animateSprite`, `animateSpriteKeyframes`, `transferMotion`, or `editSpritesheet` - it must belong to a spritesheet you generated within t

  • listDirectionalSpriteStyles

    List the styles Directional Sprites can render a 3D model in, with the perspectives (camera heights) and the eight directions they render from. Each style has an id (pass it as style_id), a label, a description, a family, whether it is pixel art, a thumbnail_url of the style at i

  • previewDirectionalSprites

    Preview Directional Sprites: a few frames of a 3D model in a style, from each direction asked for, to check a style before rendering. Takes the same model, animation, camera and style fields as createDirectionalSprites. The response (synchronous, not a job) has one preview per di

  • createDirectionalSprites

    Directional Sprites: render a 3D model into one spritesheet per direction, in a style. Pass the GLB in `model` (URL or base64; rigged, to animate it - see create3DModel with rig, or rigModel) and at most one animation: `animation_url` (the `glb_url` of an animation from animate3D

  • createDirectionalStills

    Directional Sprites stills: render a 3D model as it is (no animation) into one large image per direction, in a style, on a transparent background. Pass the GLB in `model` (URL or base64), the `directions` (up to 8, rendered together so they line up) and the style (listDirectional

  • fitDirectionalAccessory

    Fit an accessory to a rigged 3D model for Directional Sprites: an item GLB (a sword, a gun, a staff, a bow, a shield, a helmet, a hat, a backpack...) held by one bone of the model - a hand, the head, the back or the hips. Nothing is saved. The item is first placed automatically f

  • attachDirectionalAccessories

    Put accessories on a rigged 3D model for Directional Sprites: up to 8 items, each at the `placement` fitDirectionalAccessory returned (or, without one, at the automatic fit plus the same size/move/turn adjustments). Returns `model_url`, one GLB of the model holding them all (kept

  • createVideo

    Generate a short video clip from a source image and a motion text prompt (image-to-video); a source `image` is required - to make a video from text alone, first createImage and animate that, or use createVideoFromReferences with reference images. Griffin (default, 768p) generates

  • createVideoFromReferences

    Generate a video from 1-5 reference images and a text prompt (references-to-video). Unlike createVideo, which animates a single source image, this composes a new scene that borrows characters, objects, and style from the reference images. Each image can be a URL or base64. Griffi

  • editVideo

    Edit a previously generated video with a text prompt and optional reference images (video-to-video); runs on griffin-hd (768p, with soundtrack) and the output keeps the source video's duration unless you pass one. Pass the video `url` you received from `createVideo`, `createVideo

  • upscaleVideo

    Upscale a previously generated video to twice its resolution (2x). Pass the video `url` you received from `createVideo`, `createVideoFromReferences`, or `editVideo` - it must be a video you generated within the last 7 days; arbitrary external videos are not accepted. Both dimensi

  • removeBackground

    Remove the background from a single image, returning the subject isolated on a transparent background. Supply the source image (URL or base64); optionally set crop to trim the result to the content, and creative_edit (default true) for higher-quality output that may not match the

  • upscaleImage

    Upscale an image: the same picture at a higher resolution, up to 4x, with the result capped at 2048px on its longest side. The source image (URL or base64) must be below 2048px on its longest side; a larger one is rejected with HTTP 400. The job result is a single image result wi

  • convertToPixelArt

    Convert an image to pixel art: any art, broken AI pixel art or pixel art comes back as pixel art at about the input's own size. Free (no credits) and synchronous: the call answers with the result directly, with no job to poll. `pixel_size` is the size of one pixel-art pixel, in t

  • create3DModel

    Convert a source image into a textured 3D model (image-to-3D). The job result is a downloadable GLB model_url plus an array of snapshot image URLs rendered from different angles (handy for previews). model picks the generator: prop (default) is low-cost and suits everyday props a

  • create3DModelImage

    Make a character image ready to turn into a 3D model, the first step of Directional Sprites on the web. Pass a prompt describing the character, your own image (URL or base64), or both. With an image, it is redrawn as a 3D render, and the prompt becomes the changes to make (e.g. "

  • rigModel

    Rig a 3D model: generate a skeleton and skin weights for an existing GLB so it can be animated. Accepts a URL or base64-encoded GLB in `model` (here `model` is the 3D asset file, not an AI model name - rigging has no model choice). The job result is a downloadable `model_url` for

  • animate3DModel

    Generate text-driven skeletal animations for an already-rigged 3D model. Pass the rigged GLB in `model` (URL or base64; the 3D asset file, not an AI model name) and a motion `prompt` (e.g. "walking", "swinging its axe"). The model must already have a skeleton - rig it first with

  • animate3DModelPreset

    Apply a curated animation preset to an already-rigged 3D model (retargeting). Pass the rigged GLB in `model` (URL or base64; the 3D asset file, not an AI model name) and a `preset_id` from the animation presets list (from listAnimationPresets; any preset id works). Any rig type c

  • createSoundEffect

    Produce a short sound effect (SFX) from a text description, such as "laser gun firing" or "footsteps on gravel". The job result is a single audio result containing the URL of an MP3 or WAV file (the URL's extension, .mp3 or .wav, says which). The description field is required, du

  • createAmbiance

    Produce a looping background ambiance soundscape from a text description, such as "windy forest at dusk" or "busy tavern interior". The job result is a single audio result containing the URL of an MP3 or WAV file (the URL's extension, .mp3 or .wav, says which). The description fi

  • createMusic

    Produce a piece of music from a text description, such as "epic orchestral battle theme" or "calm piano melody", with optional lyrics. The job result is a single audio result containing the URL of an MP3 or WAV file (the URL's extension, .mp3 or .wav, says which). The description

  • createAudioTransform

    Remix an existing audio sample (a sound effect, ambiance, or music clip) into a variation guided by a text prompt, for example turning a track into an 80s synthwave or metal version. Both the sample and the prompt are required; the sample is uploaded as a URL or base64 audio and

  • createVoice

    Design a new voice from a character description (such as "deep-voiced warrior" or "cheerful young girl"), a character image, or both, and have it speak a short line of text, returning a sample of that newly created voice. text is required, plus voice_description or image (an imag

  • createSpeech

    Convert text to speech by cloning the voice from an audio sample you provide (voice-cloning text-to-speech). Both text and sample are required; the text is limited to 250 characters and the sample is supplied as a URL or base64 audio that must be at most 15MB, with violations ret

  • createSpeechPreset

    Convert text to speech using a named built-in preset voice, with optional language and either an emotion or a delivery note, depending on the voice. Both text and voice_preset_id are required and the text is limited to 250 characters. The voices named by a first name (e.g. "Rache

  • listGenerations

    List your generation history across the API and the web app - filter by type, source (api|web|all), text search, and date range. Returns {items, page, page_size, has_more}; keep paging while has_more is true. API-originated results expire after 7 days - download anything you want

  • listApiJobs

    List the generation jobs you started through the API or MCP, most recent first. Web-app jobs are not included. This is a free read-only lookup (no credits, no generation). Filter with a comma-separated status list; limit defaults to 50 and is capped at 100.

  • getApiJob

    Poll the status of a generation job started by any tool. Every generation tool returns `{id, status}`; call getApiJob with that id until status is `succeeded` (then read `result`, shaped exactly like the tool's documented output) or `failed` (read `error`). Poll every few seconds

  • cancelApiJob

    Cancel a queued job you started through the API or MCP; the credits held for it are refunded. Jobs that are already running cannot be canceled (409). Returns the canceled job. This is free (no credits).

  • getPricing

    What Ludo's paid service costs and includes, for an agent advising a user: every plan with its monthly and annual price, credits, seats, queue concurrency and what it includes or lacks; credit top-ups and their price brackets; what each API call costs; and the rules to know befor

  • getAccount

    Show your account's credit balance, plan and auto top-up settings. `credits.available` is what generations can spend right now (plan_credits + extra - used); `resets_at` is when the plan's monthly credits refill (unix seconds). When `team_pool` is true the balance is your team's

  • submitApiFeedback

    Report a problem with the Ludo API itself to the Ludo team. Use it ONLY for API bugs (an error, a failed or stuck job, a crash, a response that does not match this documentation) and API limitations (a parameter, operation or format you needed that the API does not support, and t

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน ludo.ai แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 302 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 48 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

เทียบกับตัวอื่นในหมวด ออกแบบ ภาพ และเสียงi

  • ดาวมากกว่า 0% ของอีก 2193 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 95% ของอีก 2193 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2193 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Ludo AI Game Assets ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: Authorization

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.16.6) เข้า registry เมื่อวานซืน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Figma Context MCP

โดย GLips

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

รันบนเครื่อง★ 16,165MITอัปเดต 5 เดือนที่ผ่านมา
ติดตั้ง

Claude Real Video

โดย HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

รันบนเครื่อง★ 2,284MITอัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

Figma MCP Server

โดย figma

server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma

รันบนคลาวด์★ 2,152อัปเดต 13 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

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, upscaling, pixel-art conversion
3D ModelsCharacter images ready for a 3D model (from a prompt, or your own image redrawn as a 3D render), convert 2D images to GLB models with PBR textures (prop or the more detailed hero model, rigged in the same call if you like), auto-rig models (skeleton + skin weights, engine-ready joint naming), text-driven skeletal animation, retarget curated animation presets onto rigged models
Directional SpritesRender a 3D model as styled sprites from up to 8 directions that line up, in looks from pixel art to painted to 3D render, animated with a preset or your own clip, holding fitted accessories (swords, shields, helmets...), previewed for free before you render
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, finer-detail re-render), free re-export with other sheet settings, 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; plans, prices and what each call costs
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

API access comes with the Pro and Studio plans. Create a key at app.ludo.ai/api-keys; it is shown only once.

Using a coding agent (Claude Code, Codex, Cursor)? The Ludo CLI is the better fit: the agent loads only the commands it needs, and files go in and out by path.

2. Configure Your MCP Client

The server speaks Streamable HTTP at https://mcp.ludo.ai/mcp. Every client sends the key in a header:

Authorization: ApiKey YOUR_API_KEY

Setups for eleven clients, including Windsurf, Cline, Zed and Kiro, are on ludo.ai/developers/mcp.

Claude Code
claude mcp add --transport http ludo https://mcp.ludo.ai/mcp --header "Authorization: ApiKey YOUR_API_KEY"

Add -s user to use it in every project.

Claude Desktop and claude.ai

Open Customize > Connectors, click Add, then Add custom connector. Name it Ludo, use the URL https://mcp.ludo.ai/mcp, and under Request headers add Authorization: ApiKey YOUR_API_KEY. (claude_desktop_config.json only starts local servers; a remote server goes in as a connector.)

Codex

Add to ~/.codex/config.toml:

[mcp_servers.ludo]

url = "https://mcp.ludo.ai/mcp"

[mcp_servers.ludo.http_headers] Authorization = "ApiKey YOUR_API_KEY"

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{

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

VS Code

Add to .vscode/mcp.json, then use Copilot Chat in Agent mode. VS Code asks for the key once and stores it securely:

{

"inputs": [ { "type": "promptString", "id": "ludo-api-key", "description": "Ludo.ai API key", "password": true } ], "servers": { "ludo": { "type": "http", "url": "https://mcp.ludo.ai/mcp", "headers": { "Authorization": "ApiKey ${input:ludo-api-key}" } } } }

Gemini CLI
gemini mcp add -s user --transport http --header "Authorization: ApiKey YOUR_API_KEY" ludo https://mcp.ludo.ai/mcp
Clients that only run local servers

Bridge with mcp-remote (needs Node.js). Keep the header argument free of spaces and pass the key through env:

{

"mcpServers": { "ludo": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.ludo.ai/mcp", "--header", "Authorization:${LUDO_AUTH}"], "env": { "LUDO_AUTH": "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)
griffin-hd (Griffin)Sprite animation, keyframes and spritesheet editingHighest resolution and best image fidelity. Flat 10 credits per animation; up to 5s
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, no minimum charge
forge-pixelSame actions as forgeSame pricing as forge; for low-res pixel-art sprites
griffin-hd (Griffin)Video generation, video from references and video editing (the default for all three)Cinematic video in any style with a soundtrack, 720p. 2 credits/s on all three, 5s to 15s. Landscape and portrait output is too large for upscaleVideo

griffin (480p) was retired from video generation and video from references on 2026-10-27. Requests that name it are rejected; use griffin-hd.

Legacy models - hydra-plus (since 2026-11-02), 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 wit

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx