Claim this agent
Agent DossierCLAWHUBSafety 84/100

Xpersona Agent

Deapi Github

The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of transcription or thousands of generated images. Fraction of the cost of any alternative. Skill: Deapi Github Owner: zrewolwerowanykaloryfer Summary: The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of tran

OpenClaw ยท self-declared
876 downloadsTrust evidence available
clawhub skill install kn7d2s78ex44zmw98bdv67vsw180y6e0:deapi

Overall rank

#62

Adoption

876 downloads

Trust

Unknown

Freshness

Mar 1, 2026

Freshness

Last checked Mar 1, 2026

Best For

Deapi Github is best for general automation workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, CLAWHUB, runtime-metrics, public facts pack

Overview

Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.

Verifiededitorial-content

Overview

Executive Summary

The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of transcription or thousands of generated images. Fraction of the cost of any alternative. Skill: Deapi Github Owner: zrewolwerowanykaloryfer Summary: The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of tran Capability contract not published. No trust telemetry is available yet. 876 downloads reported by the source. Last updated 4/15/2026.

No verified compatibility signals876 downloads

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Mar 1, 2026

Vendor

Clawhub

Artifacts

0

Benchmarks

0

Last release

1.0.9

Install & run

Setup Snapshot

clawhub skill install kn7d2s78ex44zmw98bdv67vsw180y6e0:deapi
  1. 1

    Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence & Timeline

Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.

Verifiededitorial-content

Public facts

Evidence Ledger

Vendor (1)

Vendor

Clawhub

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Release (1)

Latest release

1.0.9

releasemedium
Observed Feb 13, 2026Source linkProvenance
Adoption (1)

Adoption signal

876 downloads

profilemedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Artifacts & Docs

Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.

Self-declaredCLAWHUB

Captured outputs

Artifacts Archive

Extracted files

3

Examples

6

Snippets

0

Languages

Unknown

Executable Examples

bash

export DEAPI_API_KEY=your_api_key_here

bash

curl -s -X POST "https://api.deapi.ai/api/v1/client/{endpoint}" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{...}'

bash

curl -s -X POST "https://api.deapi.ai/api/v1/client/{endpoint}" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{...}'

bash

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

bash

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

bash

curl -s -X POST "https://api.deapi.ai/api/v1/client/vid2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "{VIDEO_URL}", "include_ts": true, "model": "WhisperLargeV3"}'
Extracted Files

SKILL.md

---
name: deAPI AI Media Suite
description: The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of transcription or thousands of generated images. Fraction of the cost of any alternative.
homepage: https://deapi.ai
source: https://github.com/zrewolwerowanykaloryfer/deapi-clawdbot-skill
author: zrewolwerowanykaloryfer
license: MIT
requiredEnv:
  - DEAPI_API_KEY
metadata: {"clawdbot":{"requires":{"env":["DEAPI_API_KEY"]}}}
tags:
  - media
  - transcription
  - image-generation
  - tts
  - ocr
  - video
  - audio
  - embeddings
---

# deAPI Media Generation

