Do shared Dify LLM references survive a CometAPI workflow export?

Dify says shared LLM references survive DSL export/import. For a CometAPI-backed workflow, that is a useful feature—but not yet proof that the imported app will call the intended model on your installed plugin version.

The distinction matters when a creative workflow has several text-planning steps: one turns a brief into a shot list, another writes material and lighting notes, and a third checks the brief for missing constraints. If those steps are meant to use the same model configuration, a successful import alone is a weak acceptance signal.

What the two sources establish

Dify’s 1.17.0 release notes describe reusable LLM environment variables: define provider, model, mode and parameters once, then reference that configuration from LLM nodes. The notes explicitly say those references survive DSL import/export.

CometAPI’s Dify integration guide draws a separate boundary: one provider credential does not mean one model configuration. The dedicated CometAPI plugin handles its endpoint internally, while Dify still needs selectable model entries. Capabilities and settings remain model-specific.

Together, these suggest a two-part acceptance check: preserve the shared Dify reference, then verify that it resolves to the intended CometAPI provider/model configuration. Neither document proves that combination on every Dify/plugin version.

A round-trip check before promotion

Here is a proposed test, not a report of a completed migration:

  1. Record the starting configuration. Note the Dify and CometAPI plugin versions. In a test workflow, use an illustrative shared configuration such as creative_brief_text for the shot-list and lighting-notes LLM nodes. Record its provider, exact model ID, mode and parameters, plus which nodes should reference it. Leave any deliberately different review node separate.
  2. Export safely. Inspect the DSL for credentials before sharing it. Keep the CometAPI key in the credential store; do not put it in the export or comparison notes. Configure the destination’s provider credentials separately as needed.
  3. Import into a separate test app. Compare the expected node-to-configuration mapping with the imported one. Check both the shared reference and its resolved provider/model/mode/parameters. A matching display name is not enough for this test.
  4. Check that sharing still behaves as intended. In the disposable app, make a supported, reversible parameter change to the shared configuration. Inspect whether each intended node reflects it and whether deliberately separate nodes remain separate. Restore the original value before the route test.
  5. Exercise the CometAPI route. Confirm the exact model ID is available to the destination account and run a short text prompt, then the representative creative brief. Inspect Dify’s run logs for the selected model, token usage and errors. If the route fails, the official guide recommends a small request outside Dify to help separate endpoint/key/model problems from plugin or workflow configuration problems.

For promotion, I would require both the structural comparison and successful route tests. If either fails, keep the imported app in testing rather than silently replacing shared references with unrelated node settings.

This example is deliberately about text preparation for image work, not image generation. A coherent shot list does not establish vision support, tool support, or consistent rendered materials. Those need their own capability checks and evaluation inputs.

The practical question is therefore not just “did the DSL import?” It is “do the same intended nodes still share the same configuration, and does that configuration resolve to the tested CometAPI route?”

A useful addition to the round-trip check is to treat configuration provenance as part of the acceptance record, not just a successful run. For each shared reference, capture the resolved provider, model ID, mode, and parameters in a redacted comparison table, and record which values are inherited versus locally overridden. That makes a later plugin or Dify upgrade auditable without exposing credentials.

I would also add a negative test: deliberately give one node a separate model configuration and confirm that the import does not collapse it into the shared reference. Then test an unavailable or unsupported model ID in the disposable app and verify that the workflow fails visibly at the configuration boundary rather than silently falling back to another model. A successful prompt alone cannot demonstrate that the intended model was used.

For a workflow that turns a brief into image-production instructions, keep the promotion decision scoped to text planning. Reviewers should separately assess whether the generated shot list preserves sensitive brief details and whether downstream image tools receive only the fields they need. Until those checks pass, retain the imported app as a test artifact and require human review before using it on real briefs.