Reference

edit_project

Change a saved project — captions per locale, frame order, layout, styling, device pose.

View as Markdown

What it does

  • Writes
  • Destructive
  • Account required

Make a concrete change to a saved project and save it. You state the change — the caption words for a frame in a locale, a new frame order, a layout or preset for every frame, caption style, background, or one device’s pose and finish — and ShotOps applies it with the same engine the web app uses. Frames and devices are numbered from 1, the way read_project lists them. It returns what changed, not pixels: render the project afterwards to see it.

You can ask: “Translate the first Tidebook headline into German and move the forecast panel first.”

Input

  • projectstringrequiredat least 1 character

    Project id or exact name.

  • captionsarrayoptionalat most 400 items

    Caption words per frame and locale.

    each item

    object

    • frameintegerrequiredmin 1max 60

      1-based frame number.

    • textstringrequiredat most 400 characters

      The caption words.

    • localestringoptionalat least 2 charactersat most 35 characters

      App Store locale code, e.g. "de-DE". Default: the base locale. A new one is added.

    • layerintegeroptionalmin 1max 8

      1 = headline (default), 2 = the line under it.

  • orderarrayoptionalat least 1 item

    New frame order as current frame numbers, e.g. [3, 1, 2].

    each item

    integer

  • layoutstringoptional

    Layout template for every frame (see describe_look).

    one ofstandardbleedtop-bleedlean-rightlean-leftswipecorner-bleed

  • presetstringoptional

    Design preset for every frame (see describe_look).

    one ofnoirdaylightpopclaystudio

  • captionStyleobjectoptional

    Caption styling for every frame: fontId, sizePt, color, align, band….

  • backgroundobjectoptional

    Strip background: { stops: [{ color, at }], angle, shadow, floorReflection }.

  • framesarrayoptionalat most 60 items

    Per-frame overrides: [{ frame, layout?, captionStyle?, background?, clearBackground? }].

    each item

    object

  • devicesarrayoptionalat most 120 items

    Device pose and finish: [{ frame, device?, roll, orbit, deviceSize, vOffset, colorway… }]. device is 1-based within the frame; omit for all.

    each item

    object

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": "edit_project",
  "arguments": {
    "project": "Tidebook 2.4 launch",
    "captions": [
      {
        "frame": 1,
        "locale": "de-DE",
        "text": "Kenne die Tide, bevor du losgehst"
      }
    ],
    "order": [
      2,
      1,
      3
    ]
  }
}

The project it saved, its new record version, and a list of what changed.

Access and cost

  • Needs an account. Not available to an anonymous hosted caller.
  • Free. An edit renders nothing and spends no cloud credits.

When it refuses

The reply names a field and what it accepts.
Nothing was saved. Fix that one value and call again.
The save failed because the project changed meanwhile.
Somebody saved it in the web app first. Read the project again and reapply the change.

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.

Edit a saved project

Change a saved project: caption words per frame and locale, frame order, layout, preset, caption style, background and device pose. Frames and devices are numbered from 1 as read_project lists them. Saves immediately; render afterwards to see it.