Modelslab : Generate Video, Images, LLMs using CLI and APIs
Access ModelsLab's full AI platform via CLI and APIs to generate images, videos, audio, 3D models, deepfakes, manage accounts, billing, and discover AI models.
Rank
62
Safety
84
Downloads
954
Updated
Oct 12, 2026
Version
1.0.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 954 downloads reported by the source. Last updated 10/12/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 12, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 12, 2026
- Adoption signal
- 954 downloadsadoption · observed Oct 12, 2026
- Latest release
- 1.0.0release · observed Mar 4, 2026
- Handshake status
- UNKNOWNsecurity
What changed
Newest first. Only changes that point at a source are listed.
Release 1.0.0release
Initial release of the ModelsLab agent skills. - Provides official agent skills for ModelsLab's comprehensive AI API platform. - Enables image, video, audio, 3D, deepfake, and interior design AI generation. - Adds account management, billing, model discovery, webhooks, and SDK usage skills. - Includes installation instructions and example usage prompts. - Links to documentation, dashboard, and support resources.
Observed Mar 4, 2026 · source
Install and run
Setup complexity: low.
clawhub skill install s177qwwwne234qs95ksymtyrqd885rha:modelslab- Install using `clawhub skill install s177qwwwne234qs95ksymtyrqd885rha:modelslab` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/adhikjoshi/modelslab before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-adhikjoshi-modelslab/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
141,745 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
3d-generation/SKILL.md
---
name: modelslab-3d-generation
description: Generate 3D models and objects from text prompts or images using ModelsLab's 3D API. Transform 2D images into 3D representations or create 3D objects from text descriptions.
---
# ModelsLab 3D Generation
Transform text descriptions and 2D images into 3D models using AI-powered 3D generation.
## When to Use This Skill
- Generate 3D models from text descriptions
- Convert 2D images to 3D representations
- Create 3D assets for games or applications
- Prototype 3D objects quickly
- Generate 3D product mockups
- Create 3D characters from photos
## Available Endpoints
### Text to 3D
`POST https://modelslab.com/api/v6/3d/text_to_3d`
### Image to 3D
`POST https://modelslab.com/api/v6/3d/image_to_3d`
## Text to 3D
```python
import requests
import time
def text_to_3d(prompt, api_key, num_inference_steps=50):
"""Generate a 3D object from a text prompt.
Args:
prompt: Text description of the 3D object
api_key: Your ModelsLab API key
num_inference_steps: Quality (higher = better, slower)
Returns:
URL of the 3D model file
"""
response = requests.post(
"https://modelslab.com/api/v6/3d/text_to_3d",
json={
"key": api_key,
"prompt": prompt,
"num_inference_steps": num_inference_steps
}
)
data = response.json()
if data["status"] == "error":
raise Exception(f"Error: {data['message']}")
if data["status"] == "success":
return data["output"][0]
# 3D generation is async - poll for results
request_id = data["id"]
print(f"3D generation started... Request ID: {request_id}")
print(f"ETA: {data.get('eta', 'unknown')} seconds")
return poll_3d_result(request_id, api_key)
def poll_3d_result(request_id, api_key, timeout=600):
"""Poll for 3D generation results."""
start_time = time.time()
while time.time() - start_time < timeout:
fetch = requests.post(
f"https://modelslab.com/api/v6/3d/fetch/{request_id}",
json={"key": api_key}
)
result = fetch.json()
if result["status"] == "success":
return result["output"][0]
elif result["status"] == "failed":
raise Exception(result.get("message", "Generation failed"))
print(f"Status: processing... ({int(time.time() - start_time)}s elapsed)")
time.sleep(10)
raise Exception("Timeout waiting for 3D generation")
# Usage
model_url = text_to_3d(
"A medieval sword with ornate handle and detailed engravings",
"your_api_key",
num_inference_steps=50
)
print(f"3D model ready: {model_url}")
```
## Image to 3D
```python
def image_to_3d(image_url, api_key):
"""Convert a 2D image into a 3D model.
Args:
image_url: URL of the 2D image
api_key: Your ModelsLab API key
Returns:
URL of the generated 3D model
"""
response = requests.post(
"https://modelaccount-management/SKILL.md
---
name: modelslab-account-management
description: Manage ModelsLab accounts programmatically — signup, login, token management, profile updates, API key CRUD, and team member management. Uses the Agent Control Plane API with bearer token auth.
---
# ModelsLab Account Management
Manage the full ModelsLab account lifecycle via the Agent Control Plane API — authentication, tokens, profile, API keys, and teams.
## When to Use This Skill
- Sign up or log in to ModelsLab programmatically
- Create and manage API keys for generation endpoints
- Update user profile, password, or social links
- Manage access tokens (list, revoke, switch team accounts)
- Invite, update, or remove team members
- Build agent workflows that need account bootstrapping
## Authentication
The Agent Control Plane uses **bearer tokens** (not API keys). Some endpoints (signup, login, forgot-password) work without a token.
```
Base URL: https://modelslab.com/api/agents/v1
Authorization: Bearer <agent_access_token>
```
## Auth: Signup & Login
### Sign Up
```python
import requests
def signup(email, password, name=None):
"""Create a new ModelsLab account."""
response = requests.post(
"https://modelslab.com/api/agents/v1/auth/signup",
json={
"email": email,
"password": password,
"name": name or ""
}
)
data = response.json()
if "error" in data:
raise Exception(data["error"])
return data["data"] # Contains access_token
# Usage
result = signup("agent@example.com", "securepass123", "My Agent")
token = result["access_token"]
print(f"Signed up! Token: {token}")
```
### Log In
```python
def login(email, password, token_expiry="1_month"):
"""Log in and get a bearer token.
Args:
token_expiry: "1_week", "1_month" (default), "3_months", "never"
"""
response = requests.post(
"https://modelslab.com/api/agents/v1/auth/login",
json={
"email": email,
"password": password,
"device_name": "my-agent",
"token_expiry": token_expiry
}
)
data = response.json()
if "error" in data:
raise Exception(data["error"])
return data["data"]["access_token"]
# Usage
token = login("agent@example.com", "securepass123")
```
### Logout
```python
def logout(token):
"""Revoke current token."""
requests.post(
"https://modelslab.com/api/agents/v1/auth/logout",
headers={"Authorization": f"Bearer {token}"}
)
def logout_all(token):
"""Revoke all tokens for this account."""
requests.post(
"https://modelslab.com/api/agents/v1/auth/logout-all",
headers={"Authorization": f"Bearer {token}"}
)
```
### Verify Email (Headless)
After signup, the user receives a `verification_code` via email. Verify without a browser:
```python
def verify_email(verification_code):
"""Verify email with the code from the verification email.
Returns an access_token anaudio-generation/SKILL.md
---
name: modelslab-audio-generation
description: Generate speech, music, and sound effects using ModelsLab's v7 Voice API. Supports text-to-speech, speech-to-text, speech-to-speech, music generation, sound effects, dubbing, song extension, and song inpainting via ElevenLabs and Inworld models.
---
# ModelsLab Audio Generation
Generate high-quality audio including speech, music, voice conversion, sound effects, and dubbing using AI.
## When to Use This Skill
- Convert text to natural-sounding speech (TTS)
- Transcribe speech to text
- Transform voice characteristics (speech-to-speech)
- Generate music from text prompts
- Create sound effects
- Dub audio into different languages
- Extend or inpaint songs
- Build voice assistants or audiobooks
## Available APIs (v7)
### Voice Endpoints
- **Text to Speech**: `POST https://modelslab.com/api/v7/voice/text-to-speech`
- **Speech to Text**: `POST https://modelslab.com/api/v7/voice/speech-to-text`
- **Speech to Speech**: `POST https://modelslab.com/api/v7/voice/speech-to-speech`
- **Music Generation**: `POST https://modelslab.com/api/v7/voice/music-gen`
- **Sound Generation**: `POST https://modelslab.com/api/v7/voice/sound-generation`
- **Create Dubbing**: `POST https://modelslab.com/api/v7/voice/create-dubbing`
- **Song Extender**: `POST https://modelslab.com/api/v7/voice/song-extender`
- **Song Inpaint**: `POST https://modelslab.com/api/v7/voice/song-inpaint`
- **Fetch Result**: `POST https://modelslab.com/api/v7/voice/fetch/{id}`
> **Note**: v6 endpoints (`/api/v6/voice/text_to_speech`, etc.) still work but v7 is the current version. Parameter names have changed in v7 (e.g., `text` is now `prompt`, `audio` is now `init_audio`).
## Discovering Audio Models
```bash
# Search audio/voice models
modelslab models search --feature audio_gen
# Search by provider
modelslab models search --search "eleven"
# Get model details
modelslab models detail --id eleven_multilingual_v2
```
## Audio Model IDs
| model_id | Name | Use With |
|----------|------|----------|
| `eleven_multilingual_v2` | ElevenLabs Multilingual v2 | text-to-speech |
| `eleven_english_sts_v2` | ElevenLabs Voice Changer | speech-to-speech |
| `scribe_v1` | ElevenLabs Scribe | speech-to-text |
| `eleven_sound_effect` | ElevenLabs Sound Effects | sound-generation |
| `music_v1` | ElevenLabs Music | music-gen |
| `inworld-tts-1` | Inworld TTS | text-to-speech |
## Text to Speech
```python
import requests
import time
def text_to_speech(text, api_key, voice_id="21m00Tcm4TlvDq8ikWAM", model_id="eleven_multilingual_v2"):
"""Convert text to speech.
Args:
text: The text to convert to speech
api_key: Your ModelsLab API key
voice_id: ElevenLabs voice ID (see Available Voices below)
model_id: TTS model to use
"""
response = requests.post(
"https://modelslab.com/api/v7/voice/text-to-speech",
json={
"key": api_key,
"prompt": text, # v7 uses "prombilling-subscriptions/SKILL.md
---
name: modelslab-billing-subscriptions
description: Manage ModelsLab billing, wallet balance, payment methods, subscriptions, invoices, and coupons programmatically via the Agent Control Plane API.
---
# ModelsLab Billing & Subscriptions
Manage billing, wallet funding, payment methods, subscriptions, and coupons via the Agent Control Plane API.
## When to Use This Skill
- Check wallet balance and fund it
- Set up auto-recharge for wallets
- Manage payment methods (add, set default, remove)
- Create payment links for human-assisted checkout
- Confirm Stripe Checkout sessions (wallet funding or subscriptions)
- View and download invoices
- Create, upgrade, pause, or resume subscriptions
- Validate and redeem coupons
- Update billing information (address, tax ID)
## Authentication
All billing endpoints require a bearer token.
```
Base URL: https://modelslab.com/api/agents/v1
Authorization: Bearer <agent_access_token>
```
Get a token via the `modelslab-account-management` skill or `POST /auth/login`.
## Helper
```python
import requests
BASE = "https://modelslab.com/api/agents/v1"
def headers(token):
return {"Authorization": f"Bearer {token}"}
```
## Billing Overview
```python
def get_billing_overview(token):
"""Get billing overview — balance, active subscriptions, recent charges."""
resp = requests.get(f"{BASE}/billing/overview", headers=headers(token))
return resp.json()["data"]
# Usage
overview = get_billing_overview(token)
print(f"Wallet balance: ${overview.get('wallet_balance', 0)}")
```
## Three Payment Paths
ModelsLab supports three ways for agents to handle payments:
| Path | Best For | Flow |
|------|----------|------|
| **Headless** | Autonomous agents with card data | `GET /billing/stripe-config` -> tokenize via Stripe API -> pass `payment_method_id` to fund/subscribe |
| **Setup Intent** | Save a card for reuse without immediate charge | `POST /billing/setup-intent` -> confirm with Stripe -> reuse `payment_method_id` for future fund/subscribe |
| **Human-Assisted** | Agents that cannot handle card data directly | `POST /billing/payment-link` -> forward URL to human -> human pays on Stripe Checkout -> poll `confirm-checkout` |
## Stripe Config
Fetch the Stripe publishable key dynamically instead of hardcoding it. Useful for agents that need to tokenize cards client-side.
```python
def get_stripe_config(token):
"""Get the Stripe publishable key for client-side card tokenization.
Returns:
publishable_key: Stripe publishable key (pk_...)
instructions: Usage guidance from the API
"""
resp = requests.get(f"{BASE}/billing/stripe-config", headers=headers(token))
return resp.json()["data"]
# Usage
config = get_stripe_config(token)
stripe_pk = config["publishable_key"] # e.g., "pk_live_..."
```
> **Tip:** The publishable key is safe to embed in agent code — it can only create tokens, never charge directly. You can either fetch it dynamically via this endpoint or use the chat-generation/SKILL.md
---
name: modelslab-chat-generation
description: Chat with LLM models using ModelsLab's OpenAI-compatible Chat Completions API. Supports 60+ models including DeepSeek R1, Meta Llama, Google Gemini, Qwen, and Mistral with streaming, function calling, and structured outputs.
---
# ModelsLab Chat/LLM Generation
Send chat completions to 60+ LLM models through a single OpenAI-compatible endpoint.
## When to Use This Skill
- Chat with AI models (DeepSeek, Llama, Gemini, Qwen, Mistral)
- Build conversational AI applications
- Generate text completions with system prompts
- Use function/tool calling with LLMs
- Stream responses for real-time output
- Get structured JSON responses
## API Endpoint
**Chat Completions**: `POST https://modelslab.com/api/v7/llm/chat/completions`
The endpoint follows the OpenAI chat completions format, making it easy to switch from OpenAI or use the OpenAI SDK.
## Quick Start
```python
import requests
def chat(message, api_key, model="meta-llama-3-8B-instruct"):
"""Send a chat completion request.
Args:
message: The user message
api_key: Your ModelsLab API key
model: LLM model ID (use modelslab models search --feature llmaster to find models)
"""
response = requests.post(
"https://modelslab.com/api/v7/llm/chat/completions",
json={
"key": api_key,
"model_id": model,
"messages": [
{"role": "user", "content": message}
],
"max_tokens": 200,
"temperature": 0.7
}
)
data = response.json()
if "choices" in data:
return data["choices"][0]["message"]["content"]
else:
raise Exception(f"Error: {data.get('message', 'Unknown error')}")
# Usage
reply = chat(
"Explain quantum computing in simple terms.",
"your_api_key"
)
print(reply)
```
## With System Prompt
```python
def chat_with_system(system_prompt, message, api_key, model="meta-llama-3-8B-instruct"):
"""Chat with a system prompt for role/behavior control."""
response = requests.post(
"https://modelslab.com/api/v7/llm/chat/completions",
json={
"key": api_key,
"model_id": model,
"messages": [
{"role": "system", "content": system_prompt},
{"role": "user", "content": message}
],
"max_tokens": 500,
"temperature": 0.7
}
)
data = response.json()
if "choices" in data:
return data["choices"][0]["message"]["content"]
# Usage
reply = chat_with_system(
"You are a Python expert. Give concise code examples.",
"How do I read a CSV file?",
"your_api_key"
)
```
## Multi-Turn Conversation
```python
def conversation(messages, api_key, model="meta-llama-3-8B-instruct"):
"""Send a multi-turn conversation."""
response = requests.post(
"https://modelslab.com/api/v7/llm/chat/completions",
json={
"key": apAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
- Card JSON
- Facts JSON
- Snapshot JSON
- Contract JSON
- Trust JSON
- Changes JSON
- Warnings JSON
- Seen by JSON
- Disagreements JSON
- Proof JSON
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/adhikjoshi/skills/modelslab",
"sourceUrl": "https://clawhub.ai/adhikjoshi/skills/modelslab",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-12T02:32:36.252Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-adhikjoshi-modelslab/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-adhikjoshi-modelslab/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-12T02:32:36.252Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "954 downloads",
"href": "https://clawhub.ai/adhikjoshi/modelslab",
"sourceUrl": "https://clawhub.ai/adhikjoshi/modelslab",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-12T02:32:36.252Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.0",
"href": "https://clawhub.ai/adhikjoshi/modelslab",
"sourceUrl": "https://clawhub.ai/adhikjoshi/modelslab",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-03-04T20:03:38.830Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-adhikjoshi-modelslab/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-adhikjoshi-modelslab/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.0",
"description": "Initial release of the ModelsLab agent skills. - Provides official agent skills for ModelsLab's comprehensive AI API platform. - Enables image, video, audio, 3D, deepfake, and interior design AI generation. - Adds account management, billing, model discovery, webhooks, and SDK usage skills. - Includes installation instructions and example usage prompts. - Links to documentation, dashboard, and support resources.",
"href": "https://clawhub.ai/adhikjoshi/modelslab",
"sourceUrl": "https://clawhub.ai/adhikjoshi/modelslab",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-03-04T20:03:38.830Z",
"isPublic": true
}
]
}Record generated Oct 13, 2026.
For crawlers
This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.
- One record, as JSON: card, facts, snapshot, contract, trust, changes, warnings, seen by, disagreements, proof.
- Every agent, one feed: /.well-known/ai-catalog.json
- What this site sells, and the price: /.well-known/x402
- Paid run-check: /api/v1/agents/clawhub-adhikjoshi-modelslab/run-check
