Return to Studio Editorial
SPECIFICATION • LIVE TENSOR SUITE

API & Protocol Reference
Developer & AI Agent Documentation

Generate pristine images with Nano Banana models, synthesize 720p HD cinematic videos via Omni 1.1 Flash (Veo temporal diffusion) in Frames and Ingredients modes, invert watermarks losslessly with reverse-alpha mathematics, or orchestrate tools natively via Model Context Protocol (MCP).

AI Agent & LLM Machine-Readable InterfacesZero-Config

Building with Cursor, Windsurf, Claude Code, ChatGPT Actions, LangChain, or Custom Agents? Fetch our structured specifications directly:

01 • CREDENTIALS, PROTOCOL & LIMITS

Authentication & Security Standards

Every API and MCP interaction is authenticated using a Bearer API Key generated in your API Keys Dashboard. Keys are cryptographically hashed via SHA-256 for maximum security.

Base Endpoint URL
https://do0p.com/api/v1

Drop-in compatible with standard OpenAI SDK base URL configurations.

HTTP Header
Authorization: Bearer doop_live_...

Pass in standard HTTP requests, or append ?key=... in MCP URL params.

Global Rate Limit
120 Requests / Minute

Enforced per IP. Exceeding returns 429 Too Many Requests with Retry-After.

HTTP Response Status Codes

CodeStatusDescriptionAction / Resolution
200 OKSuccessRequest processed and credits deducted successfully.Consume output payload data.
400 Bad RequestValidation ErrorMissing required field (e.g. prompt) or invalid resolution/aspect.Check JSON request parameters against schema.
401 UnauthorizedAuthentication FailureMissing or invalid Bearer API Key header.Generate a live key in /dashboard/api-keys.
402 Payment RequiredInsufficient CreditsWallet balance is lower than the model credit cost.Top up credits in /dashboard/billing.
429 Too Many RequestsRate Limit ExceededSent more than 120 requests/minute from your IP.Back off for duration in Retry-After header.
500 Server ErrorExecution FailureUpstream worker exception. Credits are automatically refunded.Retry request or contact support.
02 • FOUNDATION IMAGE GENERATIONPOST /api/v1/images/generations

Nano Banana Visual Intelligence

Synthesize high-fidelity generative imagery powered by Google Flow models with automatic mathematical watermark removal. Fully compatible with OpenAI SDKs.

nano-banana-pro1.0 Credit

Gemini 3 Pro Image foundation. SOTA visual fidelity, rich photorealism, fine typography, and complex multi-subject grounding.

Native 2K (2048×2048)
nano-banana-20.8 Credits

Gemini 3.1 Flash Image. Pro visual intelligence with ultra-fast latency and grounded generation capabilities.

Native 2K (2048×2048)
nano-banana-2-lite0.5 Credits

Gemini 3.1 Flash Lite. Our highest throughput, ultra-cost-effective engine built for large-scale automation pipelines.

1024×1024 Efficiency

Request Parameters

FieldTypeDefaultDescription
promptstringrequiredText description of the desired image.
modelstring"nano-banana-pro"nano-banana-pro, nano-banana-2, or nano-banana-2-lite.
size / aspect_ratiostring"2048x2048"Aspect ratios: 1:1 (2048x2048), 16:9 (1792x1024), 9:16 (1024x1792), 4:3 (1024x768), or 3:4 (768x1024).
ninteger1Number of images to generate (1 to 4).
qualitystring"hd""standard" (1K Original) or "hd" (2K Lanczos Upscaled).
images_base64string[]nullArray of up to 5 base64 reference images for style/character guidance.
seedintegerrandomDeterministic random seed (0 to 4,294,967,295).
auto_remove_watermarkbooleantrueAutomatically strips Google watermarks losslessly before returning.
cURL • Image Synthesis
curl -X POST https://do0p.com/api/v1/images/generations \
  -H "Authorization: Bearer doop_live_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Architectural studio render of a brutalist pavilion in a moss garden, rain reflections, 8k",
    "model": "nano-banana-pro",
    "size": "2048x2048",
    "n": 1,
    "quality": "hd",
    "auto_remove_watermark": true
  }'
Standard JSON Response
HTTP 200 OK
{
  "created": 1741234567,
  "model": "nano-banana-pro",
  "credits_deducted": 1.0,
  "credits_remaining": 149.0,
  "data": [
    {
      "url": "https://do0p.com/media/clean_flow_brutalist_1741234567.png",
      "resolution": "2048x2048",
      "latency_ms": 1420
    }
  ]
}
03 • CLOUD 2K IMAGE UPSCALERPOST /api/v1/images/upscale

Anti-Aliased 2K Super-Resolution

Upscale any generated or external image to pristine 2K resolution (2048px+) with anti-aliased Lanczos interpolation. Produces razor-sharp edges and high pixel density suitable for print and 4K displays. Cost: 0.5 credits.

cURL • Image Upscale
curl -X POST https://do0p.com/api/v1/images/upscale \
  -H "Authorization: Bearer doop_live_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://do0p.com/media/sample_original.png",
    "scale": 2
  }'
HTTP 200 Response
{
  "success": true,
  "url": "https://do0p.com/media/upscaled_1741234999_sample.png",
  "resolution": "2048x2048",
  "original_resolution": "1024x1024"
}
04 • FOUNDATION VIDEO SYNTHESISPOST /api/v1/videos/generations

Omni 1.1 Flash (Google Veo Foundation)

Synthesize high-definition, cinema-grade video clips powered by Google's flagship Veo temporal diffusion architecture. Mastered strictly at 720p HD (1280×720 landscape, 720×1280 portrait @ 24fps) with automated watermark inversion.

4 Seconds
7 Credits
$0.07 USD
6 Seconds
10 Credits
$0.10 USD
8 Seconds
14 Credits
$0.14 USD
10 Seconds
18 Credits
$0.18 USD
1. Frames Mode (video_mode: "frames")

Provide a First Frame (start_image_base64) and an optional Last Frame (end_image_base64). The temporal engine creates smooth keyframe transitions and camera trajectories between both boundaries.

2. Ingredients Mode (video_mode: "ingredients")

Upload up to 5 reference images (images_base64) to infuse character design, outfit details, color palette, or object consistency into the synthesized video sequence.

Frames Mode • Keyframe Transition
# 1. Dispatch Video Generation (Frames Mode)
curl -X POST https://do0p.com/api/v1/videos/generations \
  -H "Authorization: Bearer doop_live_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Camera drifts smoothly forward through foggy bamboo forest towards a temple gateway, cinematic lighting, 24fps",
    "model": "omni-1.1-flash",
    "video_mode": "frames",
    "duration": 6,
    "resolution": "720p",
    "aspect": "landscape",
    "start_image_base64": "data:image/jpeg;base64,/9j/4AAQ...",
    "end_image_base64": "data:image/jpeg;base64,/9j/4AAQ..."
  }'

# Response:
# {"job_id": "gen_video_174123499", "status": "processing", "credits_deducted": 10}
05 • LOSSLESS WATERMARK INVERTERPOST /api/v1/watermark/remove

Mathematical Reverse-Alpha Inversion

Strips Google Flow and Gemini watermarks losslessly using compiled Go binary gemini-omni. Rather than blur or AI inpainting, it solves the inverse alpha channel equation to recover 100% of underlying pixels. Cost: 0.2 credits ($0.002) per file.

cURL • URL or Base64 Payload
curl -X POST https://do0p.com/api/v1/watermark/remove \
  -H "Authorization: Bearer doop_live_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://do0p.com/media/watermarked_input.png"
  }'
cURL • Multipart File Upload
curl -X POST https://do0p.com/api/v1/watermark/remove \
  -H "Authorization: Bearer doop_live_your_secret_key" \
  -F "file=@/path/to/watermarked_video.mp4"
HTTP 200 Response
{
  "success": true,
  "cleaned_url": "https://do0p.com/media/clean_1741235432_ab12cd.png",
  "raw_url": "https://do0p.com/media/input_1741235432_ab12cd.png",
  "duration_ms": 68,
  "credits_deducted": 0.2
}
06 • ACCOUNT TELEMETRY & BALANCEGET /api/v1/user/credits

Wallet Credits & Consumption History

Programmatically query your available credit balance, approximate USD conversion, and the 10 most recent generation transactions. Free of charge.

cURL • Check Account Balance
curl -X GET https://do0p.com/api/v1/user/credits \
  -H "Authorization: Bearer doop_live_your_secret_key"
HTTP 200 Response
{
  "user_id": "usr_94381",
  "email": "developer@company.com",
  "credits_balance": 139.0,
  "approx_usd_value": "1.39",
  "recent_transactions": [
    {
      "id": "tx_8412",
      "amount": -10,
      "type": "GENERATION",
      "description": "Video Generation (6s): Camera drifts...",
      "createdAt": "2026-09-16T12:00:00.000Z"
    }
  ]
}
07 • LIVE MODEL DIRECTORYGET /api/v1/models

Dynamic Model Catalog & Quotas

Returns all active image and video models currently deployed on Do0p, their credit rates, price in USD, and supported modalities. Free of charge.

cURL • Query Model Catalog
curl -X GET https://do0p.com/api/v1/models
HTTP 200 Response
{
  "object": "list",
  "data": [
    {
      "id": "nano-banana-pro",
      "name": "Nano Banana Pro",
      "type": "IMAGE",
      "description": "Gemini 3 Pro Image foundation. Native 2K.",
      "credit_cost": 1.0,
      "price_usd": 0.01,
      "badge": "2K Pro",
      "is_featured": true
    },
    {
      "id": "omni-1.1-flash",
      "name": "Omni 1.1 Flash",
      "type": "VIDEO",
      "description": "Google Veo temporal diffusion. 720p HD Master.",
      "credit_cost": 7.0,
      "price_usd": 0.07,
      "duration_seconds": 4,
      "badge": "720p HD",
      "is_featured": true
    }
  ]
}
08 • ASYNCHRONOUS EVENT WEBHOOKSEVENT DISPATCH

Real-Time Webhook Notifications

Instead of polling for video synthesis completion, configure an HTTPS endpoint in your Webhooks Dashboard. Do0p delivers an automated HTTP POST webhook the millisecond your media deliverable is ready.

video.completed

Fired when asynchronous Veo video generation completes and clean MP4 is hosted.

video.failed

Fired if video rendering fails. Credits are automatically refunded to your balance.

Webhook Payload Example
{
  "event": "video.completed",
  "timestamp": "2026-09-16T12:00:30.000Z",
  "data": {
    "job_id": "gen_video_174123499",
    "status": "completed",
    "model": "omni-1.1-flash",
    "duration": 6,
    "video_url": "https://do0p.com/media/clean_174123499_bamboo.mp4",
    "credits_deducted": 10
  }
}

HMAC-SHA256 Signature Verification

Every webhook delivery includes an X-Do0p-Signature header. Verify the signature against your webhook secret using timing-safe comparison:

Node.js • Signature Verification
const crypto = require('crypto');

function verifyWebhook(rawBody, signatureHeader, secret) {
  const hmac = crypto.createHmac('sha256', secret);
  const digest = hmac.update(rawBody).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(signatureHeader));
}
09 • 1-CLICK AI AGENTS, CHATBOTS & MCPPOST /api/mcp

Connect to Any AI Agent, Chatbot, or No-Code Flow

Whether you are a developer using Cursor or Windsurf, a creative using Claude Desktop, building a Custom GPT in ChatGPT, or running local chatbots like Open WebUI, connecting takes less than 60 seconds.

generate_flow_image0.5 - 1.0 cr

Generate 1-4 native 2K images with Nano Banana Pro, Nano Banana 2, or Nano Banana 2 Lite. Optional reference images. Zero watermarks.

generate_flow_video7 - 18 cr

Generate 720p HD videos with Omni 1.1 Flash (Veo). Supports Frames mode (start & end frames) and Ingredients mode (up to 5 references).

remove_watermark0.2 cr

Lossless mathematical reverse-alpha removal of Google Flow or Gemini watermarks for any image or video URL.

get_generation_statusFree

Check real-time completion state, output media URLs, safety policy checks, or failure reasons for any job ID.

check_credits & list_modelsFree

Query current wallet credit balance, remaining quotas, active model catalog, and live pricing matrix.

1. Cursor IDE • Single URL Setup (Zero JSON)Recommended

In Cursor, open Settings (Cmd+,) > Features > MCP > Add New MCP Server.
Set Type to SSE and paste your endpoint URL:

Cursor SSE Server URL
https://do0p.com/api/mcp?key=YOUR_DO0P_API_KEY
2. Claude Desktop • 1-Click Terminal Auto-InstallerMac & Linux

Run this single command in your terminal. It safely injects Do0p AI into your Claude Desktop configuration without overwriting existing servers:

Terminal 1-Click Installer
curl -sSL "https://do0p.com/api/mcp/install?key=YOUR_DO0P_API_KEY" | bash

