Token导航 LogoToken导航

Agent Skill · 效率

babblebrush(babblebrush 图像)

babblebrush 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 OpenClaw 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

babblebrush 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在效率类的 21,003 个 Skill 里排第 5,902。

总安装 10,159周安装 407GitHub Stars 1下载 3,289核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.4.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:babblebrush(babblebrush 图像)
来源仓库:https://github.com/kivs/babblebrush
安装命令:
openclaw skills install babblebrush
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install babblebrush

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

babblebrush 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 OpenClaw 中围绕仓库状态、代码变更或协作事项进行整理。适用于代码协作与项目管理场景,支持仓库状态跟踪和变更分析。可调用 GitHub API 获取 Issue、PR 数据并生成结构化摘要。

安装命令:openclaw skills install babblebrush,需确认是否具备仓库访问权限。注意维护状态及 API 调用频率限制,避免触发安全机制。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install babblebrush;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

babblebrush 怎么安装?

在终端执行 openclaw skills install babblebrush。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

babblebrush 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

babblebrush 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

babblebrush 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

babblebrush 用的人多吗?

公开数据是累计安装 10,159 次,近一周安装 407 次,下载 3,289 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

babblebrush 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
babblebrush

babblebrush 图像 · 本页

10,1591接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
babblebrush
description
Generate and iteratively edit images. Supports storage, UI for manual editing, history, version branching, time travel, reference images, and multiple AI models and providers with your own API keys.
version
1.4.1
metadata
openclaw
requires
env

babbleBrush

babbleBrush is a voice-first image editor. Humans can use it directly to edit, view, manage images and agents can use it alongside their human or on behalf of the user to do the same programatically.

The units of work are canvases and versions, you create or use an existing canvas and edit the image inside of it as a canvas version, ie, the image edit. You can also upload images in the canvas to edit them, to use as a reference, or mixing them in the edit.

Website - https://babblebrush.com

API index - https://babblebrush.com/api

  • Users start with trial credits
  • After trial credits are exhausted, platform access must be unlocked(one time payment) to manage API keys
  • Check platform_access_unlocked in GET /api/v1/me to see if unlocked

Important:

  • If you haven't added a key for a provider, edits with that provider will use credits
  • Your API usage is billed directly by the provider (Google, xAI, etc.)
  • Keys are encrypted and stored securely

Skill URL

FileURL
claude/SKILL.mdhttps://babblebrush.com/babblebrush/claude/SKILL.md
openclaw/SKILL.mdhttps://babblebrush.com/babblebrush/openclaw/SKILL.md

Core Concepts

Canvas

A Canvas is a workspace for image generation & editing. A canvas contains multiple Canvas versions representing the edit history. The latest completed canvas version is the current image of any given canvas.

Canvas version

A canvas version represents an image edit inside a canvas, it's the main unit of work. It contains information all the information about the eidt, like the prompt, image references uploaded(the limit depends on the model), the source canvas version the edit branched from, the status, etc

Authentication

All requests require an API key sent in the Authorization header.

Authorization: Bearer bb_...

You can create API tokens from the settings page at https://babblebrush.com/app/settings.

Once you have the API key, store it locally and securely.


API Reference

  • https://babblebrush.com/api

Endpoint Details

Get current user

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/me"

Response:

{
  "email": "user@example.com",
  "credits": 5,
  "platform_access_unlocked": false,
  "platform_access_unlocked_at": null,
  "canvases_count": 1,
  "created_at": "2026-02-27T14:27:41.281Z"
}

Info:

  • platform_access_unlocked - Whether user has unlocked platform access (required for BYOK after trial)

List provider models

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/provider-models"

Response:

{
  "providers": [
    {
      "id": "gemini",
      "label": "Gemini",
      "models": [
        {
          "id": "gemini-2.5-flash-image",
          "name": "Flash 2.5 - Nano Banana",
          "description": "Quick image generation",
          "max_imgs_per_prompt": 3
        }
      ]
    }
  ]
}

