Skip to content
Proud to collaborate with Microsoft for Startups

Media ​

WorkflowTypeDescription
media.artifact.registerAtomicRegister a GeneratedArtifact index row (default review_gate=inbox, verdict=pending). Bytes live on StorageObject when storage_object_uuid set.
media.artifact.request-reviewAtomicCreate a Staff ActorOutboxEnvelope for GeneratedArtifact inbox review, stamp approval_envelope_id on the artifact, and fan out to inbox connectors.
media.artifact.set-verdictAtomicSet review verdict on a GeneratedArtifact. Inbox-gated artifacts require an approved ActorOutboxEnvelope (from media.artifact.request-review) unless force=true.
media.audio.transcribeAtomicTranscribe an audio StorageObject via the org AI connection (provider-blind), persist the transcript to storage, and index it as a copy GeneratedArtifact. Returns refs plus the transcript text; audio bytes never enter workflow state.
media.brand.generate-critique-approveDagGenerate 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.
media.image.editAtomicEdit an existing StorageObject image via the org AI connection; persist result and return a new StorageObject UUID. Prefer media_profile_uuid (fail-closed).
media.image.generateAtomicGenerate an image via the org AI connection (Azure-first), persist bytes to storage, return StorageObject UUID only. Prefer media_profile_uuid (fail-closed ready profile); explicit connection/storage/bucket/model kept for back-compat.
media.image.variantAtomicCreate 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).
media.ingest.from-urlAtomicFetch a remote HTTPS URL server-side, write bytes to org storage, return StorageObject UUID only (never bytes).
media.profile.disableAtomicDisable a MediaProfile (enabled=False, status=disabled). Idempotent when already disabled.
media.profile.recheckAtomicRe-validate an existing MediaProfile (AI, bucket ensure, storage probe, paid image smoke). Restores status=ready only when smoke succeeds.
media.profile.set-defaultAtomicPromote one MediaProfile to the organization default, demoting any previous default in the same transaction.
media.profile.setupAtomicCreate or update a MediaProfile: validate AIProviderConfig, ensure media bucket via storage.media-bucket.ensure, storage put/delete probe, and paid image smoke. Marks status=ready only when smoke succeeds.