Skip to content
Proud to collaborate with Microsoft for Startups

media.image.variant ​

Create a variant of an existing StorageObject image via the org AI connection; persist and return a new StorageObject UUID. Prefer media_profile_uuid (fail-closed). gpt-image-* uses images/edits fallback (variations API unsupported).

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-media
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuidstringYes——
media_profile_uuidstringNo—Preferred ready MediaProfile; fills AI + storage binding
ai_provider_config_uuidstringNo—Filled from MediaProfile resolution; provenance only
connection_uuidstringNo—Back-compat when no MediaProfile
storage_connection_uuidstringNo——
bucketstringNo——
source_storage_object_uuidstringYes——
promptstringNo—Optional variation guidance. Required path for gpt-image-* (falls back to images/edits). Default prompt used when omitted.
modelstringNo——
sizestringNo——
keystringNo——
register_artifactbooleanNo—Default true — write GeneratedArtifact after put
review_gatestringNo——
brandstringNo——
campaignstringNo——
purposestringNo——
session_uuidstringNo—When set, also stamp agents.cost-entry-record unit=image
variant_of_uuidstringNo—Parent GeneratedArtifact UUID. When omitted, resolved from source_storage_object_uuid if an artifact owns that object.
produced_by_kindstringNo——
produced_by_uuidstringNo——
created_by_uuidstringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuidstringYes——
media_profile_uuidstringNo——
ai_provider_config_uuidstringNo——
connection_uuidstringNo—Back-compat when no MediaProfile
storage_connection_uuidstringNo——
bucketstringNo——
source_storage_object_uuidstringNo——
promptstringNo—Optional variation guidance. Required path for gpt-image-* (falls back to images/edits). Default prompt used when omitted.
modelstringNo——
sizestringNo——
keystringNo——
register_artifactbooleanNo—Default true — write GeneratedArtifact after put
review_gatestringNo——
brandstringNo——
campaignstringNo——
purposestringNo——
session_uuidstringNo—When set, also stamp agents.cost-entry-record unit=image
variant_of_uuidstringNo—Parent GeneratedArtifact UUID. When omitted, resolved from source_storage_object_uuid if an artifact owns that object.
produced_by_kindstringNo——
produced_by_uuidstringNo——
created_by_uuidstringNo——
storage_object_uuidstringNo——
size_bytesintegerNo——
sha256stringNo——
unitstringNo——
quantityintegerNo——
providerstringNo——
artifact_uuidstringNo——
verdictstringNo——
cost_usdstringNo——
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
completed_atstringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

Outcomes ​

OutcomeTypeDescriptionState Data Keys
completedSUCCESSMedia atom completed successfullycompleted_at
failedFAILUREMedia atom failedfailure_reason, error, error_type

API Usage ​

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

{
  "workflow_type": "media.image.variant",
  "initial_data": {
    "organization_uuid": "value",
    "source_storage_object_uuid": "value"
  }
}