Layer Workflow Import

layerai/skills/skills/layer-workflow-import

by layerai315d06db6f76MIT4 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 8 days ago

Use when bringing a workflow built in another tool into Layer: an exported workflow file, a node-graph JSON from any node editor, a screenshot of a node canvas, or a pipeline described in prose. Also when converting, porting, migrating or rebuilding a pipeline as a Layer Blueprint workflow. Keywords: import workflow, export file, node graph, node editor, convert, port, migrate, rebuild, blueprint.

Instructions onlyAI & Agents
AI-generated overview

Rebuilds workflows from other tools as Layer Blueprint graphs and imports them via import_workflow.

What it does
Guides an agent through reading an exported workflow file, node-graph JSON, node canvas screenshot or prose pipeline description, then mapping its intent onto Layer node kinds. It builds the graph object, validates it with import_workflow in validate_only mode, imports it privately, and runs a proof execution. It reports the workflow id, the mapping decisions, and anything dropped or approximated.
When to use it
Use when a workflow built in another tool needs to be brought into Layer, including converting, porting, migrating or rebuilding a pipeline as a Layer Blueprint workflow. Not intended for running workflows that already exist in Layer.
Requirements
Requires the Layer MCP tools (get_blueprint_system_config, list_base_models, get_base_model, import_workflow, estimate_workflow_price, execute_workflow, get_workflow_run, request_file_upload_url or upload_file, list_projects, list_reference_sets) and the sibling layer and layer-workflows skills. Ships no scripts; it is instructions plus a references/sources.md document.

Layer Workflow Import

Overview

Read what the source does, rebuild it from Layer's node kinds, and hand the whole graph to import_workflow. The result is always private; sharing is a separate step in the Layer app. To run a workflow that already exists, use layer-workflows. The spend gate and polling rules live in the layer skill.

If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add layerai/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

Translate intent, not nodes

Other tools expose the machinery; Layer exposes the task. A low-level text-to-image graph is a model loader, a text encoder per prompt, an empty latent, a sampler and a decoder. In Layer that is one generate node. Read what goes in, what each step does, and what comes out, then use the fewest Layer nodes that do the same job.

How to read an unfamiliar source, and what common node patterns mean, is in references/sources.md [blocked].

Quick reference

StepToolNotes
Learn the partsget_blueprint_system_configNode kinds, their ports and value schemas. Call once, reuse.
Pick modelslist_base_models, get_base_modelDiscover by use case. Never copy the source's model name.
Sample filesrequest_file_upload_url or upload_fileOnly for the proof run: a file input's value is a file_id.
Check the graphimport_workflow with validate_only: trueCreates nothing. Fix every problem it reports.
Importimport_workflowPublishes privately by default so it can run.
Prove it runsestimate_workflow_price, execute_workflowRun shape as in layer-workflows. Poll get_workflow_run.
File itlist_projects, then project_id on importOptional: land the workflow in a project for review.

The graph

graph is an open object with three maps: inputs (parameter key to input parameter), nodes (node id to node) and outputs (parameter key to output parameter). No public surface defines the fields inside them, so do not assume a shape. Node kinds, port keys, port types and value schemas come from get_blueprint_system_config; validate_only names whatever is missing or misnamed.

There is no edge list. Whatever is fed names its source in refs, {"_default": [...]}, holding nodes::<node id>[<kind key>]::<port key> for a node output or blueprint::<input key> for a workflow input.

An output of type A may feed an input of type B only when A equals B or (A, B) is a casting rule. A rule carrying a transformer is blocked, not allowed: insert the named transformer node kind between the two and wire through it.

Static values must conform to their type's JSON schema in the system config. Where a port selects a model, discover it with list_base_models filtered by the use case that node serves.

The loop

  1. get_blueprint_system_config for the workspace.
  2. Read the source and write down inputs, steps and outputs in plain words.
  3. Map each step to a node kind. When nothing fits, stop and tell the user which step has no Layer equivalent, rather than approximating it with an unrelated node.
  4. Build the graph, then import_workflow with validate_only: true. The result groups problems by node, input and output. Fix and repeat until is_valid is true.
  5. import_workflow for real, with a clear name and a description that says where it came from. Pass project_id when the user wants it filed in a project.
  6. Prove it: upload a sample for each file input, estimate_workflow_price, confirm above 20 CUs, then execute_workflow with a session_name and poll. A graph that validates can still produce the wrong thing; look at the output.
  7. Report: the workflow id, what was mapped to what, and anything dropped or approximated.