AI-powered media tools via decentralized GPU network. Get your API key at [deapi.ai](https://deapi.ai) (free $5 credit on signup).

## Setup

```bash
export DEAPI_API_KEY=your_api_key_here
```

## Available Functions

| Function | Use when user wants to... |
|----------|---------------------------|
| Transcribe | Transcribe YouTube, Twitch, Kick, X videos, or audio files |
| Generate Image | Generate images from text descriptions (Flux models) |
| Generate Audio | Convert text to speech (TTS, 54+ voices, 8 languages) |
| Generate Video | Create video from text or animate images |
| OCR | Extract text from images |
| Remove Background | Remove background from images |
| Upscale | Upscale image resolution (2x/4x) |
| Transform Image | Apply style transfer to images (multi-image support) |
| Embeddings | Generate text embeddings for semantic search |
| Check Balance | Check account balance |

---

## Async Pattern (Important!)

**All deAPI requests are asynchronous.** Follow this pattern for every operation:

### 1. Submit Request
```bash
curl -s -X POST "https://api.deapi.ai/api/v1/client/{endpoint}" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{...}'
```

Response contains `request_id`.

### 2. Poll Status (loop every 10 seconds)
```bash
curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"
```

### 3. Handle Status
- `processing` โ†’ wait 10s, poll again
- `done` โ†’ fetch result from `result_url`
- `failed` โ†’ report error to user

### Common Error Handling
| Error | Action |
|-------|--------|
| 401 Unauthorized | Check DEAPI_API_KEY |
| 429 Rate Limited | Wait 60s and retry |
| 500 Server Error | Wait 30s and retry once |

---

## Transcription (YouTube, Audio, Video)

**Use when:** user wants to transcribe video from YouTube, X, Twitch, Kick or audio files.

**Endpoints:**
- Video (YouTube, mp4, webm): `vid2txt`
- Audio (mp3, wav, m4a, flac, ogg): `aud2txt`

**Request (video):**
```bash
curl -s -X POST "https://api.deapi.ai/api/v1/client/vid2txt" \
  -H "Authorization: Bearer $DEAPI_API_KE

README.md

# deAPI AI Media Suite

[![ClawHub](https://img.shields.io/badge/ClawHub-deapi-blue)](https://clawhub.ai/skills/deapi)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**The cheapest AI media API on the market** - now as a Clawdbot/OpenClaw skill.

Transcribe YouTube videos, generate images, convert text to speech, extract text with OCR, create videos, remove backgrounds, and more - all through one unified API at a fraction of the cost.

## ๐Ÿš€ Features

| Feature | Description |
|---------|-------------|
| ๐ŸŽฌ **Transcription** | YouTube, Twitch, Kick, X, audio/video files (Whisper) |
| ๐Ÿ–ผ๏ธ **Image Generation** | Flux and Z-Image models |
| ๐Ÿ—ฃ๏ธ **Text-to-Speech** | 54+ voices across 8 languages |
| ๐Ÿ“ **OCR** | Extract text from images |
| ๐ŸŽฅ **Video Generation** | Text-to-video and image-to-video |
| โœ‚๏ธ **Background Removal** | Remove backgrounds from images |
| ๐Ÿ” **Upscale** | 2x/4x image upscaling (RealESRGAN) |
| ๐ŸŽจ **Style Transfer** | Transform images with AI |
| ๐Ÿงฎ **Embeddings** | Text embeddings for semantic search |

## ๐Ÿ“ฆ Installation

```bash
clawdhub install deapi
```

## โš™๏ธ Setup

1. Get your API key at [deapi.ai](https://deapi.ai) (free $5 credit on signup)
2. Set environment variable (or simply provide the API key to your agent when needed):
   ```bash
   export DEAPI_API_KEY=your_api_key_here
   ```

## ๐Ÿ’ฐ Pricing

- **Transcription:** ~$0.02/hour
- **Image Generation:** ~$0.002/image  
- **TTS:** ~$0.001/1000 chars
- **Video Generation:** ~$0.05/video

Free $5 credit = hundreds of hours of transcription or thousands of images!

## ๐Ÿ“– Usage

Once installed, your Clawdbot agent automatically knows how to use deAPI. Just ask:

- *"Transcribe this YouTube video: [URL]"*
- *"Generate an image of a robot in cyberpunk style"*
- *"Convert this text to speech with a British accent"*
- *"Extract text from this screenshot"*
- *"Remove the background from this photo"*
- *"Upscale this image 4x"*

## ๐Ÿ”’ Security & Privacy

- All requests go to `api.deapi.ai` (official endpoint)
- Media URLs you submit are sent to deAPI for processing
- Results via `result_url` may be temporarily accessible
- Review [deAPI's privacy policy](https://deapi.ai) for data handling details

## ๐Ÿ™ Credits

- **API Provider:** [deAPI.ai](https://deapi.ai)
- **Original Claude Code skill:** [deapi-ai/claude-code-skills](https://github.com/deapi-ai/claude-code-skills)
- **Clawdbot conversion:** [@zrewolwerowanykaloryfer](https://github.com/zrewolwerowanykaloryfer)

## ๐Ÿ“„ License

MIT License - see [LICENSE](LICENSE) for details.

---

**Links:** [ClawHub](https://clawhub.ai/skills/deapi) | [deAPI.ai](https://deapi.ai) | [API Docs](https://docs.deapi.ai)

_meta.json

{
  "ownerId": "kn7d2s78ex44zmw98bdv67vsw180y6e0",
  "slug": "deapi",
  "version": "1.0.9",
  "publishedAt": 1771007089020
}

Editorial read

Docs & README

Docs source

CLAWHUB

Editorial quality

ready

The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of transcription or thousands of generated images. Fraction of the cost of any alternative. Skill: Deapi Github Owner: zrewolwerowanykaloryfer Summary: The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of tran

Full README

Skill: Deapi Github

Owner: zrewolwerowanykaloryfer

Summary: The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of transcription or thousands of generated images. Fraction of the cost of any alternative.

Tags: latest:1.0.9

Version history:

v1.0.9 | 2026-02-13T18:24:49.020Z | user

Reverted to 1.0.6

v1.0.8 | 2026-02-13T18:12:42.696Z | user

Reverted 1.0.7 changes (untested LTX-2 update)

v1.0.7 | 2026-02-13T18:11:01.769Z | user

Added LTX-2 19B video model

v1.0.6 | 2026-02-11T13:57:37.783Z | user

Reverted to placeholder paths per Testie review

v1.0.5 | 2026-02-11T13:21:26.631Z | user

Security fix: explicit /tmp/deapi_*.png paths instead of placeholders to pass virus scan

v1.0.4 | 2026-02-11T13:08:41.979Z | user

Fixed metadata format for ClawdHub requiredEnv detection (clawdbot.requires.env)

v1.0.3 | 2026-02-11T12:25:01.912Z | user

Fixed source URL to correct repository, updated author

v1.0.2 | 2026-02-11T12:00:22.316Z | user

Added homepage, source, author, license to metadata. Added privacy considerations (result_url accessibility, data handling). Added provenance links.

v1.0.1 | 2026-02-11T11:57:34.104Z | user

Security improvements: replaced /tmp/ paths with placeholders, added security note explaining the skill documents legitimate API

v1.0.0 | 2026-02-11T11:46:37.770Z | user

Initial release - transcription (YouTube/audio/video), image generation (Flux, Z-Image), TTS (54+ voices, 8 languages), OCR, video generation, background removal, upscale (4x), style transfer, embeddings. 10-20x cheaper than alternatives.

Archive index:

Archive v1.0.9: 3 files, 6181 bytes

Files: README.md (2780b), SKILL.md (12905b), _meta.json (124b)

File v1.0.9:SKILL.md


name: deAPI AI Media Suite description: The cheapest AI media API on the market. Transcribe YouTube videos, generate images with Flux and Z-Image models, convert text to speech in 54+ voices across 8 languages, extract text with OCR, create videos, remove backgrounds, upscale images, apply style transfer - all through one unified API. Free $5 credit on signup - enough for hundreds of hours of transcription or thousands of generated images. Fraction of the cost of any alternative. homepage: https://deapi.ai source: https://github.com/zrewolwerowanykaloryfer/deapi-clawdbot-skill author: zrewolwerowanykaloryfer license: MIT requiredEnv:

  • DEAPI_API_KEY metadata: {"clawdbot":{"requires":{"env":["DEAPI_API_KEY"]}}} tags:
  • media
  • transcription
  • image-generation
  • tts
  • ocr
  • video
  • audio
  • embeddings

deAPI Media Generation

AI-powered media tools via decentralized GPU network. Get your API key at deapi.ai (free $5 credit on signup).

Setup

export DEAPI_API_KEY=your_api_key_here

Available Functions

| Function | Use when user wants to... | |----------|---------------------------| | Transcribe | Transcribe YouTube, Twitch, Kick, X videos, or audio files | | Generate Image | Generate images from text descriptions (Flux models) | | Generate Audio | Convert text to speech (TTS, 54+ voices, 8 languages) | | Generate Video | Create video from text or animate images | | OCR | Extract text from images | | Remove Background | Remove background from images | | Upscale | Upscale image resolution (2x/4x) | | Transform Image | Apply style transfer to images (multi-image support) | | Embeddings | Generate text embeddings for semantic search | | Check Balance | Check account balance |


Async Pattern (Important!)

All deAPI requests are asynchronous. Follow this pattern for every operation:

1. Submit Request

curl -s -X POST "https://api.deapi.ai/api/v1/client/{endpoint}" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{...}'

Response contains request_id.

2. Poll Status (loop every 10 seconds)

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

3. Handle Status

  • processing โ†’ wait 10s, poll again
  • done โ†’ fetch result from result_url
  • failed โ†’ report error to user

Common Error Handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check DEAPI_API_KEY | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once |


Transcription (YouTube, Audio, Video)

Use when: user wants to transcribe video from YouTube, X, Twitch, Kick or audio files.

Endpoints:

  • Video (YouTube, mp4, webm): vid2txt
  • Audio (mp3, wav, m4a, flac, ogg): aud2txt

Request (video):

curl -s -X POST "https://api.deapi.ai/api/v1/client/vid2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "{VIDEO_URL}", "include_ts": true, "model": "WhisperLargeV3"}'

Request (audio):

curl -s -X POST "https://api.deapi.ai/api/v1/client/aud2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"audio_url": "{AUDIO_URL}", "include_ts": true, "model": "WhisperLargeV3"}'

After polling: Present transcription with timestamps in readable format.


Image Generation (Flux)

Use when: user wants to generate images from text descriptions.

Endpoint: txt2img

Models: | Model | API Name | Steps | Max Size | Notes | |-------|----------|-------|----------|-------| | Klein (default) | Flux_2_Klein_4B_BF16 | 4 (fixed) | 1536px | Fastest, recommended | | Flux | Flux1schnell | 4-10 | 2048px | Higher resolution | | Turbo | ZImageTurbo_INT8 | 4-10 | 1024px | Fastest inference |

Request:

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2img" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "{PROMPT}",
    "model": "Flux_2_Klein_4B_BF16",
    "width": 1024,
    "height": 1024,
    "steps": 4,
    "seed": {RANDOM_0_TO_999999}
  }'

Note: Klein model does NOT support guidance parameter - omit it.


Text-to-Speech (54+ Voices)

Use when: user wants to convert text to speech.

Endpoint: txt2audio

Popular Voices: | Voice ID | Language | Description | |----------|----------|-------------| | af_bella | American EN | Warm, friendly (best quality) | | af_heart | American EN | Expressive, emotional | | am_adam | American EN | Deep, authoritative | | bf_emma | British EN | Elegant (best British) | | jf_alpha | Japanese | Natural Japanese female | | zf_xiaobei | Chinese | Mandarin female | | ef_dora | Spanish | Spanish female | | ff_siwis | French | French female (best quality) |

Voice format: {lang}{gender}_{name} (e.g., af_bella = American Female Bella)

Request:

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2audio" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "{TEXT}",
    "voice": "af_bella",
    "model": "Kokoro",
    "lang": "en-us",
    "speed": 1.0,
    "format": "mp3",
    "sample_rate": 24000
  }'

Parameters:

  • lang: en-us, en-gb, ja, zh, es, fr, hi, it, pt-br
  • speed: 0.5-2.0
  • format: mp3/wav/flac/ogg
  • sample_rate: 22050/24000/44100/48000

Video Generation

Use when: user wants to generate video from text or animate an image.

Endpoints:

  • Text-to-Video: txt2video (multipart/form-data)
  • Image-to-Video: img2video (multipart/form-data)

โš ๏ธ IMPORTANT: Model-specific constraints for Ltxv_13B_0_9_8_Distilled_FP8:

  • guidance: MUST be 0 (max value!)
  • steps: MUST be 1 (max value!)
  • fps: minimum 30

Request (text-to-video):

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2video" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "prompt={PROMPT}" \
  -F "model=Ltxv_13B_0_9_8_Distilled_FP8" \
  -F "width=512" \
  -F "height=512" \
  -F "guidance=0" \
  -F "steps=1" \
  -F "frames=120" \
  -F "fps=30" \
  -F "seed={RANDOM_0_TO_999999}"

Parameters: | Parameter | Required | Constraints | Description | |-----------|----------|-------------|-------------| | prompt | Yes | - | Video description | | model | Yes | - | Ltxv_13B_0_9_8_Distilled_FP8 | | width | Yes | 256-768 | Video width (e.g., 512) | | height | Yes | 256-768 | Video height (e.g., 512) | | guidance | Yes | max 0 | Must be 0 for this model | | steps | Yes | max 1 | Must be 1 for this model | | frames | Yes | 30-300 | Number of frames | | fps | Yes | min 30 | Frames per second | | seed | Yes | 0-999999 | Random seed |

Request (image-to-video):

# Download image first if URL provided
curl -s -o {LOCAL_IMAGE_PATH} "{IMAGE_URL}"

curl -s -X POST "https://api.deapi.ai/api/v1/client/img2video" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "first_frame_image=@{LOCAL_IMAGE_PATH}" \
  -F "prompt=gentle movement, cinematic" \
  -F "model=Ltxv_13B_0_9_8_Distilled_FP8" \
  -F "width=512" \
  -F "height=512" \
  -F "guidance=0" \
  -F "steps=1" \
  -F "frames=120" \
  -F "fps=30" \
  -F "seed={RANDOM_0_TO_999999}"

Note: Video generation can take 1-3 minutes.


OCR (Image to Text)

Use when: user wants to extract text from an image.

Endpoint: img2txt (multipart/form-data)

Request:

# Download image first if URL provided
curl -s -o {LOCAL_IMAGE_PATH} "{IMAGE_URL}"

# Send OCR request
curl -s -X POST "https://api.deapi.ai/api/v1/client/img2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{LOCAL_IMAGE_PATH}" \
  -F "model=Nanonets_Ocr_S_F16"

Background Removal

Use when: user wants to remove background from an image.

Endpoint: img-rmbg (multipart/form-data)

Request:

# Download image first if URL provided
curl -s -o {LOCAL_IMAGE_PATH} "{IMAGE_URL}"

# Send remove-bg request
curl -s -X POST "https://api.deapi.ai/api/v1/client/img-rmbg" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{LOCAL_IMAGE_PATH}" \
  -F "model=Ben2"

Result: PNG with transparent background.


Image Upscale (2x/4x)

Use when: user wants to upscale/enhance image resolution.

Endpoint: img-upscale (multipart/form-data)

Models: | Scale | Model | |-------|-------| | 2x | RealESRGAN_x2 | | 4x | RealESRGAN_x4 |

Request:

# Download image first if URL provided
curl -s -o {LOCAL_IMAGE_PATH} "{IMAGE_URL}"

# Send upscale request
curl -s -X POST "https://api.deapi.ai/api/v1/client/img-upscale" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{LOCAL_IMAGE_PATH}" \
  -F "model=RealESRGAN_x4"

Image Transformation (Style Transfer)

Use when: user wants to transform image style, combine images, or apply AI modifications.

Endpoint: img2img (multipart/form-data)

Models: | Model | API Name | Max Images | Guidance | Steps | Notes | |-------|----------|------------|----------|-------|-------| | Klein (default) | Flux_2_Klein_4B_BF16 | 3 | N/A (ignore) | 4 (fixed) | Faster, multi-image | | Qwen | QwenImageEdit_Plus_NF4 | 1 | 7.5 | 10-50 (default 20) | More control |

Request (Klein, supports up to 3 images):

# Download images first
curl -s -o {LOCAL_IMAGE_1} "{IMAGE_URL_1}"
curl -s -o {LOCAL_IMAGE_2} "{IMAGE_URL_2}"  # optional

# Send transform request (Klein - no guidance)
curl -s -X POST "https://api.deapi.ai/api/v1/client/img2img" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{LOCAL_IMAGE_1}" \
  -F "image=@{LOCAL_IMAGE_2}" \
  -F "prompt={STYLE_PROMPT}" \
  -F "model=Flux_2_Klein_4B_BF16" \
  -F "steps=4" \
  -F "seed={RANDOM_0_TO_999999}"

Request (Qwen, higher quality single image):

# Download image first
curl -s -o {LOCAL_IMAGE_1} "{IMAGE_URL}"

# Send transform request (Qwen - with guidance)
curl -s -X POST "https://api.deapi.ai/api/v1/client/img2img" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{LOCAL_IMAGE_1}" \
  -F "prompt={STYLE_PROMPT}" \
  -F "model=QwenImageEdit_Plus_NF4" \
  -F "guidance=7.5" \
  -F "steps=20" \
  -F "seed={RANDOM_0_TO_999999}"

Example prompts: "convert to watercolor painting", "anime style", "cyberpunk neon aesthetic"


Text Embeddings

Use when: user needs embeddings for semantic search, clustering, or RAG.

Endpoint: txt2embedding

Request:

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2embedding" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input": "{TEXT}", "model": "Bge_M3_FP16"}'

Result: 1024-dimensional vector (BGE-M3, multilingual)


Check Balance

Use when: user wants to check remaining credits.

Request:

curl -s "https://api.deapi.ai/api/v1/client/balance" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Response: { "data": { "balance": 4.25 } }


Pricing (Approximate)

| Operation | Cost | |-----------|------| | Transcription | ~$0.02/hour | | Image Generation | ~$0.002/image | | TTS | ~$0.001/1000 chars | | Video Generation | ~$0.05/video | | OCR | ~$0.001/image | | Remove BG | ~$0.001/image | | Upscale | ~$0.002/image | | Embeddings | ~$0.0001/1000 tokens |

Free $5 credit on signup at deapi.ai.


Converted from deapi-ai/claude-code-skills for Clawdbot/OpenClaw.


Security & Privacy Note

This skill provides documentation for the deAPI.ai REST API, a legitimate decentralized AI media service.

Security:

  • All curl commands are examples showing how to call the API
  • Requests go to api.deapi.ai (official deAPI endpoint)
  • Local file paths (e.g., {LOCAL_IMAGE_PATH}) are placeholders - use any suitable temporary location
  • The skill itself does not execute code or download binaries
  • API key is required and must be set by user via DEAPI_API_KEY environment variable

Privacy considerations:

  • Media URLs you submit (YouTube links, images) are sent to deapi.ai for processing
  • Generated results are returned via result_url which may be temporarily accessible via direct link
  • Results are stored on deAPI's infrastructure - review their privacy policy for retention details
  • Do not process sensitive/confidential media without understanding data handling

Provenance:

File v1.0.9:README.md

deAPI AI Media Suite

ClawHub License: MIT

The cheapest AI media API on the market - now as a Clawdbot/OpenClaw skill.

Transcribe YouTube videos, generate images, convert text to speech, extract text with OCR, create videos, remove backgrounds, and more - all through one unified API at a fraction of the cost.

๐Ÿš€ Features

| Feature | Description | |---------|-------------| | ๐ŸŽฌ Transcription | YouTube, Twitch, Kick, X, audio/video files (Whisper) | | ๐Ÿ–ผ๏ธ Image Generation | Flux and Z-Image models | | ๐Ÿ—ฃ๏ธ Text-to-Speech | 54+ voices across 8 languages | | ๐Ÿ“ OCR | Extract text from images | | ๐ŸŽฅ Video Generation | Text-to-video and image-to-video | | โœ‚๏ธ Background Removal | Remove backgrounds from images | | ๐Ÿ” Upscale | 2x/4x image upscaling (RealESRGAN) | | ๐ŸŽจ Style Transfer | Transform images with AI | | ๐Ÿงฎ Embeddings | Text embeddings for semantic search |

๐Ÿ“ฆ Installation

clawdhub install deapi

โš™๏ธ Setup

  1. Get your API key at deapi.ai (free $5 credit on signup)
  2. Set environment variable (or simply provide the API key to your agent when needed):
    export DEAPI_API_KEY=your_api_key_here
    

๐Ÿ’ฐ Pricing

  • Transcription: ~$0.02/hour
  • Image Generation: ~$0.002/image
  • TTS: ~$0.001/1000 chars
  • Video Generation: ~$0.05/video

Free $5 credit = hundreds of hours of transcription or thousands of images!

๐Ÿ“– Usage

Once installed, your Clawdbot agent automatically knows how to use deAPI. Just ask:

  • "Transcribe this YouTube video: [URL]"
  • "Generate an image of a robot in cyberpunk style"
  • "Convert this text to speech with a British accent"
  • "Extract text from this screenshot"
  • "Remove the background from this photo"
  • "Upscale this image 4x"

๐Ÿ”’ Security & Privacy

  • All requests go to api.deapi.ai (official endpoint)
  • Media URLs you submit are sent to deAPI for processing
  • Results via result_url may be temporarily accessible
  • Review deAPI's privacy policy for data handling details

๐Ÿ™ Credits

๐Ÿ“„ License

MIT License - see LICENSE for details.


Links: ClawHub | deAPI.ai | API Docs

File v1.0.9:_meta.json

{ "ownerId": "kn7d2s78ex44zmw98bdv67vsw180y6e0", "slug": "deapi", "version": "1.0.9", "publishedAt": 1771007089020 }

Archive v1.0.8: 13 files, 15839 bytes

Files: commands/deapi-balance.md (591b), commands/deapi-setup.md (3671b), commands/embed.md (2180b), commands/generate-audio.md (3397b), commands/generate-image.md (2687b), commands/generate-video.md (2346b), commands/ocr.md (2005b), commands/remove-bg.md (1972b), commands/transcribe.md (1900b), commands/transform-image.md (3468b), commands/upscale.md (2136b), SKILL.md (1830b), _meta.json (124b)

File v1.0.8:SKILL.md


name: deapi description: AI media generation via deAPI. Transcribe YouTube/audio/video, generate images from text, text-to-speech, OCR, remove backgrounds, upscale images, create videos, generate embeddings. 10-20x cheaper than OpenAI/Replicate. metadata: clawdbot: config: requiredEnv: - DEAPI_API_KEY tags:

  • media
  • video
  • image-generation
  • transcription
  • tts
  • ocr

deAPI Media Generation

AI-powered media tools via decentralized GPU network.

Available Commands

| Command | Use when user wants to... | |---------|---------------------------| | /transcribe | Transcribe YouTube, Twitch, Kick, X videos, or audio files | | /generate-image | Generate images from text descriptions | | /generate-audio | Convert text to speech (TTS) | | /generate-video | Create video from text or animate images | | /ocr | Extract text from images (OCR) | | /remove-bg | Remove background from images | | /upscale | Upscale image resolution (2x/4x) | | /transform-image | Apply style transfer to images | | /embed | Generate text embeddings for semantic search | | /deapi-setup | Configure result delivery (webhooks/websockets) for server apps | | /deapi-balance | Check account balance and remaining credits |

Quick Examples

/transcribe https://youtube.com/watch?v=...
/generate-image a sunset over mountains
/generate-audio "Hello world" --voice am_adam

Setup

Requires DEAPI_API_KEY environment variable:

export DEAPI_API_KEY=your_key

Get your API key at deapi.ai (free $5 credit).

API Pattern

All deAPI requests are async:

  1. Submit job โ†’ get request_id
  2. Poll status every 10s
  3. When done โ†’ fetch from result_url

For detailed API parameters, see docs/api-reference.md.

File v1.0.8:_meta.json

{ "ownerId": "kn7d2s78ex44zmw98bdv67vsw180y6e0", "slug": "deapi", "version": "1.0.8", "publishedAt": 1771006362696 }

File v1.0.8:commands/deapi-balance.md


name: deapi-balance description: Check deAPI account balance

deAPI Account Balance

Step 1: Check balance

curl -s "https://api.deapi.ai/api/v1/client/balance" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Step 2: Present result

Response: { "data": { "balance": 4.25 } }

Display: deAPI balance: {balance} credits

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 403 Forbidden | API key may be revoked, get a new one at deapi.ai | | Network error | Check internet connection |

File v1.0.8:commands/deapi-setup.md


name: deapi-setup description: Configure result delivery method for deAPI jobs (polling, webhooks, websockets)

Result Delivery Setup

Configure how your application receives job results.

Step 1: Determine context

Ask user about their use case:

| Context | Recommended method | |---------|-------------------| | CLI tool, local script | Polling (default) | | Backend server, serverless | Webhooks | | Real-time UI, SPA | WebSockets |

Step 2: Configure based on method

Polling (default)

No configuration needed. Use /request-status/{id} endpoint. Already built into all deAPI commands.

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Poll every 10 seconds until status = "done".

Webhooks

Add webhook_url to any request:

{
  "prompt": "...",
  "webhook_url": "https://your-server.com/webhooks/deapi"
}

Events received:

  • job.completed - contains result_url
  • job.failed - contains error_code

Security: Verify signature in X-DeAPI-Signature header (HMAC-SHA256).

Full docs: https://docs.deapi.ai/execution-modes-and-integrations/webhooks

WebSockets

Connect via Pusher protocol for real-time updates:

| Setting | Value | |---------|-------| | Host | soketi.deapi.ai:443 | | Channel | private-client.{client_id} | | Event | request.status.updated |

Includes live preview images during generation.

Full docs: https://docs.deapi.ai/execution-modes-and-integrations/websockets

Step 3: Generate boilerplate

Based on user's choice, generate starter code for their stack.

Webhook handler (Node.js/Express):

app.post('/webhooks/deapi', (req, res) => {
  const signature = req.headers['x-deapi-signature'];
  // Verify signature with your webhook secret

  const { event, request_id, result_url, error } = req.body;

  if (event === 'job.completed') {
    // Process result from result_url
  } else if (event === 'job.failed') {
    // Handle error
  }

  res.status(200).send('OK');
});

Webhook handler (Python/FastAPI):

from fastapi import FastAPI, Request, Header

app = FastAPI()

@app.post("/webhooks/deapi")
async def deapi_webhook(
    request: Request,
    x_deapi_signature: str = Header(None)
):
    # Verify signature with your webhook secret
    body = await request.json()

    if body["event"] == "job.completed":
        result_url = body["result_url"]
        # Process result
    elif body["event"] == "job.failed":
        error = body["error"]
        # Handle error

    return {"status": "ok"}

WebSocket client (JavaScript):

import Pusher from 'pusher-js';

const pusher = new Pusher('your-app-key', {
  wsHost: 'soketi.deapi.ai',
  wsPort: 443,
  forceTLS: true,
  disableStats: true,
  enabledTransports: ['ws', 'wss']
});

const channel = pusher.subscribe(`private-client.${clientId}`);

channel.bind('request.status.updated', (data) => {
  if (data.status === 'done') {
    // Fetch result from data.result_url
  }
});

Error handling

| Error | Action | |-------|--------| | Webhook timeout | Retry with exponential backoff (1s, 2s, 4s) | | Invalid signature | Verify webhook secret matches dashboard config | | WebSocket disconnect | Reconnect with backoff, resubscribe to channel | | 401 on polling | Check DEAPI_API_KEY is valid | | Missing result_url | Job may still be processing, continue polling |

When to suggest this skill

Proactively suggest /deapi-setup when user mentions:

  • Building a web app with deAPI
  • Server-side integration
  • Real-time UI updates
  • Production deployment

File v1.0.8:commands/embed.md


name: embed description: Generate text embeddings for semantic search and similarity argument-hint: <text>

Text Embeddings via deAPI

Generate embeddings for: $ARGUMENTS

Step 1: Validate input

Verify $ARGUMENTS contains text to embed:

  • Text should not be empty
  • Maximum recommended length: 8192 tokens
  • For longer texts, consider chunking

Step 2: Send request

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2embedding" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "$ARGUMENTS",
    "model": "Bge_M3_FP16"
  }'

Model info: | Model | Dimensions | Best for | |-------|------------|----------| | Bge_M3_FP16 | 1024 | High accuracy, semantic search, multilingual |

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get embedding vector from response
  2. Show vector dimensions and sample values
  3. Offer to save or use the embedding

Output format:

{
  "embedding": [0.123, -0.456, 0.789, ...],
  "dimensions": 1024,
  "model": "Bge_M3_FP16"
}

Step 5: Offer follow-up

Ask user:

  • "Would you like to embed more text for comparison?"
  • "Should I calculate similarity between embeddings?"
  • "Would you like to save these embeddings to a file?"

Use cases

  • Semantic search: Find similar documents
  • Clustering: Group related content
  • RAG: Retrieval-augmented generation
  • Recommendations: Content similarity

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Empty text | Ask user to provide text to embed | | Text too long | Suggest chunking into smaller segments |

File v1.0.8:commands/generate-audio.md


name: generate-audio description: Convert text to speech using 54+ AI voices in 8 languages argument-hint: <text> [--voice af_bella]

Text-to-Speech via deAPI

Generate audio from text: $ARGUMENTS

Step 1: Parse arguments

Extract from $ARGUMENTS:

  • text: The text to convert to speech (required)
  • --voice: Voice ID (default: af_bella)

54+ voices in 8 languages. Voice ID format: {lang}{gender}_{name}

  • Lang: a=American, b=British, j=Japanese, z=Chinese, e=Spanish, f=French, h=Hindi, i=Italian, p=Portuguese
  • Gender: f=female, m=male

Popular voices: | Voice ID | Language | Description | |----------|----------|-------------| | af_bella | American EN | Warm, friendly (best quality) | | af_heart | American EN | Expressive, emotional | | af_nicole | American EN | Professional | | af_sarah | American EN | Casual | | am_adam | American EN | Deep, authoritative | | am_michael | American EN | Energetic | | bf_emma | British EN | Elegant (best British) | | bf_isabella | British EN | Refined | | bm_george | British EN | Sophisticated | | jf_alpha | Japanese | Natural Japanese female | | zf_xiaobei | Chinese | Mandarin female | | ef_dora | Spanish | Spanish female | | ff_siwis | French | French female (best quality) | | hf_alpha | Hindi | Hindi female | | if_sara | Italian | Italian female | | pf_dora | Portuguese | Brazilian Portuguese female |

Full list: Kokoro VOICES.md

Step 2: Send request

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2audio" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "{text}",
    "voice": "{voice}",
    "model": "Kokoro",
    "lang": "{lang_code}",
    "speed": 1.0,
    "format": "mp3",
    "sample_rate": 24000
  }'

Parameters: | Parameter | Default | Description | |-----------|---------|-------------| | lang | auto from voice | Language code: en-us, en-gb, ja, zh, es, fr, hi, it, pt-br | | speed | 1.0 | Speech speed (0.5-2.0) | | format | mp3 | Output format: mp3, wav, flac, ogg | | sample_rate | 24000 | Sample rate: 22050, 24000, 44100, 48000 |

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get audio URL from result_url
  2. Provide download link to user
  3. Show audio duration if available

Step 5: Offer follow-up

Ask user:

  • "Would you like to try a different voice?"
  • "Should I generate this in another language?"
  • "Would you like to adjust the text?"

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Empty text | Ask user to provide text to convert | | Invalid voice | Show available voices, ask user to choose | | Text too long | Suggest splitting into smaller segments |

File v1.0.8:commands/generate-image.md


name: generate-image description: Generate images from text prompts using Flux Klein, Flux Schnell, or ZImageTurbo models argument-hint: <prompt> [--model klein|flux|turbo] [--size 512|768|1024]

Image Generation via deAPI

Generate image from prompt: $ARGUMENTS

Step 1: Parse arguments

Extract from $ARGUMENTS:

  • prompt: The text description (required)
  • --model: klein (default, recommended), flux (higher max resolution), or turbo (fastest)
  • --size: 512, 768, or 1024 (default: 1024). Klein supports up to 1536.

Step 2: Send request

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2img" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "{prompt}",
    "model": "{model_name}",
    "width": {size},
    "height": {size},
    "steps": {steps},
    "seed": {random_seed}
  }'

Model mapping: | User flag | API model name | Steps | Max size | Info | |-----------|----------------|-------|----------|------| | klein (default) | Flux_2_Klein_4B_BF16 | 4 (fixed) | 1536 | Recommended, txt2img + img2img, multi-image | | flux | Flux1schnell | 4-10 (default: 4) | 2048 | Higher max resolution | | turbo | ZImageTurbo_INT8 | 4-10 (default: 4) | 1024 | Fastest |

Klein model limits:

  • Resolution: 256-1536px (step: 16)
  • Steps: 4 (fixed)
  • Guidance: not supported (parameter ignored)

Important: Generate a random seed (0-999999) for each request.

Note: Klein does not support guidance parameter - omit it or it will be ignored.

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get image URL from result_url
  2. Display/download the generated image
  3. Show the image to the user

Step 5: Offer follow-up

Ask user:

  • "Would you like variations with a modified prompt?"
  • "Should I upscale this image?"
  • "Would you like to transform this with additional images?" (Klein supports up to 3 input images in img2img)

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Empty prompt | Ask user to provide a description | | NSFW rejected | Inform user, suggest alternative prompt |

File v1.0.8:commands/generate-video.md


name: generate-video description: Generate videos from text prompts or animate images argument-hint: <prompt-or-image-url> [--mode text|image]

Video Generation via deAPI

Generate video: $ARGUMENTS

Step 1: Determine mode and parse arguments

Auto-detect mode:

  • If $ARGUMENTS starts with http โ†’ Image-to-Video (img2video)
  • Otherwise โ†’ Text-to-Video (txt2video)

Override with --mode:

  • --mode text: Force text-to-video
  • --mode image: Force image-to-video

Step 2: Send request

For Text-to-Video:

curl -s -X POST "https://api.deapi.ai/api/v1/client/txt2video" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "{prompt}",
    "duration": 4,
    "fps": 24,
    "model": "Ltxv_13B_0_9_8_Distilled_FP8"
  }'

For Image-to-Video (animation):

curl -s -X POST "https://api.deapi.ai/api/v1/client/img2video" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "{image_url}",
    "motion_prompt": "gentle movement, cinematic",
    "duration": 4,
    "fps": 24
  }'

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again (video generation can take 1-3 minutes)
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get video URL from result_url
  2. Provide download link to user
  3. Show video details (duration, resolution)

Step 5: Offer follow-up

Ask user:

  • "Would you like to generate a longer version?"
  • "Should I try a different motion style?"
  • "Would you like to generate more variations?"

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Empty prompt | Ask user to provide a description | | Invalid image URL | Verify URL is accessible and points to an image | | Timeout (>5min) | Inform user, video generation is resource-intensive |

File v1.0.8:commands/ocr.md


name: ocr description: Extract text from images using AI-powered OCR argument-hint: <image-url>

OCR (Image to Text) via deAPI

Extract text from image: $ARGUMENTS

Step 1: Validate input

Verify $ARGUMENTS is a valid image file path or URL:

  • Supported formats: .png, .jpg, .jpeg, .webp, .gif, .bmp
  • If URL provided, download the file first

Step 2: Send request

Note: This endpoint requires multipart/form-data with file upload.

curl -s -X POST "https://api.deapi.ai/api/v1/client/img2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{local_file_path}" \
  -F "model=Nanonets_Ocr_S_F16"

If user provides a URL, first download the image:

curl -s -o /tmp/ocr_image.png "{image_url}"

Then use /tmp/ocr_image.png as the file path.

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get extracted text from response or result_url
  2. Present text in clean, formatted manner
  3. Preserve original structure (paragraphs, lists) where possible

Step 5: Offer follow-up

Ask user:

  • "Would you like me to summarize this text?"
  • "Should I translate this to another language?"
  • "Would you like to extract text from another image?"

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Invalid URL | Ask user to verify the image URL | | No text found | Inform user the image may not contain readable text | | Image too large | Suggest resizing or cropping the image |

File v1.0.8:commands/remove-bg.md


name: remove-bg description: Remove background from images using AI argument-hint: <image-url>

Background Removal via deAPI

Remove background from image: $ARGUMENTS

Step 1: Validate input

Verify $ARGUMENTS is a valid image file path or URL:

  • Supported formats: .png, .jpg, .jpeg, .webp
  • If URL provided, download the file first
  • Best results with clear subject/foreground

Step 2: Send request

Note: This endpoint requires multipart/form-data with file upload.

curl -s -X POST "https://api.deapi.ai/api/v1/client/img-rmbg" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{local_file_path}" \
  -F "model=Ben2"

If user provides a URL, first download the image:

curl -s -o /tmp/rmbg_image.png "{image_url}"

Then use /tmp/rmbg_image.png as the file path.

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get processed image URL from result_url
  2. Result is PNG with transparent background
  3. Provide download link to user

Step 5: Offer follow-up

Ask user:

  • "Would you like to add a new background color?"
  • "Should I process another image?"
  • "Would you like to resize the result?"

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Invalid URL | Ask user to verify the image URL | | No subject detected | Image may lack clear foreground; suggest different image | | Image too large | Suggest resizing before processing |

File v1.0.8:commands/transcribe.md


name: transcribe description: Transcribes video/audio from URLs (YouTube, X, mp3, mp4, wav) using Whisper AI argument-hint: <url>

Transcription via deAPI

Transcribe media from URL: $ARGUMENTS

Step 1: Determine endpoint

| URL type | Endpoint | |----------|----------| | .mp3, .wav, .m4a, .flac, .ogg | aud2txt | | YouTube, X, .mp4, .webm, other video | vid2txt |

Step 2: Send request

For video:

curl -s -X POST "https://api.deapi.ai/api/v1/client/vid2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "$ARGUMENTS", "include_ts": true, "model": "WhisperLargeV3"}'

For audio:

curl -s -X POST "https://api.deapi.ai/api/v1/client/aud2txt" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"audio_url": "$ARGUMENTS", "include_ts": true, "model": "WhisperLargeV3"}'

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done", fetch content from result_url and present transcription in readable format with timestamps.

Step 5: Offer follow-up

Ask user: "Would you like me to summarize the main points?"

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Invalid URL | Ask user to verify the URL format | | Timeout (>5min) | Inform user, suggest trying shorter content |

File v1.0.8:commands/transform-image.md


name: transform-image description: Transform images with style transfer and AI modifications argument-hint: <image-url> <style-prompt> [--model klein|qwen]

Image Transformation via deAPI

Transform image: $ARGUMENTS

Step 1: Parse arguments

Extract from $ARGUMENTS:

  • image_url: URL(s) to source image(s) - Klein supports up to 3 images (required)
  • style_prompt: Description of desired transformation (required)
  • --model: klein (default, faster, multi-image) or qwen (higher steps, more control)

Example style prompts:

  • "convert to watercolor painting"
  • "make it look like a vintage photograph"
  • "transform into anime style"
  • "add cyberpunk neon aesthetic"
  • "combine these images into one scene" (multi-image with Klein)

Step 2: Send request

Note: This endpoint requires multipart/form-data with file upload.

If user provides URL(s), first download the image(s):

curl -s -o /tmp/transform_image1.png "{image_url_1}"
curl -s -o /tmp/transform_image2.png "{image_url_2}"  # optional
curl -s -o /tmp/transform_image3.png "{image_url_3}"  # optional

Then send the transformation request:

curl -s -X POST "https://api.deapi.ai/api/v1/client/img2img" \
  -H "Authorization: Bearer $DEAPI_API_KEY" \
  -F "image=@{local_file_path_1}" \
  -F "image=@{local_file_path_2}" \
  -F "image=@{local_file_path_3}" \
  -F "prompt={style_prompt}" \
  -F "model={model_name}" \
  -F "guidance={guidance}" \
  -F "steps={steps}" \
  -F "seed={random_seed}"

Model mapping: | User flag | API model name | Steps | Guidance | Max images | Info | |-----------|----------------|-------|----------|------------|------| | klein (default) | Flux_2_Klein_4B_BF16 | 4 (fixed) | ignored | 3 | Faster, multi-image support | | qwen | QwenImageEdit_Plus_NF4 | 10-50 (default: 20) | 7.5 | 1 | More control, higher fidelity |

Klein model limits:

  • Resolution: 256-1536px (step: 16)
  • Steps: 4 (fixed)
  • Guidance: not supported
  • Max input images: 3

Parameters: | Parameter | Klein | Qwen | Description | |-----------|-------|------|-------------| | guidance | ignored | 7.5 | Prompt adherence (1-20) | | steps | 4 (fixed) | 20 | Inference steps | | seed | random | random | For reproducibility (0-999999) |

Step 3: Poll status (feedback loop)

Extract request_id from response, then poll every 10 seconds:

curl -s "https://api.deapi.ai/api/v1/client/request-status/{request_id}" \
  -H "Authorization: Bearer $DEAPI_API_KEY"

Status handling:

  • processing โ†’ wait 10s, poll again
  • done โ†’ proceed to Step 4
  • failed โ†’ report error message to user, STOP

Step 4: Fetch and present result

When status = "done":

  1. Get transformed image URL from result_url
  2. Display before/after comparison if possible
  3. Provide download link to user

Step 5: Offer follow-up

Ask user:

  • "Would you like to try a different style?"
  • "Should I add more input images?" (Klein only, up to 3)
  • "Would you like to upscale the result?"

Error handling

| Error | Action | |-------|--------| | 401 Unauthorized | Check if $DEAPI_API_KEY is set correctly | | 429 Rate Limited | Wait 60s and retry | | 500 Server Error | Wait 30s and retry once | | Invalid URL | Ask user to verify the image URL | | Missing prompt | Ask user to describe desired transformation | | Too many images | Klein max 3, Qwen max 1 | | NSFW rejected | Inform user, suggest alternative style |

API & Reliability

Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.

MissingCLAWHUB

Machine interfaces

Contract & API

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/snapshot"
curl -s "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/contract"
curl -s "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/trust"

Operational fit

Reliability & Benchmarks

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Machine Appendix

Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.

MissingCLAWHUB

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "CLAWHUB",
      "generatedAt": "2026-04-17T06:23:17.023Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Clawhub",
    "href": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceUrl": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "876 downloads",
    "href": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceUrl": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:45:39.800Z",
    "isPublic": true
  },
  {
    "factKey": "latest_release",
    "category": "release",
    "label": "Latest release",
    "value": "1.0.9",
    "href": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceUrl": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceType": "release",
    "confidence": "medium",
    "observedAt": "2026-02-13T18:24:49.020Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-zrewolwerowanykaloryfer-deapi/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "release",
    "title": "Release 1.0.9",
    "description": "Reverted to 1.0.6",
    "href": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceUrl": "https://clawhub.ai/zrewolwerowanykaloryfer/deapi",
    "sourceType": "release",
    "confidence": "medium",
    "observedAt": "2026-02-13T18:24:49.020Z",
    "isPublic": true
  }
]

Sponsored

Ads related to Deapi Github and adjacent AI workflows.