Info:

- max_imgs_per_prompt - Maximum images accepted in a single prompt

List provider credentials

See which providers have API keys configured.

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/provider-credentials"

Response:

{
  "credentials": [
    {
      "provider": "gemini",
      "created_at": "2025-10-11T10:00:00.000Z",
      "updated_at": "2025-10-11T10:00:00.000Z"
    }
  ]
}

Add/update provider API key

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"provider": "gemini", "api_key": "AIza..."}' \
  "https://babblebrush.com/api/v1/provider-credentials"

Valid providers: gemini, xai

Response:

{
  "credential": {
    "provider": "gemini",
    "created_at": "2025-10-11T10:00:00.000Z",
    "updated_at": "2025-10-11T10:00:00.000Z"
  },
  "message": "API key saved for gemini"
}

Remove provider API key

curl -X DELETE \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/provider-credentials/gemini"

Response:

{
  "message": "API key removed for gemini"
}

List canvases

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases"

Response:

{
  "canvases": [
    {
      "public_token": "01234567-89ab-cdef-0123-456789abcdef",
      "title": "My Logo Design",
      "default_model": "gemini/gemini-2.5-flash-image",
      "current_version_id": 105,
      "latest_version_number": 5,
      "current_version_image_url": "https://babblebrush.com/rails/active_storage/...",
      "is_latest_version_pending": false,
      "created_at": "2025-10-11T10:00:00.000Z",
      "updated_at": "2025-10-11T12:30:00.000Z"
    }
  ]
}

Create canvas with image

# With file upload
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "title=My New Canvas" \
  -F "image=@/path/to/image.png" \
  "https://babblebrush.com/api/v1/canvases"

# With base64 image
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My New Canvas",
    "default_model": "gemini/gemini-2.5-flash-image",
    "image": "data:image/png;base64,iVBORw0KGgo..."
  }' \
  "https://babblebrush.com/api/v1/canvases"

Response:

{
  "public_token": "01234567-89ab-cdef-0123-456789abcdef",
  "title": "My New Canvas",
  "default_model": "gemini/gemini-2.5-flash-image",
  "current_version_id": 201,
  "latest_version_number": 1,
  "current_version_image_url": "https://babblebrush.com/rails/active_storage/...",
  "is_latest_version_pending": false,
  "created_at": "2025-10-11T10:00:00.000Z",
  "updated_at": "2025-10-11T10:00:00.000Z",
  "versions": [
    {
      "id": 201,
      "canvas_id": 42,
      "version_number": 1,
      "status": "completed",
      "prompt": null,
      "model_identifier": "gemini/gemini-2.5-flash-image",
      "fail_reason": null,
      "source_version_id": null,
      "job_identifier": null,
      "metadata": {},
      "image_url": "https://babblebrush.com/rails/active_storage/...",
      "created_at": "2025-10-11T10:00:00.000Z",
      "updated_at": "2025-10-11T10:00:00.000Z"
    }
  ]
}

Create blank canvas

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Blank Canvas"}' \
  "https://babblebrush.com/api/v1/canvases/blank"

Get canvas details

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef"

/api/v1/canvases/:id expects the canvas public_token.

Response includes full canvas details with all versions.

Update canvas

# Update title
curl -X PATCH \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "New Title"}' \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef"

# Change default model
curl -X PATCH \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"default_model": "gemini/gemini-3-pro-image-preview"}' \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef"

Delete canvas

curl -X DELETE \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef"

Response:

{"ok": true}

List versions of a canvas

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions"

Response:

