Default model tools

render_create

Render an episode or clip

Renders an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. It renders the exact creator result, not a list/search result: that result's target_type, target_id, and revision as required expected_revision. Use this for ordinary make/cut/create requests, which carry explicit private-render intent, unless the user asks for draft-only, review first, or no render. Exact-result feedback inherits one private render only when a prior ready-Output receipt or pre-edit render_status proves that exact target has a current ready Output; the final revision after committed render-affecting edits then renders once, under the same exceptions. List/search recency or mere Output existence does not establish that intent. Publishing remains separately explicit; inherited private render intent never grants publication. First-use intro/outro blocks with new text may take a few minutes to prepare; the render waits and starts automatically once ready. It has no idempotency_key; the server reuses a current in-flight or ready render for the same exact revision/settings.

Surface: Default model and app

Product release eb8538f4a297f331d0399351c1e175bffcd212d2
Public contract commit 20688e11af473a363145ed880d5019c90a7ec1e2
Public contract SHA-256 87a94b85a84dc19245fc03f9b544c70d64bd9f5e08585dcccb38157cace5700d
Captured 2026-10-04T11:55:45.577Z. Review or improve this contract on GitHub.

These blocks show the complete MCP descriptors captured from serving Rails. Security schemes and resource URIs can differ by connected host.

Default model descriptor

{
  "name": "render_create",
  "title": "Render an episode or clip",
  "description": "Renders an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. It renders the exact creator result, not a list/search result: that result's target_type, target_id, and revision as required expected_revision. Use this for ordinary make/cut/create requests, which carry explicit private-render intent, unless the user asks for draft-only, review first, or no render. Exact-result feedback inherits one private render only when a prior ready-Output receipt or pre-edit render_status proves that exact target has a current ready Output; the final revision after committed render-affecting edits then renders once, under the same exceptions. List/search recency or mere Output existence does not establish that intent. Publishing remains separately explicit; inherited private render intent never grants publication. First-use intro/outro blocks with new text may take a few minutes to prepare; the render waits and starts automatically once ready. It has no idempotency_key; the server reuses a current in-flight or ready render for the same exact revision/settings.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "target_type": {
        "type": "string",
        "enum": [
          "episode",
          "clip"
        ],
        "description": "Object type to render."
      },
      "target_id": {
        "type": "string",
        "description": "Episode or clip public ID."
      },
      "format": {
        "type": "string",
        "enum": [
          "mp4"
        ],
        "description": "Currently mp4."
      },
      "aspect_ratio": {
        "type": "string",
        "enum": [
          "9:16",
          "16:9",
          "1:1"
        ],
        "description": "Optional render aspect ratio."
      },
      "expected_revision": {
        "type": "integer",
        "minimum": 0,
        "description": "Required exact structural revision returned by the creator (episode_create or clip_create), an edit, or a fresh episode_read. Missing or stale custody is rejected before billing or render work."
      },
      "expected_render_plan_hash": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$",
        "description": "Optional exact picture fingerprint from a canvas-presented episode_sample_frames result. A mismatch is rejected before billing, queueing, or reuse of older media."
      },
      "title": {
        "type": "string",
        "description": "Optional title to apply to this render."
      }
    },
    "required": [
      "target_type",
      "target_id",
      "expected_revision"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Render an episode or clip",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ],
    "ui": {
      "visibility": [
        "model",
        "app"
      ]
    },
    "openai/widgetAccessible": true
  }
}

App descriptor

