Skip to main content
Glama

Create Brief for Approval

propose_brief
Destructive

Create a Uwear BriefProposal from canonical generation commands. Every commands[].input is the MCP-safe GenerationIntent fields; commands and immutable plans are persisted without translation. Supply a concrete model_slug for generate, edit, upscale, and video. Use durable command.source IDs for uploaded files or generation results, and reference_attachments for additional references. For video, attach available full back or side garment assets that the camera may reveal when capacity permits; having the asset uploaded is not enough. If the response contains video_garment_view_not_attached, explain its exact assets, node, and capacity, then follow its remediation. Never mix reference_attachments with img_ref_urls or append recommendations beyond remaining capacity. Set execute_immediately=true only when the user explicitly asks to run now. Include creative_context for photoshoots and explain the art direction after proposing. For changes to a visible brief, call update_brief with the complete replacement command list. Webhook callback configuration is API-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandsYesCanonical generation commands. Each command contains the MCP-safe GenerationIntent fields and a durable source reference. Write each input.prompt as a compact positive scene description (setting, lighting, mood, camera, pose — for video, motion and camera movement); without art_direction_id the prompt is the entire creative direction, so give it the full scene. The attached garment/avatar/reference images carry product appearance, so never pad prompts with restated garment construction details, product-fidelity warnings, or negative 'do not' instruction blocks; styling intent (fit, tuck, drape) is fine. For video commands, attach available full back or side garment assets that the camera may reveal through input.reference_attachments when capacity permits. Do not combine reference_attachments with img_ref_urls; uploaded garment assets are not attached automatically. Webhook callback configuration is API-only.
creative_contextNoRequired for photoshoot proposals and brief rewrites. Summarize the shoot-level creative approach that guided garment combos, avatars, prompts, and pipeline steps. By default prefer one cohesive art direction across the photoshoot, e.g. 'urban summer editorial', 'standard grey e-commerce', or 'sporty studio catalog'. Per-look prompts may differ for garment details, pose, framing, or avatar, but should feel part of the same shoot unless the user explicitly asks for multiple art directions, split concepts, A/B routes, or varied campaign directions. The assistant should explain this art direction to the user after proposing the brief and ask if they want changes.
execute_immediatelyNoSet true only when the user explicitly asks to prepare/create/generate/run the photoshoot without another review step. When true, Uwear persists the brief, confirms it, and executes it directly if credits and validation allow; otherwise it falls back to the editable BriefProposal.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / $defs / GenerationReferenceAttachmentInput / properties / outfit_id
      Added value: +{
      +  "default": null,
      +  "description": "Outfit reference. The generation uses the front image of every garment in the outfit, as if each were attached as clothing_item.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / $defs / GenerationReferenceAttachmentInput / properties / type / enum
      Previous value: -[
      -  "uploaded_file",
      -  "generation_result",
      -  "location",
      -  "avatar",
      -  "clothing_item"
      -]New value: +[
      +  "uploaded_file",
      +  "generation_result",
      +  "location",
      +  "avatar",
      +  "clothing_item",
      +  "outfit"
      +]
  2. Changed1 schema field changed
    • addedInput schema / $defs / GenerationIntent / properties / generate_audio / description
      Added value: +"Include audio in the delivered video. False delivers a file with no audio stream; fixed-audio providers are muted after generation, without reducing native-generation credits."
  3. Changed2 schema fields changed
    • addedInput schema / $defs / GenerationIntent / properties / audio_ref_urls
      Added value: +{
      +  "default": null,
      +  "description": "Public audio URLs supplied as model references. Only models that declare a positive max_reference_audio capability accept them.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / GenerationIntent / properties / video_ref_urls
      Added value: +{
      +  "default": null,
      +  "description": "Public video URLs supplied as model references. Only models that declare a positive max_reference_videos capability accept them.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  4. Changed1 schema field changed
    • changedInput schema / $defs / GenerationIntent / properties / prompt / description
      Previous value: -"Scene brief for this shot: setting, lighting, mood, camera/framing, pose — 2-5 compact positive sentences. Without art_direction_id this prompt reaches the image model as-is and is the entire creative direction: carry the shoot's world, lighting, and atmosphere here. With art_direction_id, the saved direction carries reusable style; add only per-shot intent. Supplied garment/avatar/reference images carry product appearance: refer to them semantically ('the supplied jacket'), never by image number — the backend appends the numbered reference map at dispatch. Styling intent (fit, tuck, drape, opening state) belongs here when it matters; re-described garment construction, product-fidelity warnings, and negative 'do not ...' blocks do not — with good references they degrade output. Say what to show, not what to avoid. Video commands: describe motion and camera movement. May be empty for upscale; generation routes validate separately."New value: +"Scene brief for this shot: setting, lighting, mood, camera/framing, pose — 2-5 compact positive sentences. Without art_direction_id this prompt reaches the image model as-is and is the entire creative direction: carry the shoot's world, lighting, and atmosphere here. With art_direction_id, the saved direction carries reusable style; add only per-shot intent. Supplied garment/avatar/reference images carry product appearance: refer to them semantically ('the supplied jacket'), never by image number — the backend appends the numbered reference map at dispatch. Styling intent (fit, tuck, drape, opening state) belongs here when it matters; re-described garment construction, product-fidelity warnings, and negative 'do not ...' blocks do not — with good references they degrade output. Say what to show, not what to avoid. Video commands: describe motion and camera movement. Video does not inherit the source generation's ArtDirection; omit art_direction_id to use only the source frame and this prompt. May be empty for upscale; generation routes validate separately."
  5. Changed1 schema field changed
    • addedInput schema / $defs / GenerationIntent / properties / last_frame_attachment
      Added value: +{
      +  "$ref": "#/$defs/GenerationReferenceAttachmentInput",
      +  "default": null,
      +  "description": "Durable reference to the photo the clip closes on, resolved to a URL at dispatch. The durable form of last_frame_url, for callers that hold an id rather than a link — a workflow wiring a step's output into a later step's last frame cannot know the URL when the graph is authored."
      +}
  6. Changed5 schema fields changed
    • changedInput schema / $defs / GenerationIntent / description
      Previous value: -"Caller-owned model-generation intent shared by every public adapter.\n\nAuthentication-derived identity deliberately does not belong here. REST,\nAgent, MCP, batch, and integrations all submit this exact contract; the\ncommand planner combines it with server-owned execution context later."New value: +"Caller-owned model-generation intent shared by every public adapter.\n\nAuthentication-derived identity deliberately does not belong here. REST,\nAgent, MCP, batch, and integrations all submit this exact contract; the\ncommand planner combines it with server-owned execution context later. MCP omits webhook callback configuration, which remains API-only."
    • removedInput schema / $defs / GenerationIntent / properties / webhook_events
      Removed value: -{
      -  "default": null,
      -  "items": {
      -    "enum": [
      -      "generation.completed",
      -      "generation.failed"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / $defs / GenerationIntent / properties / webhook_secret
      Removed value: -{
      -  "default": null,
      -  "description": "Optional HMAC signing secret for customer callbacks.",
      -  "type": "string",
      -  "ui": {
      -    "sensitive": true
      -  }
      -}
    • removedInput schema / $defs / GenerationIntent / properties / webhook_url
      Removed value: -{
      -  "default": null,
      -  "type": "string"
      -}
    • changedInput schema / properties / commands / description
      Previous value: -"Canonical generation commands. Each command contains the exact REST GenerationIntent contract and a durable source reference. Write each input.prompt as a compact positive scene description (setting, lighting, mood, camera, pose — for video, motion and camera movement); without art_direction_id the prompt is the entire creative direction, so give it the full scene. The attached garment/avatar/reference images carry product appearance, so never pad prompts with restated garment construction details, product-fidelity warnings, or negative 'do not' instruction blocks; styling intent (fit, tuck, drape) is fine. For video commands, attach available full back or side garment assets that the camera may reveal through input.reference_attachments when capacity permits. Do not combine reference_attachments with img_ref_urls; uploaded garment assets are not attached automatically."New value: +"Canonical generation commands. Each command contains the MCP-safe GenerationIntent fields and a durable source reference. Write each input.prompt as a compact positive scene description (setting, lighting, mood, camera, pose — for video, motion and camera movement); without art_direction_id the prompt is the entire creative direction, so give it the full scene. The attached garment/avatar/reference images carry product appearance, so never pad prompts with restated garment construction details, product-fidelity warnings, or negative 'do not' instruction blocks; styling intent (fit, tuck, drape) is fine. For video commands, attach available full back or side garment assets that the camera may reveal through input.reference_attachments when capacity permits. Do not combine reference_attachments with img_ref_urls; uploaded garment assets are not attached automatically. Webhook callback configuration is API-only."
  7. Changed5 schema fields changed
    • removedInput schema / $defs / GenerationCommand / properties / source / discriminator / mapping
      Removed value: -{
      -  "generation_result": "#/$defs/GenerationResultCommandSource",
      -  "pipeline_step": "#/$defs/PipelineStepCommandSource",
      -  "public_url": "#/$defs/PublicUrlCommandSource",
      -  "uploaded_file": "#/$defs/UploadedFileCommandSource"
      -}
    • removedInput schema / $defs / GenerationResultCommandSource
      Removed value: -{
      -  "properties": {
      -    "generation_result_id": {
      -      "minimum": 1,
      -      "type": "integer"
      -    },
      -    "type": {
      -      "const": "generation_result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "type",
      -    "generation_result_id"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / $defs / PipelineStepCommandSource
      Removed value: -{
      -  "description": "Durable identity for a source produced by an earlier pipeline step.",
      -  "properties": {
      -    "output_index": {
      -      "minimum": 0,
      -      "type": "integer"
      -    },
      -    "post_claim_reference": {
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "step_index": {
      -      "minimum": 0,
      -      "type": "integer"
      -    },
      -    "type": {
      -      "const": "pipeline_step",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "type",
      -    "post_claim_reference",
      -    "step_index",
      -    "output_index"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / $defs / PublicUrlCommandSource
      Removed value: -{
      -  "properties": {
      -    "image_url": {
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "type": {
      -      "const": "public_url",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "type",
      -    "image_url"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / $defs / UploadedFileCommandSource
      Removed value: -{
      -  "properties": {
      -    "type": {
      -      "const": "uploaded_file",
      -      "type": "string"
      -    },
      -    "uploaded_file_id": {
      -      "minimum": 1,
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "type",
      -    "uploaded_file_id"
      -  ],
      -  "type": "object"
      -}
  8. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructiveHint=true, readOnlyHint=false), the description discloses persistence behavior ('commands and immutable plans are persisted without translation'), error-remediation behavior (video_garment_view_not_attached response handling), and the API-only limitation of webhook configuration. It also describes the execute_immediately fallback behavior via the schema. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and long, but every sentence earns its place: core purpose first, then command construction rules, video specifics, error handling, exclusions, and routing to update_brief. It is front-loaded with the primary purpose. Slightly over-long, but well-structured and free of redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with nested command schemas and no output schema, the description is remarkably complete. It covers command construction, required fields, source ID semantics, video asset attachment rules, error-response handling, execute_immediately semantics, creative_context requirements, and routing to update_brief. The only missing piece—exact return value—is mitigated by the description's error-handling guidance and the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful guidance on top: requiring a concrete model_slug for specific command types, mandating durable command.source IDs, clarifying the role of reference_attachments for video, and explaining when execute_immediately and creative_context should be set. This elevates the semantics beyond the schema's plain descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Create a Uwear BriefProposal from canonical generation commands.' It clearly distinguishes itself from sibling update_brief by stating 'For changes to a visible brief, call update_brief with the complete replacement command list.' The purpose is unambiguous and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: when to set execute_immediately ('only when the user explicitly asks to run now'), when creative_context is required, and it names the alternative tool (update_brief) with the condition selecting it. It also gives negative constraints such as 'Never mix reference_attachments with img_ref_urls' and 'do not append recommendations beyond remaining capacity.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources