Skip to content
Proud to collaborate with Microsoft for Startups

media.brand.generate-critique-approve ​

Generate a brand image, run a multimodal AI critique (storage_object_uuid → ai.chat.complete attachment_uuids), and open an inbox review envelope. Final verdict via media.artifact.set-verdict.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-media
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuidstringYes——
connection_uuidstringYes—AI connection for image generation
storage_connection_uuidstringYes——
bucketstringYes——
promptstringYes——
modelstringYes——
actor_uuidstringYes—Staff actor that receives the inbox review envelope
sizestringNo——
qualitystringNo——
brandstringNo——
campaignstringNo——
purposestringNo——
session_uuidstringNo——
review_gatestringNo——
critique_connection_uuidstringNo—AI chat connection for critique (vision-capable). Prefer a multimodal chat model — not the image-only deployment. Image pixels are passed via ai.chat.complete attachment_uuids (generate.storage_object_uuid).
critique_modelstringNo—Vision-capable chat model for critique (e.g. gpt-4o, gpt-4.1).
critique_promptstringNo——
review_titlestringNo——
review_reasonstringNo——
suppress_dispatchbooleanNo——
connector_uuidstringNo——
produced_by_kindstringNo——
produced_by_uuidstringNo——
created_by_uuidstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuidstringYes——
connection_uuidstringYes—AI connection for image generation
storage_connection_uuidstringYes——
bucketstringYes——
promptstringYes——
modelstringYes——
actor_uuidstringYes—Staff actor that receives the inbox review envelope
sizestringNo——
qualitystringNo——
brandstringNo——
campaignstringNo——
purposestringNo——
session_uuidstringNo——
review_gatestringNo——
critique_connection_uuidstringNo—AI chat connection for critique (vision-capable). Prefer a multimodal chat model — not the image-only deployment. Image pixels are passed via ai.chat.complete attachment_uuids (generate.storage_object_uuid).
critique_modelstringNo—Vision-capable chat model for critique (e.g. gpt-4o, gpt-4.1).
critique_promptstringNo——
review_titlestringNo——
review_reasonstringNo——
suppress_dispatchbooleanNo——
connector_uuidstringNo——
produced_by_kindstringNo——
produced_by_uuidstringNo——
created_by_uuidstringNo——
failure_reasonstringNo—Engine-stamped human-readable failure reason
failed_atstringNo—ISO timestamp when the workflow failed
failed_at_statestringNo—Engine-stamped state when the workflow failed
failed_stepstringNo—Engine-stamped step name (DAG path)
failed_layerintegerNo—Engine-stamped layer index (DAG path)
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name
storage_object_uuidstringNo——
artifact_uuidstringNo——
approval_envelope_uuidstringNo——
verdictstringNo——
critique_responsestringNo——
generatejsonNo——
critiquejsonNo——
request_reviewjsonNo——
completed_atstringNo——

DAG Layers ​

#LayerStepsCompensation
1generatemedia.image.generatemedia.artifact.set-verdict
2critiqueai.chat.completemedia.artifact.set-verdict
3request_reviewmedia.artifact.request-review—

Execution Flow ​

Compensation ​

When any layer fails, its compensation steps run in reverse order to roll back the work completed so far.

Sub-workflows ​

Sub-workflowStep name
media.image.generategenerate
ai.chat.completecritique
media.artifact.request-reviewrequest_review
media.artifact.set-verdictreject_artifact_after_generate

Outcomes ​

OutcomeTypeDescriptionState Data Keys
review_requestedSUCCESSImage generated, critiqued, and inbox review envelope openedartifact_uuid, approval_envelope_uuid, storage_object_uuid, critique_response
failedFAILUREBrand generate-critique-approve DAG failedfailure_reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "media.brand.generate-critique-approve",
  "initial_data": {
    "organization_uuid": "value",
    "connection_uuid": "value",
    "storage_connection_uuid": "value",
    "bucket": "value"
  }
}