{
  "versions": [
    {
      "id": 5,
      "version_number": 5,
      "status": "completed",
      "prompt": "add a sunset background",
      "model": "gemini/gemini-2.5-flash-image",
      "fail_reason": null,
      "source_version_id": 4,
      "is_current": true,
      "image_url": "https://babblebrush.com/rails/active_storage/...",
      "reference_images_count": 0,
      "reference_images": [],
      "created_at": "2025-10-11T12:30:00.000Z"
    },
    {
      "id": 4,
      "version_number": 4,
      "status": "completed",
      "prompt": "make it larger",
      "model": "gemini/gemini-2.5-flash-image",
      "fail_reason": null,
      "source_version_id": 3,
      "is_current": false,
      "image_url": "https://babblebrush.com/rails/active_storage/...",
      "reference_images_count": 0,
      "reference_images": [],
      "created_at": "2025-10-11T12:00:00.000Z"
    }
  ]
}

Create new edit in a canvas (enqueue)

This is the main editing endpoint. It creates a new version and starts AI processing.

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "add a red ball in the center"}' \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions"

Optional parameters:

  • source_version_id - Edit from a specific version instead of the current version
  • model - Override the model for this specific edit (e.g., gemini/gemini-3-pro-image-preview)

How image inputs are chosen for this edit:

  • The new pending edit version points to a source_version.
  • source_version is source_version_id if provided, otherwise the canvas current version.
  • Image inputs for the provider come from that source_version.
  • If you want extra context images for the next edit, upload them as reference images to that source_version before enqueueing.
  • Max images are model-specific. Use GET /api/v1/provider-models and read max_imgs_per_prompt (total images = source image + reference images).

Reference images workflow:

  1. Upload reference image(s) to the version you want to use as source.
  2. Enqueue a new edit with that version as source_version_id.
# 1) Upload image to version 5 (source for next edit)
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "image=@/path/to/reference.png" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/5/images"

# 2) Enqueue edit from version 5 so uploaded image is used
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"make it cinematic", "source_version_id": 5}' \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions"

Example: add 3 reference images (extra context)

# Check model limits first (max_imgs_per_prompt)
curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/provider-models"

# Upload 3 extra reference images to source version 5
curl -X POST -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "image=@/path/to/ref-1.png" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/5/images"

curl -X POST -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "image=@/path/to/ref-2.png" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/5/images"

curl -X POST -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "image=@/path/to/ref-3.png" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/5/images"

# Enqueue edit from that source version
curl -X POST -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"blend these references into one cohesive scene", "source_version_id": 5}' \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions"

Note: this 3-reference example needs a model that supports at least 4 total images (1 source + 3 references).

Model Override Example:

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "add a red ball", "model": "xai/grok-imagine-image"}' \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions"

Model Resolution Order:

  1. Per-edit model parameter (if provided)
  2. Canvas default_model (if set)
  3. Default model for the provider

Response (202 Accepted):

{
  "version": {
    "id": 6,
    "version_number": 6,
    "status": "pending",
    "prompt": "add a red ball in the center",
    "model": "gemini/gemini-2.5-flash-image",
    "fail_reason": null,
    "source_version_id": 5,
    "is_current": false,
    "image_url": null,
    "reference_images_count": 0,
    "created_at": "2025-10-11T13:00:00.000Z"
  },
  "remaining_credits": 9
}

Important: The edit is processed asynchronously. Poll the version endpoint or canvas to check when it completes.

Get canvas version details

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/6"

Use this to poll for completion after creating an edit.

Promote canvas version (make current)

"Time travel" to a previous version by promoting it to current.

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/3/promote"

Response:

{
  "ok": true,
  "current_version": {
    "id": 3,
    "version_number": 3,
    "status": "completed",
    "is_current": true,
    ...
  }
}

Cancel pending edit

Cancel an edit that is still pending or processing. Credits are refunded.

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/01234567-89ab-cdef-0123-456789abcdef/versions/6/cancel"

Response:

{
  "ok": true,
  "version": {
    "id": 6,
    "status": "cancelled",
    ...
  },
  "remaining_credits": 10
}

Important: Cancel is best-effort. If provider request already started, provider-side compute may continue.


Common Workflows

1. Create canvas, enqueue edit, poll to completion

