> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI Flags Reference

> CLI flags and gRPC field mapping for go-livepeer orchestrators.

export const CustomDivider = ({color = "var(--lp-color-border-default)", middleText = "", spacing = "default", style = {}, className = "", ...rest}) => {
  const spacingPresets = {
    default: {
      margin: "24px 0"
    },
    overlap: {
      margin: "-1rem 0 -1rem 0"
    },
    tight: {
      margin: "0 0 -1rem 0"
    },
    section: {
      margin: "0 0 -2rem 0"
    },
    sectionOverlap: {
      margin: "-1rem 0 -2rem 0"
    },
    deepOverlap: {
      margin: "-1rem 0 -1.5rem 0"
    }
  };
  const spacingStyle = spacingPresets[spacing] || spacingPresets.default;
  return <div role="separator" aria-orientation="horizontal" className={className} style={{
    display: "flex",
    alignItems: "center",
    ...spacingStyle,
    fontSize: style?.fontSize || "16px",
    height: "fit-content",
    ...style
  }} {...rest}>
      <span style={{
    marginRight: "var(--lp-spacing-px-8)",
    opacity: 0.2
  }}>
        <Icon icon="/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg" />
      </span>
      <div style={{
    flex: 1,
    height: "1px",
    background: "var(--lp-color-border-default)",
    opacity: 0.4
  }}></div>
      {middleText && <>
          <Icon icon="circle" size={2} />
          <span style={{
    margin: "0 8px",
    fontWeight: "bold",
    color: color,
    opacity: 0.7
  }}>
            {middleText}
          </span>
          <Icon icon="circle" size={2} />
        </>}
      <div style={{
    flex: 1,
    height: "1px",
    background: "var(--lp-color-border-default)",
    opacity: 0.4
  }}></div>
      <span style={{
    marginLeft: "var(--lp-spacing-px-8)",
    opacity: 0.2
  }}>
        <span style={{
    display: "inline-block",
    transform: "scaleX(-1)"
  }}>
          <Icon icon="/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg" />
        </span>
      </span>
    </div>;
};

export const TableCell = ({children, align = "left", header = false, style = {}, className = "", ...rest}) => {
  const Component = header ? "th" : "td";
  return <Component className={className} style={{
    padding: "0.75rem 1rem",
    textAlign: align,
    border: header ? "none" : "1px solid var(--lp-color-border-default)",
    ...style
  }} {...rest}>
      {children}
    </Component>;
};

export const TableRow = ({children, header = false, hover = false, style = {}, className = "", ...rest}) => {
  const rowId = `table-row-${Math.random().toString(36).substr(2, 9)}`;
  return <>
      {hover && <style>{`
          #${rowId}:hover {
            background-color: var(--lp-color-bg-card);
          }
        `}</style>}
      <tr id={rowId} className={className} style={{
    ...header && ({
      backgroundColor: "var(--lp-color-accent-strong)",
      color: "var(--lp-color-on-accent)",
      fontWeight: "bold"
    }),
    ...style
  }} {...rest}>
        {children}
      </tr>
    </>;
};

export const StyledTable = ({children, variant = "default", style = {}, className = "", ...rest}) => {
  const wrapperVariants = {
    default: {
      border: "1px solid var(--lp-color-border-default)",
      backgroundColor: "var(--lp-color-bg-card)",
      overflow: "hidden"
    },
    bordered: {
      border: "2px solid var(--lp-color-accent)",
      backgroundColor: "var(--lp-color-bg-page)",
      overflow: "hidden"
    },
    minimal: {
      border: "none",
      backgroundColor: "transparent",
      overflow: "visible"
    }
  };
  return <div data-docs-styled-table-shell className={className} style={{
    width: "100%",
    padding: 0,
    margin: 0,
    ...wrapperVariants[variant],
    ...style
  }} {...rest}>
      <table data-docs-styled-table style={{
    width: "100%",
    borderCollapse: "collapse",
    borderSpacing: 0,
    margin: 0,
    backgroundColor: "transparent"
  }}>
        {children}
      </table>
    </div>;
};

## Mintlify-compatible OpenAPI (reference-only, derived from gRPC)

> ⚠️ **Documentation reference only**
> Generated from `go-livepeer` gRPC messages.
> Not a supported public API. Fields may change with protocol upgrades.

