{
  "$schema": "https://openworkflowgraph.org/schemas/core/v0.92.json",
  "owg_version": "0.92",
  "id": "c2pa-localized-key-art",
  "project_id": "c2pa-localized-key-art",
  "description": "C2PA binding — AI-generated key art, approved by a person, localized by an artist, and verified before delivery. Each new asset carries its own content credential; the localized version names the original as its parent ingredient, and only the verified version is marked attested.",
  "objective": "Produce French key art for a title from an AI-generated base image, with content credentials that a distributor can verify, and a record of who approved and changed it.",
  "profiles": ["generative-ai"],

  "organizations": [
    { "id": "org_studio", "name": "Example Studio", "role": "studio" },
    { "id": "org_gen", "name": "Image generation provider", "role": "service-provider" }
  ],

  "participants": [
    { "id": "art_director", "kind": "human", "name": "Art director", "role": "supervisor", "works_for": "org_studio" },
    { "id": "designer", "kind": "human", "name": "Localization designer", "role": "artist", "works_for": "org_studio" },
    { "id": "gen_agent", "kind": "agent", "name": "Key-art generation agent", "operated_by": "art_director", "works_for": "org_studio",
      "identity": { "scheme": "urn", "id": "urn:example-studio:agent:key-art", "credential_scope": ["generate:images"] } },
    { "id": "gen_service", "kind": "service", "name": "Image generation and signing", "works_for": "org_gen" },
    { "id": "verifier", "kind": "service", "name": "Content-credential verifier", "works_for": "org_studio" }
  ],

  "assets": [
    { "id": "brief", "role": "creative_brief", "type": "document" },
    { "id": "key_art_base", "role": "key_art", "type": "image",
      "produced_by": "generate_base",
      "identity": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
      "identifiers": [{ "scope": "c2pa", "id": "urn:c2pa:00000000-0000-0000-0000-00000000000a" }],
      "credentials": {
        "scheme": "c2pa",
        "manifest": "urn:c2pa:00000000-0000-0000-0000-00000000000a",
        "signer": "org_gen",
        "actions": ["c2pa.created"],
        "ai_generated": true,
        "status": "unverified"
      },
      "assurance": "asserted" },
    { "id": "key_art_fr", "role": "key_art", "type": "image",
      "produced_by": "localize",
      "predecessor": "key_art_base", "version_relation": "alternative",
      "identity": "sha256:0000000000000000000000000000000000000000000000000000000000000002",
      "identifiers": [{ "scope": "c2pa", "id": "urn:c2pa:00000000-0000-0000-0000-00000000000b" }],
      "credentials": {
        "scheme": "c2pa",
        "manifest": "urn:c2pa:00000000-0000-0000-0000-00000000000b",
        "signer": "org_studio",
        "actions": ["c2pa.opened", "c2pa.edited"],
        "ingredients": [{ "asset": "key_art_base", "relationship": "parentOf" }],
        "status": "trusted"
      },
      "assurance": "attested" },
    { "id": "verification_report", "role": "qc_report", "type": "document", "produced_by": "verify" },
    { "id": "delivery_fr", "role": "deliverable", "type": "image", "produced_by": "deliver" }
  ],

  "tasks": [
    { "id": "generate_base", "type": "work", "label": "Generate base key art",
      "executor": { "type": "saas_api", "environment": "saas" },
      "ai_role": "generative",
      "performed_by": "gen_agent", "used": ["brief"], "produced": ["key_art_base"] },

    { "id": "approve_base", "type": "review", "label": "Art director approves the base image",
      "depends_on": ["generate_base"],
      "executor": { "type": "human", "environment": "manual" }, "ai_role": "none",
      "performed_by": "art_director", "used": ["key_art_base"] },

    { "id": "localize", "type": "work", "label": "Add the French title treatment",
      "depends_on": ["approve_base"],
      "executor": { "type": "local_app", "environment": "desktop" }, "ai_role": "none",
      "performed_by": "designer", "used": ["key_art_base"], "produced": ["key_art_fr"] },

    { "id": "verify", "type": "qc", "label": "Verify the content credential before release",
      "depends_on": ["localize"],
      "executor": { "type": "service", "environment": "cloud" }, "ai_role": "none",
      "performed_by": "verifier", "used": ["key_art_fr"], "produced": ["verification_report"],
      "on_fail": "approve_base", "max_reroutes": 2 },

    { "id": "deliver", "type": "delivery", "label": "Deliver to the distributor",
      "depends_on": ["verify"],
      "executor": { "type": "service", "environment": "cloud" }, "ai_role": "none",
      "performed_by": "verifier", "used": ["key_art_fr", "verification_report"], "produced": ["delivery_fr"] }
  ]
}