{
  "name": "render_create",
  "title": "Render an episode or clip",
  "description": "Renders an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. It renders the exact creator result, not a list/search result: that result's target_type, target_id, and revision as required expected_revision. Use this for ordinary make/cut/create requests, which carry explicit private-render intent, unless the user asks for draft-only, review first, or no render. Exact-result feedback inherits one private render only when a prior ready-Output receipt or pre-edit render_status proves that exact target has a current ready Output; the final revision after committed render-affecting edits then renders once, under the same exceptions. List/search recency or mere Output existence does not establish that intent. Publishing remains separately explicit; inherited private render intent never grants publication. First-use intro/outro blocks with new text may take a few minutes to prepare; the render waits and starts automatically once ready. It has no idempotency_key; the server reuses a current in-flight or ready render for the same exact revision/settings.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "target_type": {
        "type": "string",
        "enum": [
          "episode",
          "clip"
        ],
        "description": "Object type to render."
      },
      "target_id": {
        "type": "string",
        "description": "Episode or clip public ID."
      },
      "format": {
        "type": "string",
        "enum": [
          "mp4"
        ],
        "description": "Currently mp4."
      },
      "aspect_ratio": {
        "type": "string",
        "enum": [
          "9:16",
          "16:9",
          "1:1"
        ],
        "description": "Optional render aspect ratio."
      },
      "expected_revision": {
        "type": "integer",
        "minimum": 0,
        "description": "Required exact structural revision returned by the creator (episode_create or clip_create), an edit, or a fresh episode_read. Missing or stale custody is rejected before billing or render work."
      },
      "expected_render_plan_hash": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$",
        "description": "Optional exact picture fingerprint from a canvas-presented episode_sample_frames result. A mismatch is rejected before billing, queueing, or reuse of older media."
      },
      "title": {
        "type": "string",
        "description": "Optional title to apply to this render."
      }
    },
    "required": [
      "target_type",
      "target_id",
      "expected_revision"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Render an episode or clip",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ],
    "ui": {
      "visibility": [
        "model",
        "app"
      ]
    },
    "openai/widgetAccessible": true
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "render_id": {
        "type": [
          "string",
          "null"
        ]
      },
      "target_type": {
        "type": "string"
      },
      "target_id": {
        "type": "string"
      },
      "title": {
        "type": "string",
        "description": "Current title of the exact render target."
      },
      "episode_id": {
        "type": "string",
        "description": "Present when target_type is episode."
      },
      "clip_id": {
        "type": "string",
        "description": "Present when target_type is clip."
      },
      "revision": {
        "type": "integer",
        "description": "Authoritative current structural revision for exact Render custody and any render_create recovery."
      },
      "status": {
        "type": "string"
      },
      "progress": {
        "type": "number"
      },
      "render_phase": {
        "type": [
          "string",
          "null"
        ]
      },
      "segment_count": {
        "type": "integer"
      },
      "duration_seconds": {
        "type": [
          "number",
          "null"
        ]
      },
      "span_summary": {
        "type": "object"
      },
      "render_plan_hash": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$",
        "description": "Exact current picture fingerprint queued, reused, or reported by this render request."
      },
      "media": {
        "type": "object"
      },
      "render_generation": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^[0-9a-f]{64}$",
        "description": "Opaque immutable identity of the exact ready MP4/poster generation. It is not render_id."
      },
      "exact_export_id": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^rxpt_[a-z0-9]+$",
        "description": "Immutable retained Export identity for an Episode or Clip."
      },
      "export_id": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^rxpt_[a-z0-9]+$",
        "description": "Immutable retained exact Export matching this completed render; null for imported playback without render evidence. Its absence does not prevent basic playback."
      },
      "download_available": {
        "type": "boolean",
        "description": "True only when a current private Download capability is present, including verified imported playback."
      },
      "download_url": {
        "type": [
          "string",
          "null"
        ],
        "description": "Private current Download capability when available."
      },
      "expires_at": {
        "type": [
          "string",
          "null"
        ],
        "description": "Expiry of the returned private Download capability."
      },
      "skipped": {
        "type": "boolean"
      },
      "poll": {
        "type": "object",
        "description": "Model-visible polling cadence; when present, poll.after_seconds is the minimum wait before the named tool is called again."
      },
      "next_action": {
        "type": "object"
      },
      "blockers": {
        "type": "array",
        "items": {
          "type": "object"
        }
      },
      "dialogue_seam_review": {
        "type": "object",
        "description": "Exact-render, measurement-only evidence when this call reuses an already-current MP4."
      },
      "picture_program_render_receipt": {
        "type": "object",
        "description": "Bounded authoritative receipt for a simultaneous Picture Program already materialized when this call reuses an exact ready MP4. Absent while queued or when no Picture Program was rendered."
      },
      "error": {
        "type": [
          "object",
          "null"
        ]
      },
      "render_error": {
        "type": [
          "object",
          "null"
        ],
        "description": "Last public render failure, retained while a retry is in flight."
      },
      "last_error": {
        "type": [
          "object",
          "null"
        ],
        "description": "Compatibility-explicit alias of render_error."
      },
      "render_error_history": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "At most the three most recent public render failures."
      },
      "render_request_id": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^rrq_[a-z0-9]+$",
        "description": "Exact admitted customer render request when known; it identifies this result for recovery after navigation or a newer revision."
      },
      "render_attempt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "render_attempt_started_at": {
        "type": [
          "string",
          "null"
        ]
      },
      "receipt_id": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [],
    "additionalProperties": false
  }
}

