Reference

render

The call that produces the pixels: preview panels, full-resolution panels or a fastlane bundle.

View as Markdown

What it does

  • Writes
  • Open world
  • No account needed

Render the store screenshots. Name a saved project and it renders the screenshots, frame order, captions and look the project already holds, with nothing attached to the conversation; or pass screenshots and a style and it composites each one into a styled 3D device. output chooses what comes back: a preview to iterate against (the default, a quarter of the full price), full-resolution panels, or a zip ready for fastlane deliver. Rendering never saves a project, and you run fastlane yourself — this server never holds an Apple or store credential and never submits anything for review.

You can ask: “Preview the saved Tidebook project, then build its bundle for both locales.”

The published schema accepts any shape inside screenshots, style and look so a malformed entry comes back as a sentence naming the field rather than a stacked union error.

Annotated open-world because a bundle can publish a share link. It still never reaches a store.

Input

  • projectstringoptionalat least 1 character

    Saved project id or exact name. Renders the screenshots, captions and look it holds.

  • screenshotsarrayoptionalat most 60 items

    Screenshots to render, one per panel in order: { "ref" } from import_screenshot or request_screenshot_upload, { "url" }, { "path" } (local only), or small base64. With a project, entries carry name and replace the project file of that name.

    each item

    any

    The published schema does not constrain this element, on purpose — a malformed entry comes back as a sentence instead of a stacked union error. What the server re-validates against is below.

  • outputstringoptional

    "preview" (default, quarter resolution, cheap), "panels" (full-resolution PNGs) or "bundle" (fastlane zip).

    one ofpreviewpanelsbundle

  • outputsarrayoptionalat least 1 itemat most 2 items

    Devices to render: iphone-6-9, iphone-6-5. Default: the project's saved devices, else iphone-6-9.

    each item

    string

    one ofiphone-6-9iphone-6-5

  • localestringoptional

    App Store locale, e.g. "de-DE". Default: the project base locale, else en-US.

  • localesarrayoptionalat least 1 itemat most 40 items

    Bundle only: one fastlane folder per locale.

    each item

    string

  • styleobjectoptional

    Supplied screenshots only: layout, captions, background, shotLook. Fields: describe_look.

  • lookobjectoptional

    Supplied screenshots only: a look from read_look or a layout.correctedLook.

  • bundleIdstringoptional

    Bundle only, required: reverse-DNS app id, e.g. com.acme.app. Pre-fills the Deliverfile.

  • sharebooleanoptional

    Bundle only: also create a 14-day share link.

  • deliverystringoptional

    "inline" base64 or short-lived "urls". Default: inline when small.

    one ofinlineurls

  • waiversarrayoptional

    Readiness findings to waive, passed back exactly as a refusal returned them.

    each item

    object

  • idempotencyKeystringoptionalat least 1 characterat most 200 characters

    A new key forces a fresh paid render; omit for safe retries.

Result

Results arrive as structured JSON with a contract envelope; the example below says what comes back. The schema is not declared, to keep what a model reads small.

Example

That request maps to this call:

{
  "name": "render",
  "arguments": {
    "project": "Tidebook 2.4 launch",
    "output": "bundle",
    "bundleId": "com.tidebook.app",
    "locales": [
      "en-US",
      "de-DE"
    ]
  }
}

Panels as PNGs or a zip, inline or as download URLs. A render also reports its composition: a layout block names every caption sitting on a device and, where the repair is deterministic, carries a corrected look you can pass straight back.

Access and cost

  • Previews are open to everyone, including a hosted caller with no account.
  • Full-resolution panels and every bundle are production output: they need an active Pro trial or Pro, and the server decides that before anything renders or any cloud credit is spent.
  • On the hosted server a preview panel costs 1 cloud credit and a full-resolution panel 4 cloud credits. On the local stdio server rendering is free and spends nothing.
  • Without an account the hosted server allows 3 preview attempts per network per 30 days, up to 5 panels each.
  • Rendering a saved project needs an account. A project holds its own screenshots when its owner set its reach to "Your account" in the web app; read_project reports that.

When it refuses

The reply says production output is not available.
That is an entitlement answer, not a render failure — nothing was rendered and nothing was charged. Call account_status, do the step it names, then retry. Previews keep working.
A full-resolution screenshot is rejected as too large.
Inline base64 is capped for small payloads. Import the file first (import_screenshot for a URL or a ChatGPT attachment, request_screenshot_upload for a file on the user’s disk) and pass the returned ref instead.
The result carries a layout block full of findings.
Captions are landing on devices. Pass layout.correctedLook back as look and render again, or pick a layout template sized for the longest headline in the set.
Shots of a saved project come back reported as missing.
The project has a frame with no stored or supplied screenshot. Supply that file by its original name, or accept the strip without it.
A locale folder in a bundle came back with fallback captions.
That locale has no caption words of its own, so the base locale was used. Add them with edit_project and render again.

Where this fits

What the agent is told

The title and description the server publishes on tools/list — this is the copy a model chooses between, reproduced verbatim.

Render App Store screenshots

Render store screenshots from a saved `project` (it holds its screenshots, captions and look) or from supplied `screenshots` styled with `style`. `output`: "preview" (default), "panels" (full resolution) or "bundle" (fastlane zip). Rendering never saves a project.