All MCP tools

render_create

Render an episode or clip

Render an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. Render only the exact creator result, never a list/search result: pass its target_type, target_id, and revision as required expected_revision. Ordinary make/cut/create language is explicit private-render intent unless the user asks for draft-only, review first, or do not 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: after committed render-affecting edits, render the final revision once under the same exceptions. Never infer this from list/search recency or mere Output existence. 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 1dce717408a55fac1047e7d779177fa3ef8ede51
Public contract commit 1ce47f7857ae3d9b6933fe83d5c33de3ae5efc64
Public contract SHA-256 241d47d25e4b4c1dae9d2263793874d06fc4ba7bc3c78d4cf2bc63fbb32ed7dc
Captured 2026-09-24T16:39:30.100Z. 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": "Render an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. Render only the exact creator result, never a list/search result: pass its target_type, target_id, and revision as required expected_revision. Ordinary make/cut/create language is explicit private-render intent unless the user asks for draft-only, review first, or do not 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: after committed render-affecting edits, render the final revision once under the same exceptions. Never infer this from list/search recency or mere Output existence. 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": {
    "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": "Render an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. Render only the exact creator result, never a list/search result: pass its target_type, target_id, and revision as required expected_revision. Ordinary make/cut/create language is explicit private-render intent unless the user asks for draft-only, review first, or do not 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: after committed render-affecting edits, render the final revision once under the same exceptions. Never infer this from list/search recency or mere Output existence. 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": {
    "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 instruction; when present, wait at least poll.after_seconds before calling the named tool 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. Retain it with the 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": "Render an Episode or Clip to downloadable media. Multi-segment highlight/reel/shareable-video creation uses episode_create; a single-range Clip uses clip_create. Render only the exact creator result, never a list/search result: pass its target_type, target_id, and revision as required expected_revision. Ordinary make/cut/create language is explicit private-render intent unless the user asks for draft-only, review first, or do not 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: after committed render-affecting edits, render the final revision once under the same exceptions. Never infer this from list/search recency or mere Output existence. 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": {
    "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 instruction; when present, wait at least poll.after_seconds before calling the named tool 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. Retain it with the 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

[]