Multi-model AI image generation on a visual canvas — Midjourney, Grok, nano-banana, Seedream — with reference image support, style transfer, and batch generation. Powered by VPick.
https://vpick.10xboost.org/mcp/t/xxxxx...). Treat it like a password — do not share it publicly.vpick.10xboost.org on Google Cloud). VPick routes requests to third-party AI model providers (Midjourney, Grok, Seedream, nano-banana) on your behalf. Your prompts and uploaded reference images are sent to these providers for processing.| Model | Cost | Output | Best For |
|---|---|---|---|
| ------- | ------ | -------- | ---------- |
| nano-banana-2 | $0.16/image | 1 image | Default, fast, multi-reference support |
| Midjourney Relaxed | $0.045/grid | 4 images (grid) | Budget artistic generation |
| Midjourney Fast | $0.12/grid | 4 images (grid) | Quick artistic generation |
| Midjourney Turbo | $0.24/grid | 4 images (grid) | Fastest Midjourney |
| Grok Imagine | $0.06/call | 6 images (T2I) or 2 (I2I) | Budget bulk generation |
| Seedream 5.0 Lite | $0.0825/image | 1 image (2K) | High resolution, affordable |
| Seedream 5.0 HD | $0.0825/image | 1 image (3K) | Ultra high resolution |
Aspect Ratios: 1:1, 16:9, 9:16, 3:4, 4:3 (all models)
Check user's canvas and project:
get_canvas → See current state
list_projects → Check existing projects
create_project → Start fresh if needed
add_node(type: "image-generator", name: "My Image")
Option A — Direct prompt:
update_node(id: "<node_id>", data: { prompt: "a cyberpunk cityscape at sunset, neon lights, rain reflections" })
Option B — Connect a Text node:
add_node(type: "text", name: "Prompt", data: { content: "a cyberpunk cityscape at sunset" })
connect_nodes(sourceId: "<text_node>", targetId: "<image_node>", sourceHandle: "text-out", targetHandle: "prompt-in")
Reference images guide the generation style or subject. Up to 10 reference images supported.
upload_image(url: "https://example.com/reference.jpg")
connect_nodes(sourceId: "<upload_node>", targetId: "<image_node>", sourceHandle: "file-out", targetHandle: "image-in")
Use @NodeLabel in prompts to reference connected images:
"A portrait in the style of @reference, vibrant colors"
The @reference is resolved at generation time to the connected image URL.
run_image_generator(
nodeId: "<image_node>",
prompt: "a cyberpunk cityscape at sunset, neon lights",
model: "nano-banana-2",
aspectRatio: "16:9"
)
Midjourney-specific options:
run_image_generator(
nodeId: "<image_node>",
prompt: "a cyberpunk cityscape at sunset",
model: "midjourney",
aspectRatio: "16:9",
mjSpeed: "fast", // "relaxed", "fast", "turbo"
mjVersion: "7.0" // Midjourney version
)
Grok — auto-detects T2I vs I2I:
Models may generate multiple images:
currentImageIndex (0-3)Check results:
get_node(id: "<image_node>") → See generatedImageUrl, status
list_nodes → Overview of all nodes
Generated images can be used as input for:
start-image-in portconnect_nodes(sourceId: "<image_node>", targetId: "<video_node>", sourceHandle: "image-out", targetHandle: "start-image-in")
For video production, generate character references on white backgrounds:
run_image_generator(
nodeId: "<node>",
prompt: "full body portrait of a young woman, casual outfit, white background, isolated figure, front view",
model: "nano-banana-2",
aspectRatio: "3:4"
)
Generate multiple angles (front, side, 3/4) for use as MultiShot Elements.
Create multiple ImageGenerator nodes and generate in parallel:
add_node(type: "image-generator", name: "Variant A")
add_node(type: "image-generator", name: "Variant B")
add_node(type: "image-generator", name: "Variant C")
run_image_generator(nodeId: "<A>", prompt: "sunset beach, warm tones", model: "midjourney")
run_image_generator(nodeId: "<B>", prompt: "sunset beach, cool tones", model: "grok-imagine")
run_image_generator(nodeId: "<C>", prompt: "sunset beach, dramatic", model: "nano-banana-2")
upload_image(url: "https://example.com/style-reference.jpg")
connect_nodes(sourceId: "<upload>", targetId: "<image_node>", sourceHandle: "file-out", targetHandle: "image-in")
run_image_generator(
nodeId: "<image_node>",
prompt: "a portrait in the style of @style-reference, detailed, high quality",
model: "nano-banana-2"
)
Keep things tidy:
auto_layout(nodeIds: [...], direction: "horizontal", spacing: 200)
create_group(nodeIds: [...], overrides: { label: "Character Designs", color: "#E57373" })
list_generated_files(limit: 20, model: "midjourney") → Recent generations filtered by model
get_generation_stats → Cost breakdown by model
relaxed speed to save cost@NodeLabel references are resolved at generation time — make sure labels match exactlylist_models tool to check current pricing and available models| Error | Solution |
|---|---|
| ------- | ---------- |
| Generation timeout | Auto-retries up to 2 times; check status with get_node |
| Insufficient credits | Top up at vpick.10xboost.org |
| Invalid aspect ratio | Use: 1:1, 16:9, 9:16, 3:4, or 4:3 |
| Reference not resolved | Ensure @NodeLabel matches the connected node's label exactly |
| Node not found | Use list_nodes to get current node IDs |
list_models tool for current pricing and capabilities共 1 个版本