Live Workspace descriptor

{
  "name": "render_create",
  "title": "Render an episode or clip",
  "description": "Renders an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. It renders the exact creator result, not a list/search result: that result's target_type, target_id, and revision as required expected_revision. Use this for ordinary make/cut/create requests, which carry explicit private-render intent, unless the user asks for draft-only, review first, or no render. Exact-result feedback inherits one private render only when a prior ready-Output receipt or pre-edit render_status proves that exact target has a current ready Output; the final revision after committed render-affecting edits then renders once, under the same exceptions. List/search recency or mere Output existence does not establish that intent. Publishing remains separately explicit; inherited private render intent never grants publication. First-use intro/outro blocks with new text may take a few minutes to prepare; the render waits and starts automatically once ready. It has no idempotency_key; the server reuses a current in-flight or ready render for the same exact revision/settings.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "target_type": {
        "type": "string",
        "enum": [
          "episode",
          "clip"
        ],
        "description": "Object type to render."
      },
      "target_id": {
        "type": "string",
        "description": "Episode or clip public ID."
      },
      "format": {
        "type": "string",
        "enum": [
          "mp4"
        ],
        "description": "Currently mp4."
      },
      "aspect_ratio": {
        "type": "string",
        "enum": [
          "9:16",
          "16:9",
          "1:1"
        ],
        "description": "Optional render aspect ratio."
      },
      "expected_revision": {
        "type": "integer",
        "minimum": 0,
        "description": "Required exact structural revision returned by the creator (episode_create or clip_create), an edit, or a fresh episode_read. Missing or stale custody is rejected before billing or render work."
      },
      "expected_render_plan_hash": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$",
        "description": "Optional exact picture fingerprint from a canvas-presented episode_sample_frames result. A mismatch is rejected before billing, queueing, or reuse of older media."
      },
      "title": {
        "type": "string",
        "description": "Optional title to apply to this render."
      }
    },
    "required": [
      "target_type",
      "target_id",
      "expected_revision"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Render an episode or clip",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ]
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "render_id": {
        "type": [
          "string",
          "null"
        ]
      },
      "target_type": {
        "type": "string"
      },
      "target_id": {
        "type": "string"
      },
      "title": {
        "type": "string",
        "description": "Current title of the exact render target."
      },
      "episode_id": {
        "type": "string",
        "description": "Present when target_type is episode."
      },
      "clip_id": {
        "type": "string",
        "description": "Present when target_type is clip."
      },
      "revision": {
        "type": "integer",
        "description": "Authoritative current structural revision for exact Render custody and any render_create recovery."
      },
      "status": {
        "type": "string"
      },
      "progress": {
        "type": "number"
      },
      "render_phase": {
        "type": [
          "string",
          "null"
        ]
      },
      "segment_count": {
        "type": "integer"
      },
      "duration_seconds": {
        "type": [
          "number",
          "null"
        ]
      },
      "span_summary": {
        "type": "object"
      },
      "render_plan_hash": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$",
        "description": "Exact current picture fingerprint queued, reused, or reported by this render request."
      },
      "media": {
        "type": "object"
      },
      "render_generation": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^[0-9a-f]{64}$",
        "description": "Opaque immutable identity of the exact ready MP4/poster generation. It is not render_id."
      },
      "exact_export_id": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^rxpt_[a-z0-9]+$",
        "description": "Immutable retained Export identity for an Episode or Clip."
      },
      "export_id": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^rxpt_[a-z0-9]+$",
        "description": "Immutable retained exact Export matching this completed render; null for imported playback without render evidence. Its absence does not prevent basic playback."
      },
      "download_available": {
        "type": "boolean",
        "description": "True only when a current private Download capability is present, including verified imported playback."
      },
      "download_url": {
        "type": [
          "string",
          "null"
        ],
        "description": "Private current Download capability when available."
      },
      "expires_at": {
        "type": [
          "string",
          "null"
        ],
        "description": "Expiry of the returned private Download capability."
      },
      "skipped": {
        "type": "boolean"
      },
      "poll": {
        "type": "object",
        "description": "Model-visible polling cadence; when present, poll.after_seconds is the minimum wait before the named tool is called again."
      },
      "next_action": {
        "type": "object"
      },
      "blockers": {
        "type": "array",
        "items": {
          "type": "object"
        }
      },
      "dialogue_seam_review": {
        "type": "object",
        "description": "Exact-render, measurement-only evidence when this call reuses an already-current MP4."
      },
      "picture_program_render_receipt": {
        "type": "object",
        "description": "Bounded authoritative receipt for a simultaneous Picture Program already materialized when this call reuses an exact ready MP4. Absent while queued or when no Picture Program was rendered."
      },
      "error": {
        "type": [
          "object",
          "null"
        ]
      },
      "render_error": {
        "type": [
          "object",
          "null"
        ],
        "description": "Last public render failure, retained while a retry is in flight."
      },
      "last_error": {
        "type": [
          "object",
          "null"
        ],
        "description": "Compatibility-explicit alias of render_error."
      },
      "render_error_history": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "At most the three most recent public render failures."
      },
      "render_request_id": {
        "type": [
          "string",
          "null"
        ],
        "pattern": "^rrq_[a-z0-9]+$",
        "description": "Exact admitted customer render request when known; it identifies this result for recovery after navigation or a newer revision."
      },
      "render_attempt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "render_attempt_started_at": {
        "type": [
          "string",
          "null"
        ]
      },
      "receipt_id": {
        "type": [
          "string",
          "null"
        ]
      },
      "workspace_binding": {
        "type": "object",
        "properties": {
          "schema": {
            "type": "string",
            "enum": [
              "bitterclip.workspace-binding.v2"
            ]
          },
          "mode": {
            "type": "string",
            "enum": [
              "live_workspace"
            ]
          },
          "project_id": {
            "type": "string"
          },
          "target_kind": {
            "type": "string",
            "enum": [
              "episode",
              "clip"
            ]
          },
          "target_id": {
            "type": "string"
          },
          "revision": {
            "type": "integer"
          },
          "draft_revision": {
            "type": "string"
          },
          "workspace_url": {
            "type": "string"
          },
          "output_id": {
            "type": "string"
          },
          "output_status": {
            "type": "string",
            "enum": [
              "missing",
              "stale",
              "rendering",
              "ready",
              "failed"
            ]
          },
          "output_revision": {
            "type": "integer"
          },
          "parent_episode_id": {
            "type": "string"
          }
        },
        "required": [
          "schema",
          "mode",
          "target_kind",
          "target_id",
          "revision",
          "draft_revision",
          "workspace_url",
          "output_status"
        ],
        "additionalProperties": false
      }
    },
    "required": [],
    "additionalProperties": false
  }
}

Errors

[
  "composition_not_found",
  "stale_composition_revision",
  "music_presentation_map_unsupported",
  "angle_interval_exceeds_recording",
  "proof_clip_mismatch",
  "invalid_input",
  "billing_required"
]

Examples

[]