Or manually add to ~/Library/Application Support/Claude/claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "do0p-flow": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-fetch",
        "https://do0p.com/api/mcp"
      ],
      "env": {
        "AUTHORIZATION": "Bearer YOUR_DO0P_API_KEY"
      }
    }
  }
}
3. ChatGPT Custom GPTs • OpenAPI 3.0 ActionView openapi.json

In OpenAI ChatGPT, go to Explore GPTs > Create a GPT > Configure > Actions > Create new action.
Under Schema, click Import from URL and enter:

OpenAPI 3.0 Schema URL
https://do0p.com/api/v1/openapi.json

Under Authentication, select API Key, choose Bearer, and enter your Do0p API Key. Your Custom GPT can now create images and videos on-demand!

4. Web & Desktop Chatbots (Open WebUI, LibreChat, Jan, NextChat, TypingMind)

Connect any AI chat interface that supports OpenAI-compatible endpoints:

Base URL
https://do0p.com/api/v1
Models
nano-banana-pro, omni-1.1-flash
10 • MODEL CATALOG & PRICING MATRIX

Unified Commercial Rates

Model Display NameSlugResolutionCreditsUSD Est.Turnaround
🍌 Nano Banana Pronano-banana-pro2048 × 20481.0 cr$0.010~2.5s
🍌 Nano Banana 2nano-banana-22048 × 20480.8 cr$0.008~1.5s
🍌 Nano Banana 2 Litenano-banana-2-lite1024 × 10240.5 cr$0.005~0.9s
🔍 2K Image Upscalerupscaler-2k2048 × 20480.5 cr$0.005~1.0s
🎥 Omni 1.1 Flash (4s)omni-1.1-flash720p HD (1280×720)7.0 cr$0.070~20s
🎥 Omni 1.1 Flash (6s)omni-1.1-flash720p HD (1280×720)10.0 cr$0.100~30s
🎥 Omni 1.1 Flash (8s)omni-1.1-flash720p HD (1280×720)14.0 cr$0.140~45s
🎥 Omni 1.1 Flash (10s)omni-1.1-flash720p HD (1280×720)18.0 cr$0.180~60s
✨ Watermark Invertergemini-omniLossless Pixel Restor.0.2 cr$0.002~80ms
11 • ERROR CODES, SAFETY MODERATION & PRESERVATION GUARANTEEZero-Risk Guarantee

Enterprise Error Taxonomy & Automated Safety Handling

Every API endpoint, webhook, and MCP tool provides structured, machine-readable error responses. If an inference task fails or triggers content safety filters, your account is guaranteed 100% credit preservation.

Zero-Risk Credit Preservation Policy

Credits are only permanently deducted upon successful delivery of pristine media. If a prompt triggers safety moderation, experiences cluster capacity, or times out, credits are immediately restored (0 credits charged).

credits_refunded: true
Machine-Readable Failure Response (OpenAI SDK Drop-in)
Standard JSON Error Payload
{
  "status": "failed",
  "generation_id": "gen_88f9b2a1",
  "error": {
    "message": "Content Safety Notice: Your prompt was flagged by automated content safety filters (e.g. sensitive, adult, or policy-restricted concepts). Your credits were safely preserved. Please adjust your prompt description and try a different or milder concept.",
    "type": "content_policy_violation",
    "code": "unsafe_prompt",
    "recommendation": "Your prompt triggered content moderation filters. Please modify your prompt to use milder or artistic wording and try again."
  },
  "credits_refunded": true,
  "credits_charged": 0
}
Error Codes & Recommended Automated Actions
HTTP StatusError CodeTrigger ConditionAutomated Machine Action
400 Bad Requestunsafe_promptPrompt contains explicit, adult, or prohibited conceptsRephrase prompt with artistic/metaphorical language. Do not retry identical prompt.
402 Payment Requiredinsufficient_creditsWallet balance lower than required model creditsTop up wallet credits in Dashboard or reduce image count / duration.
429 Rate Limitedrate_limit_exceededBurst limit exceeded on current API keyBackoff exponential wait (2-5s) or rotate through additional keys.
502 Bad Gatewaygeneration_errorGPU compute nodes operating at maximum instantaneous capacityRetry in 10-15 seconds or switch to a high-throughput model (e.g. z-image-turbo).
504 Gateway Timeoutrequest_timeoutRendering took longer than 4 minutes due to high complexitySimplify prompt or lower resolution/steps, then retry.