# 1) Create a blank canvas
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "My Project"}' \
  "https://babblebrush.com/api/v1/canvases/blank"

# 2) Copy `public_token` from response and set it
CANVAS_PUBLIC_TOKEN="<paste_public_token_here>"

# 3) Enqueue first edit
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "draw a mountain landscape with snow"}' \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions"

# 4) Copy `version.id` from response and set it
VERSION_ID="<paste_version_id_here>"

# 5) Poll this version (repeat until status is completed/failed/cancelled)
curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/$VERSION_ID"

# 6) Read latest canvas state
curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN"

2. Add reference images, then edit from that source version

# 1) Read canvas details
curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN"

# 2) Copy `current_version_id` from response and set it
SOURCE_VERSION_ID="<paste_current_version_id_here>"

# 3) Upload extra context images to that source version
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "image=@/path/to/ref-1.png" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/$SOURCE_VERSION_ID/images"

curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -F "image=@/path/to/ref-2.png" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/$SOURCE_VERSION_ID/images"

# 4) Enqueue edit from the same source version
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"prompt\":\"blend the scene using the references\", \"source_version_id\": \"$SOURCE_VERSION_ID\"}" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions"

3. Branch from an older version (with optional model override)

# Branch A from version 2 using default canvas model
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "try watercolor style", "source_version_id": 2}' \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions"

# Branch B from same source with explicit model override
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "try watercolor style", "source_version_id": 2, "model": "gemini/gemini-3-pro-image-preview"}' \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions"

4. Promote or cancel an edit

# Promote version 3 to current ("time travel")
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/3/promote"

# Cancel version 8 if still pending/processing (best-effort)
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/8/cancel"

5. Start multiple edits from the same source (different models)

# 1) Read canvas details
curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN"

# 2) Copy `current_version_id` from response and set it
SOURCE_VERSION_ID="<paste_current_version_id_here>"

# 3) Create edit A from the same source using Gemini Pro
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"prompt\":\"cinematic dramatic lighting\", \"source_version_id\": \"$SOURCE_VERSION_ID\", \"model\": \"gemini/gemini-3-pro-image-preview\"}" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions"

# 4) Copy `version.id` from edit A response and set it
VERSION_A="<paste_version_a_id_here>"

# 5) Create edit B from the same source using xAI
curl -X POST \
  -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"prompt\":\"cinematic dramatic lighting\", \"source_version_id\": \"$SOURCE_VERSION_ID\", \"model\": \"xai/grok-imagine-image\"}" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions"

# 6) Copy `version.id` from edit B response and set it
VERSION_B="<paste_version_b_id_here>"

# 7) Poll each edit (repeat each request until terminal status)
curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/$VERSION_A"

curl -H "Authorization: Bearer $BABBLEBRUSH_API_KEY" \
  "https://babblebrush.com/api/v1/canvases/$CANVAS_PUBLIC_TOKEN/versions/$VERSION_B"

Error Behavior

StatusMeaning
401Missing or invalid API key
402Insufficient credits
403Forbidden
404Resource not found
422Invalid request (validation error)
500Server error

Error response format:

{
  "error": "Human-readable error message"
}

Rate Limits

Currently no rate limits are enforced, but please be respectful of the service.


Tips for Agents

  1. Check access first - Before starting a workflow, verify the user has sufficient credits or platform_access_unlocked with provider keys configured
  2. Poll for completion - Edits are async; poll GET /api/v1/canvases/:canvas_id/versions/:id until status is terminal (completed, failed, cancelled)
  3. Use descriptive prompts - The AI responds better to detailed, clear prompts
  4. Branch experiments - Use source_version_id to try different approaches without losing progress
  5. Promote to revert - If an edit doesn't work out, promote an earlier version to go back
  1. Inline Images in the chat - If the chat interface you're using allows(eg: Telegram), let's display the images inline instead of just posting the image link, unless the user asks for it.

平台分布

OpenClaw

82.67%
按下载量换算2,719

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills