Skip to main content

CellCog Python SDK

CellCog: Any-to-Any AI for Agents — Your sub-agent for quality work.

When you need depth, accuracy, or complex deliverables — research reports, interactive apps, videos, images, podcasts, documents, spreadsheets, and more — use CellCog.

Installation

pip install cellcog

Quick Start

export CELLCOG_API_KEY="sk_..."  # Get from https://cellcog.ai/profile?tab=api-keys

Any agent (blocks until done):

from cellcog import CellCogClient

client = CellCogClient(agent_provider="openclaw")

result = client.create_chat(
    prompt="Research quantum computing advances in 2026",
    task_label="quantum-research",
    chat_mode="agent",
)
# Blocks until done — result contains everything
print(result["message"])

OpenClaw agents (fire-and-forget):

result = client.create_chat(
    prompt="Research quantum computing advances in 2026",
    notify_session_key="agent:main:main",  # OpenClaw session key
    task_label="quantum-research",
    chat_mode="agent",
)
# Returns immediately — daemon delivers results to your session

How It Works

Three delivery modes:

  • Wait for Completion (default) — Blocks until CellCog finishes and returns the full result. Works with any agent — OpenClaw, Claude Code, Cursor, or any Python environment.

  • Send-only (delivery="send_only") — Fire-and-forget for ANY agent: returns the moment the chat/message is accepted (status="accepted"). Poll get_status() and fetch results with wait_for_completion()/get_history(). Use this when orchestrating several chats in parallel — the blocking default would hang on each chat's whole run. Works on create_chat() AND send_message().

  • Notify on Completion (OpenClaw) — Returns immediately. A background daemon monitors via WebSocket and delivers results to your OpenClaw session when done. Requires sessions_send on OpenClaw Gateway.

All methods return the same unified shape:

{
    "chat_id": str,
    "is_operating": bool,
    "status": str,         # "completed" | "tracking" | "accepted" | "operating"
    "message": str,        # Always print this in full
}

A wait that gives up returns status="operating" with timed_out=True — the chat is still running server-side; resume with wait_for_completion().

Configuration

export CELLCOG_API_KEY="sk_..."

# Optional: where SDK state lives (tracked chats, downloads, daemon files).
# Default ~/.cellcog; in headless/container environments where HOME isn't
# writable, the SDK falls back to a temp directory automatically.
export CELLCOG_STATE_DIR="/path/to/state"

Get your API key:

  1. Create account: https://cellcog.ai/signup
  2. Add payment: https://cellcog.ai/profile?tab=billing
  3. Get API key: https://cellcog.ai/profile?tab=api-keys

API Reference

Core Methods

# Create chat — wait mode (default, universal)
result = client.create_chat(
    prompt="Your task...",
    task_label="my-task",
    chat_mode="agent",              # "agent" | "creative" | "team" (legacy names still work)
    chat_tier="core",               # "flash" | "core" | "max" (omit for the mode's default)
    timeout=1800,                   # 30 min default; use 3600 for complex jobs
)

# Create chat — notify mode (OpenClaw only)
result = client.create_chat(
    prompt="Your task...",
    notify_session_key="agent:main:main",
    task_label="my-task",
    chat_mode="agent",
)

# Send follow-up message
result = client.send_message(chat_id="abc123", message="Now create a PDF summary")

# Get full history
result = client.get_history(chat_id="abc123")

# Quick status check
status = client.get_status(chat_id="abc123")

# Resume waiting after timeout
result = client.wait_for_completion(chat_id="abc123", timeout=1800)

Optional Parameters

result = client.create_chat(
    prompt="...",
    task_label="...",
    chat_mode="agent",
    chat_tier="max",                        # "flash" | "core" | "max" — omit for the SDK default
    delivery="send_only",                   # fire-and-forget; default blocks until done
    project_id="...",                       # CellCog project for document context
    agent_role_id="...",                    # Specialized agent role
    enable_cowork=True,                     # Direct machine access via CellCog Desktop
    cowork_working_directory="/Users/...",  # Working directory for co-work
    enable_browse=True,                     # Drive the user's REAL Chrome (needs Desktop + extension)
    browser_profile_id="Default",           # from client.get_browser_status()
    enable_tools=True,                      # the user's connected SaaS tools
    tools_selection=["gmail", "notion"],    # toolkit slugs (omit for ALL); from client.list_toolkits()
)

Browse & Tools

CellCog chats can drive the user's real Chrome (Browse) and call their connected SaaS tools (Gmail, Notion, Slack, ... — Tools). Discover what's available, then enable at chat creation:

# Browse: discover Chrome profiles, then enable with one
status = client.get_browser_status()
profile = status["active_profile"]          # or let the user pick from available_profiles
result = client.create_chat(
    prompt="Log into the dashboard and screenshot the weekly report",
    enable_browse=True,
    browser_profile_id=profile["profileDir"],
)

# Tools: discover connected toolkits, then enable a selection (omit for ALL)
toolkits = client.list_toolkits(connected_only=True)
result = client.create_chat(
    prompt="Summarize this week's unread emails",
    enable_tools=True,
    tools_selection=["gmail"],              # toolkit slugs
)

Notes: Browse requires CellCog Desktop + the Chrome extension on the user's machine and auto-enables co-work server-side. tools_selection takes TOOLKIT slugs (the granularity users pick in the product UI); list_toolkit_tools(slug) shows what a toolkit unlocks.

File Handling

# Send files to CellCog
result = client.create_chat(
    prompt='Analyze this data: <SHOW_FILE>/path/to/sales.csv</SHOW_FILE>',
    task_label="data-analysis",
)

# Request output at specific path
result = client.create_chat(
    prompt='Create a report: <GENERATE_FILE>/output/report.pdf</GENERATE_FILE>',
    task_label="report",
)

Generated files auto-download to ~/.cellcog/chats/{chat_id}/ or to GENERATE_FILE paths if specified.

Chat Modes & Tiers

Every chat runs at a (mode, tier) operating point. Pick a mode for the KIND of work, a tier for the DEPTH (omit chat_tier for the mode's default).

Mode Best For Tiers
"agent" Most tasks — assets, documents, production pipelines, coding/co-work flash (SDK default) · core · max
"creative" Design, brand, frontend craft — taste-first work core (default) · max
"team" Deep research ONLY — multi-source synthesis, citations (multi-agent) flash · core (default) · max

Tier guidance for agent mode: omit chat_tier and the SDK sends "flash" — right for simple asset generation and light tasks. Coding / co-work needs "max" (applied automatically when enable_cowork=True). Heavy multi-step production (video, data analysis, financial models, legal drafting) → pass chat_tier="max" explicitly. Quality disappointing on flash? Re-run with chat_tier="max". Use "team" only for deep research.

Legacy mode names ("agent core", "agent team", "agent team max") keep working forever — the server normalizes them to their historical operating points.

35 Skills — The Cog Family

Category Skills
Research & Analysis deep-research-cellcog stock-analysis-cellcog crypto-research-cellcog data-analysis-cellcog news-briefing-cellcog
Video & Cinema video-generation-cellcog cinematic-video-cellcog instagram-reels-tiktok-cellcog youtube-video-cellcog seedance-video-generation-cellcog
Images & Design image-generation-cellcog logo-brand-identity-cellcog meme-generator-cellcog nano-banana-image-cellcog 3d-model-generation-cellcog
Audio & Music audio-generation-cellcog music-generation-cellcog podcast-generation-cellcog
Documents & Slides pdf-document-generation-cellcog presentation-slides-cellcog excel-spreadsheet-cellcog resume-cover-letter-cellcog legal-documents-cellcog
Apps & Prototypes dashboard-web-app-cellcog game-asset-generation-cellcog ui-prototype-wireframe-cellcog
Creative comic-manga-generator-cellcog creative-writing-cellcog tutoring-education-cellcog travel-planning-cellcog
Development coding-agent-cellcog pair-programming-cellcog project-management-cellcog brainstorming-strategy-cellcog

Browse all skills: https://cellcog.ai/skills

Error Handling

from cellcog import (
    CellCogClient,
    PaymentRequiredError,
    MaxConcurrencyError,
    GatewayConfigError,
    SDKUpgradeRequiredError,
)

client = CellCogClient(agent_provider="openclaw")

try:
    result = client.create_chat(...)
except PaymentRequiredError as e:
    print(f"Add credits: {e.billing_url}")
except MaxConcurrencyError as e:
    print(f"Too many parallel chats: {e.operating_count}/{e.max_parallel}")
except GatewayConfigError as e:
    print(f"Fix: {e.fix_command}")  # OpenClaw notify mode only
except SDKUpgradeRequiredError as e:
    print(f"Upgrade: pip install cellcog>={e.minimum_version}")

License

MIT License — see LICENSE for details.

Metadata

Release files for cellcog 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cellcog 2.4.0
File Size Uploaded
cellcog-2.4.0.tar.gz 139.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cellcog 2.4.0
File Interpreter ABI Platform
cellcog-2.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 216.1 kB

Release files / cellcog-2.4.0.tar.gz

Download URL cellcog-2.4.0.tar.gz
Size 139.0 kB
Tags Source
SHA-256 checksum
How to use checksums
51b63ccc51abc396528e5637d146fac8c13866d428fa0b3d3c9380462b2b2c7c
BLAKE2b-256 checksum
How to use checksums
d3094bd525e4a616bf21f5d76cd001ab4045fcb0c627bcb7e03320e40ca5b6a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.1

Release files / cellcog-2.4.0-py3-none-any.whl

Download URL cellcog-2.4.0-py3-none-any.whl
Size 77.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49d96f0cd2d2d61659d98b94ba3b063b81101c23394f5ffab05e542ead68bc89
BLAKE2b-256 checksum
How to use checksums
b43a6dc2339f56c67d1117f27a568cb00eda2fbfdca27c508106abbfdcc9d9cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

2.4.0 This release

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page