src/lib/ops/public-catalog.json in publicsummerengine at 0d85f61e2b and the summer-engine npm package 4.0.0 for engine and local operations. If something here is wrong, the operation’s definition is wrong.| Operation | What it does | Asks you first |
|---|---|---|
makers.bankai_motion | Any clip’s moves, performed by your character. | Not by default |
makers.bankai_swap | Swap the person, product, outfit or background. | Not by default |
makers.bankai_ultra | Rebuild any shot around your references on Seedance 2.5. | Not by default |
makers.camera_moves | Photo to a cinematic dolly, jib or focus pull. | Not by default |
makers.capsule_kit | Store-ready capsule art from one screenshot. | Not by default |
makers.character_turnaround | Front, side and back model sheet from one image. | Not by default |
makers.cinematic_shot | One image in, a cinematic shot with sound out, on Seedance 2.5. | Not by default |
makers.game_ad_maker | A 10 second vertical game ad from one screenshot. | Not by default |
makers.game_score | Game music from a mood, in seconds. | Not by default |
makers.lipsync_anything | New words in an existing clip, lips matched. | Not by default |
makers.npc_voice | Type a line, get a voiced NPC in seconds. | Not by default |
makers.pixel_forge | Any character or image to clean, game-ready pixel art. | Not by default |
makers.product_ad | Product photo in, an 8 second video ad with sound out. | Not by default |
makers.sfx_maker | Any sound effect in seconds. | Not by default |
makers.sprite_sheet_forge | One character image in, an animated sprite sheet out. | Not by default |
makers.style_frame | Your screenshot redrawn in another game art style, for look-dev. | Not by default |
makers.style_swap | Restyle gameplay or any clip into anime, claymation, PSX, comic or pixel art. | Not by default |
makers.talking_character | Make any picture talk: NPCs, mascots, avatars. | Not by default |
makers.texture_forge | A photo into a seamless, tileable game texture. | Not by default |
makers.thumbnail_maker | Click-worthy YouTube thumbnails from your frame. | Not by default |
makers.trailer_forge | A game trailer with music from your screenshots. | Not by default |
makers.transition_morph | Two images, one smooth morph between them. | Not by default |
bankai_motion
makers.bankai_motion: Bankai Motion
Any clip’s moves, performed by your character. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.bankai_motion" |
| CLI | summer makers bankai-motion |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_bankai_motion |
| Input | Type | Required | Description |
|---|---|---|---|
characterImage | string | Yes | Character image. The character and the scene both come from this image. Full or upper body visible, no occlusion, the character fills at least 5% of the frame Length 0 to 2048. |
motionVideo | string | Yes | Motion clip. One realistic human performer works best Length 0 to 2048. |
orientation | ”video” | “image” | No | Facing Default "video". |
tier | ”standard” | “pro” | No | Quality Default "standard". |
keepAudio | boolean | No | Keep the clip audio Default true. |
consent | true | Yes | I own this image and clip or have permission to use them, and every real person shown has agreed. No public figures, no minors. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"characterImage": {
"description": "Character image. The character and the scene both come from this image. Full or upper body visible, no occlusion, the character fills at least 5% of the frame",
"type": "string",
"maxLength": 2048
},
"motionVideo": {
"description": "Motion clip. One realistic human performer works best",
"type": "string",
"maxLength": 2048
},
"orientation": {
"description": "Facing",
"default": "video",
"type": "string",
"enum": [
"video",
"image"
]
},
"tier": {
"description": "Quality",
"default": "standard",
"type": "string",
"enum": [
"standard",
"pro"
]
},
"keepAudio": {
"description": "Keep the clip audio",
"default": true,
"type": "boolean"
},
"consent": {
"description": "I own this image and clip or have permission to use them, and every real person shown has agreed. No public figures, no minors.",
"type": "boolean",
"const": true
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"characterImage",
"motionVideo",
"consent"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.bankai_motion",
"input": {
"characterImage": "https://www.summerengine.com/examples/hero.png",
"motionVideo": "https://www.summerengine.com/examples/clip.mp4",
"consent": true
}
}
}
summer makers bankai-motion --character-image https://www.summerengine.com/examples/hero.png --motion-video https://www.summerengine.com/examples/clip.mp4 --consent
bankai_swap
makers.bankai_swap: Bankai Swap
Swap the person, product, outfit or background. Keep the shot. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.bankai_swap" |
| CLI | summer makers bankai-swap |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_bankai_swap |
| Input | Type | Required | Description |
|---|---|---|---|
sourceVideo | string | Yes | Source clip. mp4 or mov, at least 720 px on each side Length 0 to 2048. |
subject | ”character” | “product” | “outfit” | “object” | “background” | No | What are you swapping in? Default "character". |
target | string | Yes | What to replace Length 1 to 200. |
referenceImage | string | Yes | Reference image. A clean, front-facing view of what should appear in the shot Length 0 to 2048. |
referenceImage2 | string | No | Second reference image. Another angle of the same subject Length 0 to 2048. |
tier | ”pro” | No | Quality Default "pro". |
keepAudio | boolean | No | Keep the clip audio Default true. |
prompt | string | No | Extra direction Length 0 to 600. |
consent | true | Yes | I own this clip and these images or have permission to use them, and every real person shown has agreed. No public figures, no minors. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"sourceVideo": {
"description": "Source clip. mp4 or mov, at least 720 px on each side",
"type": "string",
"maxLength": 2048
},
"subject": {
"description": "What are you swapping in?",
"default": "character",
"type": "string",
"enum": [
"character",
"product",
"outfit",
"object",
"background"
]
},
"target": {
"description": "What to replace",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"referenceImage": {
"description": "Reference image. A clean, front-facing view of what should appear in the shot",
"type": "string",
"maxLength": 2048
},
"referenceImage2": {
"description": "Second reference image. Another angle of the same subject",
"type": "string",
"maxLength": 2048
},
"tier": {
"description": "Quality",
"default": "pro",
"type": "string",
"enum": [
"pro"
]
},
"keepAudio": {
"description": "Keep the clip audio",
"default": true,
"type": "boolean"
},
"prompt": {
"description": "Extra direction",
"type": "string",
"maxLength": 600
},
"consent": {
"description": "I own this clip and these images or have permission to use them, and every real person shown has agreed. No public figures, no minors.",
"type": "boolean",
"const": true
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"sourceVideo",
"target",
"referenceImage",
"consent"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.bankai_swap",
"input": {
"sourceVideo": "https://www.summerengine.com/examples/clip.mp4",
"target": "a brave knight with a glowing sword",
"referenceImage": "https://www.summerengine.com/examples/hero.png",
"consent": true
}
}
}
summer makers bankai-swap --source-video https://www.summerengine.com/examples/clip.mp4 --target 'a brave knight with a glowing sword' --reference-image https://www.summerengine.com/examples/hero.png --consent
bankai_ultra
makers.bankai_ultra: Bankai Ultra
Rebuild any shot around your references on Seedance 2.5. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.bankai_ultra" |
| CLI | summer makers bankai-ultra |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_bankai_ultra |
| Input | Type | Required | Description |
|---|---|---|---|
sourceVideo | string | Yes | Source clip. mp4 or mov Length 0 to 2048. |
instruction | string | Yes | What should change Length 1 to 1500. |
referenceImage | string | Yes | Reference image. Refer to it as @Image1 in your instruction Length 0 to 2048. |
referenceImage2 | string | No | Second reference image. Refer to it as @Image2 Length 0 to 2048. |
consent | true | Yes | I own this media or have permission to use it, and every real person shown has agreed. No public figures, no minors. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"sourceVideo": {
"description": "Source clip. mp4 or mov",
"type": "string",
"maxLength": 2048
},
"instruction": {
"description": "What should change",
"type": "string",
"minLength": 1,
"maxLength": 1500
},
"referenceImage": {
"description": "Reference image. Refer to it as @Image1 in your instruction",
"type": "string",
"maxLength": 2048
},
"referenceImage2": {
"description": "Second reference image. Refer to it as @Image2",
"type": "string",
"maxLength": 2048
},
"consent": {
"description": "I own this media or have permission to use it, and every real person shown has agreed. No public figures, no minors.",
"type": "boolean",
"const": true
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"sourceVideo",
"instruction",
"referenceImage",
"consent"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.bankai_ultra",
"input": {
"sourceVideo": "https://www.summerengine.com/examples/clip.mp4",
"instruction": "a brave knight with a glowing sword",
"referenceImage": "https://www.summerengine.com/examples/hero.png",
"consent": true
}
}
}
summer makers bankai-ultra --source-video https://www.summerengine.com/examples/clip.mp4 --instruction 'a brave knight with a glowing sword' --reference-image https://www.summerengine.com/examples/hero.png --consent
camera_moves
makers.camera_moves: Camera Moves
Photo to a cinematic dolly, jib or focus pull. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.camera_moves" |
| CLI | summer makers camera-moves |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_camera_moves |
| Input | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Still image Length 0 to 2048. |
move | ”dolly_in” | “dolly_out” | “dolly_left” | “dolly_right” | “jib_up” | “jib_down” | “focus_shift” | “static” | No | Camera move Default "dolly_in". |
prompt | string | No | Scene notes Length 0 to 800. |
duration | ”6” | “8” | “10” | No | Length Default "6". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"image": {
"description": "Still image",
"type": "string",
"maxLength": 2048
},
"move": {
"description": "Camera move",
"default": "dolly_in",
"type": "string",
"enum": [
"dolly_in",
"dolly_out",
"dolly_left",
"dolly_right",
"jib_up",
"jib_down",
"focus_shift",
"static"
]
},
"prompt": {
"description": "Scene notes",
"type": "string",
"maxLength": 800
},
"duration": {
"description": "Length",
"default": "6",
"type": "string",
"enum": [
"6",
"8",
"10"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"image"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.camera_moves",
"input": {
"image": "https://www.summerengine.com/examples/hero.png"
}
}
}
summer makers camera-moves --image https://www.summerengine.com/examples/hero.png
capsule_kit
makers.capsule_kit: Capsule Kit
Store-ready capsule art from one screenshot. Makes an image asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.capsule_kit" |
| CLI | summer makers capsule-kit |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_capsule_kit |
| Input | Type | Required | Description |
|---|---|---|---|
screenshot | string | Yes | Screenshot or key art. Shows your characters, world and art style Length 0 to 2048. |
title | string | Yes | Game title Length 1 to 60. |
mood | string | No | Genre and mood Length 0 to 120. |
style | ”match” | “painterly” | “graphic” | No | Look Default "match". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"screenshot": {
"description": "Screenshot or key art. Shows your characters, world and art style",
"type": "string",
"maxLength": 2048
},
"title": {
"description": "Game title",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"mood": {
"description": "Genre and mood",
"type": "string",
"maxLength": 120
},
"style": {
"description": "Look",
"default": "match",
"type": "string",
"enum": [
"match",
"painterly",
"graphic"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"screenshot",
"title"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.capsule_kit",
"input": {
"screenshot": "https://www.summerengine.com/examples/hero.png",
"title": "a brave knight with a glowing sword"
}
}
}
summer makers capsule-kit --screenshot https://www.summerengine.com/examples/hero.png --title 'a brave knight with a glowing sword'
character_turnaround
makers.character_turnaround: Character Turnaround
Front, side and back model sheet from one image. Makes an image asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.character_turnaround" |
| CLI | summer makers character-turnaround |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_character_turnaround |
| Input | Type | Required | Description |
|---|---|---|---|
character | string | Yes | Character image. One clear view of the character Length 0 to 2048. |
style | ”color” | “lineart” | No | Sheet style Default "color". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"character": {
"description": "Character image. One clear view of the character",
"type": "string",
"maxLength": 2048
},
"style": {
"description": "Sheet style",
"default": "color",
"type": "string",
"enum": [
"color",
"lineart"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"character"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.character_turnaround",
"input": {
"character": "https://www.summerengine.com/examples/hero.png"
}
}
}
summer makers character-turnaround --character https://www.summerengine.com/examples/hero.png
cinematic_shot
makers.cinematic_shot: Cinematic Shot
One image in, a cinematic shot with sound out, on Seedance 2.5. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.cinematic_shot" |
| CLI | summer makers cinematic-shot |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_cinematic_shot |
| Input | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Start image. The first frame of the shot Length 0 to 2048. |
prompt | string | Yes | What happens Length 1 to 1500. |
duration | ”5” | “8” | “10” | No | Length Default "5". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"image": {
"description": "Start image. The first frame of the shot",
"type": "string",
"maxLength": 2048
},
"prompt": {
"description": "What happens",
"type": "string",
"minLength": 1,
"maxLength": 1500
},
"duration": {
"description": "Length",
"default": "5",
"type": "string",
"enum": [
"5",
"8",
"10"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"image",
"prompt"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.cinematic_shot",
"input": {
"image": "https://www.summerengine.com/examples/hero.png",
"prompt": "a brave knight with a glowing sword"
}
}
}
summer makers cinematic-shot --image https://www.summerengine.com/examples/hero.png --prompt 'a brave knight with a glowing sword'
game_ad_maker
makers.game_ad_maker: Game Ad Maker
A 10 second vertical game ad from one screenshot. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.game_ad_maker" |
| CLI | summer makers game-ad-maker |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_game_ad_maker |
| Input | Type | Required | Description |
|---|---|---|---|
screenshot | string | Yes | Screenshot or key art. Shows your characters, world and art style Length 0 to 2048. |
title | string | Yes | Game title Length 1 to 60. |
hook | string | Yes | Hook Length 1 to 200. |
mood | string | No | Genre and mood Length 0 to 120. |
aspect | ”9:16” | “16:9” | No | Format Default "9:16". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"screenshot": {
"description": "Screenshot or key art. Shows your characters, world and art style",
"type": "string",
"maxLength": 2048
},
"title": {
"description": "Game title",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"hook": {
"description": "Hook",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"mood": {
"description": "Genre and mood",
"type": "string",
"maxLength": 120
},
"aspect": {
"description": "Format",
"default": "9:16",
"type": "string",
"enum": [
"9:16",
"16:9"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"screenshot",
"title",
"hook"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.game_ad_maker",
"input": {
"screenshot": "https://www.summerengine.com/examples/hero.png",
"title": "a brave knight with a glowing sword",
"hook": "a brave knight with a glowing sword"
}
}
}
summer makers game-ad-maker --screenshot https://www.summerengine.com/examples/hero.png --title 'a brave knight with a glowing sword' --hook 'a brave knight with a glowing sword'
game_score
makers.game_score: Game Score
Game music from a mood, in seconds. Makes audio asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.game_score" |
| CLI | summer makers game-score |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_game_score |
| Input | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Genre and mood Length 1 to 400. |
inspiration | string | No | Screenshot for inspiration Length 0 to 2048. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"prompt": {
"description": "Genre and mood",
"type": "string",
"minLength": 1,
"maxLength": 400
},
"inspiration": {
"description": "Screenshot for inspiration",
"type": "string",
"maxLength": 2048
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"prompt"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.game_score",
"input": {
"prompt": "a brave knight with a glowing sword"
}
}
}
summer makers game-score --prompt 'a brave knight with a glowing sword'
lipsync_anything
makers.lipsync_anything: Lipsync Anything
New words in an existing clip, lips matched. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.lipsync_anything" |
| CLI | summer makers lipsync-anything |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_lipsync_anything |
| Input | Type | Required | Description |
|---|---|---|---|
video | string | Yes | Video. A face visible for most of the clip Length 0 to 2048. |
audio | string | Yes | New audio Length 0 to 2048. |
consent | true | Yes | I own this media or have permission to use it, and every real person shown has agreed. No public figures, no minors. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"video": {
"description": "Video. A face visible for most of the clip",
"type": "string",
"maxLength": 2048
},
"audio": {
"description": "New audio",
"type": "string",
"maxLength": 2048
},
"consent": {
"description": "I own this media or have permission to use it, and every real person shown has agreed. No public figures, no minors.",
"type": "boolean",
"const": true
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"video",
"audio",
"consent"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.lipsync_anything",
"input": {
"video": "https://www.summerengine.com/examples/clip.mp4",
"audio": "https://www.summerengine.com/examples/line.mp3",
"consent": true
}
}
}
summer makers lipsync-anything --video https://www.summerengine.com/examples/clip.mp4 --audio https://www.summerengine.com/examples/line.mp3 --consent
npc_voice
makers.npc_voice: NPC Voice
Type a line, get a voiced NPC in seconds. Makes audio asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.npc_voice" |
| CLI | summer makers npc-voice |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_npc_voice |
| Input | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Line. Audio tags such as [whispers], [laughs] or [shouting] change the delivery Length 1 to 2000. |
voice | ”Rachel” | “Aria” | “Roger” | “Sarah” | “Laura” | “Charlie” | “George” | “Callum” | “River” | “Liam” | “Charlotte” | “Alice” | “Matilda” | “Will” | “Jessica” | “Eric” | “Chris” | “Brian” | “Daniel” | “Lily” | “Bill” | No | Voice Default "George". |
delivery | ”creative” | “natural” | “robust” | No | Delivery Default "natural". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"text": {
"description": "Line. Audio tags such as [whispers], [laughs] or [shouting] change the delivery",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"voice": {
"description": "Voice",
"default": "George",
"type": "string",
"enum": [
"Rachel",
"Aria",
"Roger",
"Sarah",
"Laura",
"Charlie",
"George",
"Callum",
"River",
"Liam",
"Charlotte",
"Alice",
"Matilda",
"Will",
"Jessica",
"Eric",
"Chris",
"Brian",
"Daniel",
"Lily",
"Bill"
]
},
"delivery": {
"description": "Delivery",
"default": "natural",
"type": "string",
"enum": [
"creative",
"natural",
"robust"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"text"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.npc_voice",
"input": {
"text": "a brave knight with a glowing sword"
}
}
}
summer makers npc-voice --text 'a brave knight with a glowing sword'
pixel_forge
makers.pixel_forge: Pixel Forge
Any character or image to clean, game-ready pixel art. Makes an image asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.pixel_forge" |
| CLI | summer makers pixel-forge |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_pixel_forge |
| Input | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Character or object. One subject, clearly visible Length 0 to 2048. |
size | ”32” | “64” | “128” | No | Sprite size Default "64". |
palette | ”16” | “32” | “64” | No | Colors Default "32". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"image": {
"description": "Character or object. One subject, clearly visible",
"type": "string",
"maxLength": 2048
},
"size": {
"description": "Sprite size",
"default": "64",
"type": "string",
"enum": [
"32",
"64",
"128"
]
},
"palette": {
"description": "Colors",
"default": "32",
"type": "string",
"enum": [
"16",
"32",
"64"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"image"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.pixel_forge",
"input": {
"image": "https://www.summerengine.com/examples/hero.png"
}
}
}
summer makers pixel-forge --image https://www.summerengine.com/examples/hero.png
product_ad
makers.product_ad: Product Ad Studio
Product photo in, an 8 second video ad with sound out. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.product_ad" |
| CLI | summer makers product-ad |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_product_ad |
| Input | Type | Required | Description |
|---|---|---|---|
product | string | Yes | Product photo. The product clearly visible; any background Length 0 to 2048. |
productName | string | Yes | Product name Length 1 to 60. |
hook | string | No | Hook or scene Length 0 to 300. |
aspect | ”9:16” | “16:9” | “1:1” | No | Format Default "9:16". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"product": {
"description": "Product photo. The product clearly visible; any background",
"type": "string",
"maxLength": 2048
},
"productName": {
"description": "Product name",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"hook": {
"description": "Hook or scene",
"type": "string",
"maxLength": 300
},
"aspect": {
"description": "Format",
"default": "9:16",
"type": "string",
"enum": [
"9:16",
"16:9",
"1:1"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"product",
"productName"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.product_ad",
"input": {
"product": "https://www.summerengine.com/examples/hero.png",
"productName": "a brave knight with a glowing sword"
}
}
}
summer makers product-ad --product https://www.summerengine.com/examples/hero.png --product-name 'a brave knight with a glowing sword'
sfx_maker
makers.sfx_maker: SFX Maker
Any sound effect in seconds. Makes audio asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.sfx_maker" |
| CLI | summer makers sfx-maker |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_sfx_maker |
| Input | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Sound Length 1 to 300. |
duration | ”2” | “5” | “10” | “20” | No | Length Default "2". |
loop | boolean | No | Seamless loop Default false. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"prompt": {
"description": "Sound",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"duration": {
"description": "Length",
"default": "2",
"type": "string",
"enum": [
"2",
"5",
"10",
"20"
]
},
"loop": {
"description": "Seamless loop",
"default": false,
"type": "boolean"
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"prompt"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.sfx_maker",
"input": {
"prompt": "a brave knight with a glowing sword"
}
}
}
summer makers sfx-maker --prompt 'a brave knight with a glowing sword'
sprite_sheet_forge
makers.sprite_sheet_forge: Sprite Sheet Forge
One character image in, an animated sprite sheet out. Makes an image asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.sprite_sheet_forge" |
| CLI | summer makers sprite-sheet-forge |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_sprite_sheet_forge |
| Input | Type | Required | Description |
|---|---|---|---|
characterImage | string | Yes | Character image. One clear, full-body view of the character on a plain background Length 0 to 2048. |
action | ”idle” | “walk” | “run” | “jump” | “attack” | “hurt” | No | Action Default "walk". |
frames | ”4” | “6” | “8” | “12” | “16” | No | Frames Default "8". |
view | ”side” | “three-quarter” | “front” | No | View Default "side". |
pixel | ”32” | “64” | “128” | “off” | No | Pixel art Default "off". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"characterImage": {
"description": "Character image. One clear, full-body view of the character on a plain background",
"type": "string",
"maxLength": 2048
},
"action": {
"description": "Action",
"default": "walk",
"type": "string",
"enum": [
"idle",
"walk",
"run",
"jump",
"attack",
"hurt"
]
},
"frames": {
"description": "Frames",
"default": "8",
"type": "string",
"enum": [
"4",
"6",
"8",
"12",
"16"
]
},
"view": {
"description": "View",
"default": "side",
"type": "string",
"enum": [
"side",
"three-quarter",
"front"
]
},
"pixel": {
"description": "Pixel art",
"default": "off",
"type": "string",
"enum": [
"32",
"64",
"128",
"off"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"characterImage"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.sprite_sheet_forge",
"input": {
"characterImage": "https://www.summerengine.com/examples/hero.png"
}
}
}
summer makers sprite-sheet-forge --character-image https://www.summerengine.com/examples/hero.png
style_frame
makers.style_frame: Style Frame
Your screenshot redrawn in another game art style, for look-dev. Makes an image asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.style_frame" |
| CLI | summer makers style-frame |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_style_frame |
| Input | Type | Required | Description |
|---|---|---|---|
screenshot | string | Yes | Screenshot or concept. A scene from your game or a piece of concept art Length 0 to 2048. |
style | ”pixel” | “low-poly” | “cel” | “painterly” | “psx” | “voxel” | No | Art style Default "cel". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"screenshot": {
"description": "Screenshot or concept. A scene from your game or a piece of concept art",
"type": "string",
"maxLength": 2048
},
"style": {
"description": "Art style",
"default": "cel",
"type": "string",
"enum": [
"pixel",
"low-poly",
"cel",
"painterly",
"psx",
"voxel"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"screenshot"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.style_frame",
"input": {
"screenshot": "https://www.summerengine.com/examples/hero.png"
}
}
}
summer makers style-frame --screenshot https://www.summerengine.com/examples/hero.png
style_swap
makers.style_swap: Style Swap
Restyle gameplay or any clip into anime, claymation, PSX, comic or pixel art. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.style_swap" |
| CLI | summer makers style-swap |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_style_swap |
| Input | Type | Required | Description |
|---|---|---|---|
sourceVideo | string | Yes | Source clip Length 0 to 2048. |
style | ”anime” | “retro-anime” | “clay” | “psx” | “comic” | “pixel” | “cel-shaded” | No | Style Default "anime". |
prompt | string | No | Extra direction Length 0 to 400. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"sourceVideo": {
"description": "Source clip",
"type": "string",
"maxLength": 2048
},
"style": {
"description": "Style",
"default": "anime",
"type": "string",
"enum": [
"anime",
"retro-anime",
"clay",
"psx",
"comic",
"pixel",
"cel-shaded"
]
},
"prompt": {
"description": "Extra direction",
"type": "string",
"maxLength": 400
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"sourceVideo"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.style_swap",
"input": {
"sourceVideo": "https://www.summerengine.com/examples/clip.mp4"
}
}
}
summer makers style-swap --source-video https://www.summerengine.com/examples/clip.mp4
talking_character
makers.talking_character: Talking Character
Make any picture talk: NPCs, mascots, avatars. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.talking_character" |
| CLI | summer makers talking-character |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_talking_character |
| Input | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Character image. Face clearly visible, looking roughly at the camera Length 0 to 2048. |
audio | string | Yes | Voice line. mp3, wav or m4a Length 0 to 2048. |
consent | true | Yes | I own this media or have permission to use it, and every real person shown has agreed. No public figures, no minors. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"image": {
"description": "Character image. Face clearly visible, looking roughly at the camera",
"type": "string",
"maxLength": 2048
},
"audio": {
"description": "Voice line. mp3, wav or m4a",
"type": "string",
"maxLength": 2048
},
"consent": {
"description": "I own this media or have permission to use it, and every real person shown has agreed. No public figures, no minors.",
"type": "boolean",
"const": true
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"image",
"audio",
"consent"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.talking_character",
"input": {
"image": "https://www.summerengine.com/examples/hero.png",
"audio": "https://www.summerengine.com/examples/line.mp3",
"consent": true
}
}
}
summer makers talking-character --image https://www.summerengine.com/examples/hero.png --audio https://www.summerengine.com/examples/line.mp3 --consent
texture_forge
makers.texture_forge: Texture Forge
A photo into a seamless, tileable game texture. Makes an image asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.texture_forge" |
| CLI | summer makers texture-forge |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_texture_forge |
| Input | Type | Required | Description |
|---|---|---|---|
photo | string | Yes | Surface photo. Stone, wood, grass, metal, fabric, anything with a surface Length 0 to 2048. |
material | ”stone” | “wood” | “ground” | “metal” | “fabric” | “scifi” | No | Material Default "stone". |
look | ”realistic” | “painted” | “toon” | “pixel” | No | Look Default "painted". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"photo": {
"description": "Surface photo. Stone, wood, grass, metal, fabric, anything with a surface",
"type": "string",
"maxLength": 2048
},
"material": {
"description": "Material",
"default": "stone",
"type": "string",
"enum": [
"stone",
"wood",
"ground",
"metal",
"fabric",
"scifi"
]
},
"look": {
"description": "Look",
"default": "painted",
"type": "string",
"enum": [
"realistic",
"painted",
"toon",
"pixel"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"photo"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.texture_forge",
"input": {
"photo": "https://www.summerengine.com/examples/hero.png"
}
}
}
summer makers texture-forge --photo https://www.summerengine.com/examples/hero.png
thumbnail_maker
makers.thumbnail_maker: Thumbnail Maker
Click-worthy YouTube thumbnails from your frame. Makes an image asset. Spends the person’s credits; dryRun shows the estimate. Next: assets.get.
| MCP | summer_call with "op": "makers.thumbnail_maker" |
| CLI | summer makers thumbnail-maker |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_tool_thumbnail_maker |
| Input | Type | Required | Description |
|---|---|---|---|
frame | string | Yes | Frame or photo Length 0 to 2048. |
title | string | Yes | Thumbnail text Length 1 to 40. |
style | ”gaming” | “clean” | “shocked” | No | Style Default "gaming". |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"frame": {
"description": "Frame or photo",
"type": "string",
"maxLength": 2048
},
"title": {
"description": "Thumbnail text",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"style": {
"description": "Style",
"default": "gaming",
"type": "string",
"enum": [
"gaming",
"clean",
"shocked"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"frame",
"title"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.thumbnail_maker",
"input": {
"frame": "https://www.summerengine.com/examples/hero.png",
"title": "a brave knight with a glowing sword"
}
}
}
summer makers thumbnail-maker --frame https://www.summerengine.com/examples/hero.png --title 'a brave knight with a glowing sword'
trailer_forge
makers.trailer_forge: Trailer Forge
A game trailer with music from your screenshots. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.trailer_forge" |
| CLI | summer makers trailer-forge |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_trailer_forge |
| Input | Type | Required | Description |
|---|---|---|---|
shot1 | string | Yes | Screenshot 1 Length 0 to 2048. |
shot2 | string | Yes | Screenshot 2 Length 0 to 2048. |
shot3 | string | No | Screenshot 3 Length 0 to 2048. |
shot4 | string | No | Screenshot 4 Length 0 to 2048. |
title | string | Yes | Game title Length 1 to 60. |
mood | string | Yes | Genre and mood Length 1 to 160. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"shot1": {
"description": "Screenshot 1",
"type": "string",
"maxLength": 2048
},
"shot2": {
"description": "Screenshot 2",
"type": "string",
"maxLength": 2048
},
"shot3": {
"description": "Screenshot 3",
"type": "string",
"maxLength": 2048
},
"shot4": {
"description": "Screenshot 4",
"type": "string",
"maxLength": 2048
},
"title": {
"description": "Game title",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"mood": {
"description": "Genre and mood",
"type": "string",
"minLength": 1,
"maxLength": 160
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"shot1",
"shot2",
"title",
"mood"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.trailer_forge",
"input": {
"shot1": "https://www.summerengine.com/examples/hero.png",
"shot2": "https://www.summerengine.com/examples/hero.png",
"title": "a brave knight with a glowing sword",
"mood": "a brave knight with a glowing sword"
}
}
}
summer makers trailer-forge --shot1 https://www.summerengine.com/examples/hero.png --shot2 https://www.summerengine.com/examples/hero.png --title 'a brave knight with a glowing sword' --mood 'a brave knight with a glowing sword'
transition_morph
makers.transition_morph: Transition Morph
Two images, one smooth morph between them. Makes a video asset through a job. Spends the person’s credits; dryRun shows the estimate. Next: jobs.wait.
| MCP | summer_call with "op": "makers.transition_morph" |
| CLI | summer makers transition-morph |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Long work | Answers with a job at once. Wait with jobs.wait. |
| 3.x names | summer_tool_transition_morph |
| Input | Type | Required | Description |
|---|---|---|---|
firstImage | string | Yes | First frame Length 0 to 2048. |
lastImage | string | Yes | Last frame Length 0 to 2048. |
prompt | string | No | How it transforms Length 0 to 600. |
duration | ”5” | “8” | No | Length Default "5". |
consent | true | Yes | This is my photo, or everyone in it has agreed. No public figures, no minors. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"firstImage": {
"description": "First frame",
"type": "string",
"maxLength": 2048
},
"lastImage": {
"description": "Last frame",
"type": "string",
"maxLength": 2048
},
"prompt": {
"description": "How it transforms",
"type": "string",
"maxLength": 600
},
"duration": {
"description": "Length",
"default": "5",
"type": "string",
"enum": [
"5",
"8"
]
},
"consent": {
"description": "This is my photo, or everyone in it has agreed. No public figures, no minors.",
"type": "boolean",
"const": true
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"firstImage",
"lastImage",
"consent"
],
"additionalProperties": false
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"asset": {
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fileUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"thumbnailUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mimeType": {
"type": "string"
},
"backgroundRemoved": {
"type": "boolean"
}
},
"required": [
"assetId",
"title",
"fileUrl",
"thumbnailUrl"
],
"additionalProperties": false
},
"variants": {
"description": "Other sizes of the same image.",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"creditsCharged": {
"type": "number"
}
},
"required": [
"asset"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "makers.transition_morph",
"input": {
"firstImage": "https://www.summerengine.com/examples/hero.png",
"lastImage": "https://www.summerengine.com/examples/hero.png",
"consent": true
}
}
}
summer makers transition-morph --first-image https://www.summerengine.com/examples/hero.png --last-image https://www.summerengine.com/examples/hero.png --consent