publish: false keeps a draft instead of a runnable workflow, and is accepted even with validation problems. Use it only when the user wants to finish the graph by hand in the editor.

Worked example

"Import this workflow." The user attaches a node-graph JSON: a top-level nodes list and a links list of [link, from node, from slot, to node, to slot].

  1. Reading it: a checkpoint loader, a pixel-art style adapter, positive and negative text encoders, an empty 1024x1024 latent, a sampler, a decoder, a 2x upscale and a save node.
  2. Intent: text in, pixel-art image out, upscaled 2x. Inputs: the prompt. Fixed: size, the style.
  3. get_blueprint_system_config, then pick generate-image and upscale node kinds whose ports fit. If the generate kind has a style port, check list_reference_sets for a pixel-art set; otherwise fold the style into the prompt.
  4. list_base_models with the text-to-image use case; take the first result for the generate node.
  5. Graph: input prompt; the generate node's prompt port refs blueprint::prompt; the upscale node's image port refs nodes::<generate id>[<generate kind>]::<image port>; an output refs the upscale node's output.
  6. validate_only reports the upscale node's image port as the wrong type. The casting rule for that pair carries a transformer, so it is blocked: insert that transformer node kind and wire through it.
  7. Import, estimate (6 CUs), execute with a session_name and a sample prompt, poll, and check the image is upscaled and pixel-styled.
  8. Report: "Imported as a private workflow. The sampler, latent and decoder plumbing became one generate node. The style adapter became a reference set. The negative prompt was dropped: the chosen model has no negative prompt port."

Common mistakes

  • Copying a checkpoint or weights file name into a model port instead of discovering a base_model_id.
  • Inventing field names inside graph instead of taking them from the system config and validation.
  • Wiring a pair whose casting rule carries a transformer instead of routing through that node kind.
  • Silently approximating a step Layer has no node for. Say which step and why.
  • Promising the workflow is shared. It is private; sharing happens in the Layer app.
  • Skipping the test run. Validation checks wiring, not whether the output is right.

Source and attribution

Source:layerai/skillsinskills/layer-workflow-importat commit315d06d

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from layerai/skills

Layer Workflows

layerai

Use when running a saved Layer Blueprint workflow rather than a single generation: discovering what workflows a workspace has, reading a workflow's input schema, estimating and executing a run, polling its steps, or cancelling it. Also when a repeatable multi-step pipeline exists for a task, when the user names a workflow, or when a workflow input expects a style or a file. Keywords: workflow, blueprint, pipeline, app, multi-step, run, node graph.

Awaiting classification4updated 8 days ago

Layer Video Timeline

layerai

Assembles existing clips, images and audio into one finished video timeline with transitions, overlays and captions.

Design & Creative4updated 8 days ago

Layer Video

layerai

Use when generating video with Layer: text-to-video, animating a still image, extending a clip, adding camera motion, generating native audio or lip sync, looping animations, or planning a multi-shot ad, trailer, or cutscene. Also when a video prompt produces the wrong motion or the shot drifts off the source image. Keywords: txt2vid, img2vid, image to video, camera motion, video effects, loop, seamless, trailer, cutscene, lipsync.

Awaiting classification4updated 8 days ago

Layer Textures

layerai

Guides generation of seamless, tileable textures with the Layer image model, covering scale, lighting and repeat checks.

Design & Creative4updated 8 days ago

Layer Reference Sets

layerai

Use when a look must hold across many Layer generations: training a custom style or LoRA on a studio's own artwork, curating the images that go into a reference set, choosing its training category, tuning reference-set weight on a run, or deciding whether to train at all rather than attach a style reference. Also when a trained style produces weak, inconsistent, or silently ignored results. Keywords: LoRA, custom model, trained style, reference set, consistency, on-model, art direction, dataset.

Awaiting classification4updated 8 days ago

Layer Quality

layerai

Reviews generated asset batches against a studio's output scoring rules and the brief before delivery.

Design & Creative4updated 8 days ago