```yaml icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
openapi: 3.0.3
info:
  title: Livepeer Orchestrator Protocol (Reference)
  description: >
    Derived reference documentation for Gateway ↔ Orchestrator gRPC interfaces.
    This spec mirrors protocol messages for operator understanding only.
  Version: v0-derived
servers:
  - url: https://{orchestrator-host}
    variables:
      orchestrator-host:
        default: orchestrator.example.com:8935

paths:
  /orchestrator/info:
    get:
      summary: Get Orchestrator service metadata
      description: >
        Logical representation of the OrchestratorInfo gRPC message.
        Gateways use this data to evaluate pricing, capabilities, and routing.
      Responses:
        '200':
          description: OrchestratorInfo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrchestratorInfo'

components:
  schemas:
    OrchestratorInfo:
      type: object
      required: [transcoder, address, price_info, capabilities]
      properties:
        transcoder:
          type: string
          description: Public service URI reachable by Gateways
        ticket_params:
          $ref: '#/components/schemas/TicketParams'
        price_info:
          $ref: '#/components/schemas/PriceInfo'
        address:
          type: string
          format: hex
          description: ETH payout address
        capabilities:
          $ref: '#/components/schemas/Capabilities'
        auth_token:
          $ref: '#/components/schemas/AuthToken'
        hardware:
          type: array
          items:
            $ref: '#/components/schemas/HardwareInformation'
        storage:
          type: array
          items:
            $ref: '#/components/schemas/OSInfo'
        capabilities_prices:
          type: array
          items:
            $ref: '#/components/schemas/PriceInfo'

    TicketParams:
      type: object
      description: Probabilistic payment ticket configuration

    PriceInfo:
      type: object
      properties:
        pricePerUnit:
          type: integer
          description: Cost per pricing unit (Wei)
        pixelsPerUnit:
          type: integer
          description: Pricing granularity unit

    Capabilities:
      type: object
      description: Supported job types and codecs

    HardwareInformation:
      type: object
      description: GPU / CPU / RAM characteristics

    OSInfo:
      type: object
      description: Storage and OS characteristics

    AuthToken:
      type: object
      description: Optional gateway authentication metadata
```

<CustomDivider />

## CLI flags ↔ proto field mapping

<StyledTable variant="bordered">
  <TableRow header>
    <TableCell header>CLI flag</TableCell>
    <TableCell header>Proto / Message Field</TableCell>
    <TableCell header>Notes</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`-serviceURI`</TableCell>
    <TableCell>`OrchestratorInfo.transcoder`</TableCell>
    <TableCell>Public gRPC endpoint</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`-pricePerUnit`</TableCell>
    <TableCell>`PriceInfo.pricePerUnit`</TableCell>
    <TableCell>Base pricing</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`-pixelsPerUnit`</TableCell>
    <TableCell>`PriceInfo.pixelsPerUnit`</TableCell>
    <TableCell>Pricing granularity</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`-blockRewardCut`</TableCell>
    <TableCell>On-chain Orchestrator params</TableCell>
    <TableCell>Not part of gRPC</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`-feeShare`</TableCell>
    <TableCell>On-chain Orchestrator params</TableCell>
    <TableCell>Delegator economics</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>(implicit)</TableCell>
    <TableCell>`OrchestratorInfo.address`</TableCell>
    <TableCell>ETH signer / payout</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>(derived)</TableCell>
    <TableCell>`capabilities_prices`</TableCell>
    <TableCell>AI model pricing</TableCell>
  </TableRow>
</StyledTable>

Key point: **not everything configurable is gRPC** - some is **purely on-chain economics**.

<CustomDivider />

## Capability matrix: Transcoding vs AI jobs

<StyledTable variant="bordered">
  <TableRow header>
    <TableCell header>Capability Area</TableCell>
    <TableCell header>Transcoding Jobs</TableCell>
    <TableCell header>AI Jobs</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>Gateway routing</TableCell>
    <TableCell>✅</TableCell>
    <TableCell>✅</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`pricePerUnit`</TableCell>
    <TableCell>✅ (pixels)</TableCell>
    <TableCell>❌</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>`capabilities_prices`</TableCell>
    <TableCell>❌</TableCell>
    <TableCell>✅ (per model)</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>Codec support</TableCell>
    <TableCell>✅</TableCell>
    <TableCell>❌</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>Model selection</TableCell>
    <TableCell>❌</TableCell>
    <TableCell>✅</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>GPU specs</TableCell>
    <TableCell>Optional</TableCell>
    <TableCell>Required</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>Storage (`OSInfo`)</TableCell>
    <TableCell>Minimal</TableCell>
    <TableCell>Important</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>Deterministic pricing</TableCell>
    <TableCell>Yes</TableCell>
    <TableCell>Often variable</TableCell>
  </TableRow>

  <TableRow>
    <TableCell>Session duration</TableCell>
    <TableCell>Stream-based</TableCell>
    <TableCell>Job / batch based</TableCell>
  </TableRow>
</StyledTable>
