Oatda list models
Skill devcsde/oatda-openclaw-skills/skills/oatda-list-models
OpenClaw skills for OATDA's unified LLM API gateway — text, vision, image, video, audio (TTS/STT/translation). 10+ providers, 100+ models, 1 API key.
npx -y skills add devcsde/oatda-openclaw-skills --skill oatda-list-modelsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
List and filter AI models from OATDA's unified gateway — ChatGPT/GPT-5, Claude Sonnet 4.5, Gemini 3, Grok 4, Qwen3, Kimi K2.7, GLM-5, and 100+ more across 10+ providers. Triggers when the user wants to see available models, pick the right LLM for a task, discover provider-specific parameters for image/video/audio generation, or filter by capability (chat/image/video/audio/vision) and provider. Ideal for model discovery, pricing comparison, and capability lookup before calling other OATDA skills.
SKILL.md
6.3 KB, as published. Nobody here has run it
OATDA List Models
List all available AI models from OATDA's providers with optional filtering.
API Key Resolution
All commands need the OATDA API key. Resolve it inline for each exec call:
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}"
If the key is empty or null, tell the user to get one at https://oatda.com and configure it.
Security: Never print the full API key. Only verify existence or show first 8 chars.
API Calls
All requests are GET. Add query parameters to filter.
List all models
export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X GET "https://oatda.com/api/v1/llm/models" \
-H "Authorization: Bearer $OATDA_API_KEY"
Filter by type
?type=chat— Text/chat models?type=image— Image generation models?type=video— Video generation models?type=audio— Speech, transcription, and translation models
Filter by provider
?provider=openai?provider=anthropic?provider=google?provider=bytedance?provider=deepseek- etc.
Combine filters
curl -s -X GET "https://oatda.com/api/v1/llm/models?type=image&provider=openai" \
-H "Authorization: Bearer $OATDA_API_KEY"
Discover model-specific parameters
Image, video, and audio models include supported_params describing model-specific options:
# Image model params
curl -s -X GET "https://oatda.com/api/v1/llm/models?type=image" \
-H "Authorization: Bearer $OATDA_API_KEY" | jq '.image_models[] | {id, supported_params}'
# Video model params
curl -s -X GET "https://oatda.com/api/v1/llm/models?type=video" \
-H "Authorization: Bearer $OATDA_API_KEY" | jq '.video_models[] | {id, supported_params}'
# Specific provider's video params
curl -s -X GET "https://oatda.com/api/v1/llm/models?type=video&provider=bytedance" \
-H "Authorization: Bearer $OATDA_API_KEY" | jq '.video_models[] | select(.model | contains("seedance")) | .supported_params'
# Audio model params
curl -s -X GET "https://oatda.com/api/v1/llm/models?type=audio" \
-H "Authorization: Bearer $OATDA_API_KEY" | jq '.audio_models[] | {id, supported_params}'
Response Format
{
"total": 42,
"filter": {"type": "all", "provider": null},
"chatModels": [
{"id": "provider/model-name", "provider": "...", "model": "...", "displayName": "..."}
],
"imageModels": [
{
"id": "provider/model-name",
"provider": "...",
"model": "...",
"displayName": "...",
"supported_params": {
"style": {"type": "string", "values": ["vivid", "natural"], "default": "vivid"}
}
}
],
"videoModels": [
{
"id": "provider/model-name",
"provider": "...",
"model": "...",
"displayName": "...",
"supported_params": {
"ratio": {"type": "string", "values": ["16:9", "9:16", "1:1"], "default": "16:9"},
"duration": {"type": "string", "values": ["5", "10"], "default": "5"},
"generate_audio": {"type": "boolean", "default": false, "optional": true},
"first_frame_image": {"type": "file", "accept": "image/*", "optional": true}
}
}
],
"audio_models": [
{
"id": "provider/model-name",
"provider": "...",
"model_name": "...",
"display_name": "...",
"supported_params": {
"audio_modes": ["tts", "transcription", "translation"],
"voice": {"type": "string", "values": ["alloy", "nova", "shimmer"]},
"response_format": {"type": "string", "values": ["mp3", "wav", "json", "srt", "vtt"]}
}
}
]
}
Understanding supported_params
Each parameter has:
type:string,number,boolean, orfilevalues: Allowed values for enumsdefault: Default valuedescription: What it doesoptional: Whether requiredaccept: Forfiletypes — accepted MIME types (e.g.,"image/*")min/max: Range constraints for numbers
File-type params (e.g., mask, first_frame_image, last_frame_image) require public HTTPS URLs, not local paths.
Audio modes: Audio models may support one or more modes such as tts, transcription, and translation. Use that to choose the right workflow:
tts→oatda-generate-speechtranscription→oatda-transcribe-audiotranslation→oatda-translate-audio
Presenting Results
Format models by category. Use the actual data returned by the API — do not hardcode model names.
Chat Models (N total):
provider/model-name— Display Name
Image Models (N total):
provider/model-name— Display Name
Video Models (N total):
provider/model-name— Display Name
Audio Models (N total):
provider/model-name— Display Name
Error Handling
| HTTP Status | Meaning | Action |
|---|---|---|
| 401 | Invalid API key | Tell user to check their key |
| 429 | Rate limited | Wait and retry |
Notes
- This is a GET request — no request body
- The
idfield (e.g.,openai/gpt-4o) is the model identifier used in other OATDA skills - Use
supported_paramsto discover model-specific parameters before generating - For file-type params, provide publicly accessible URLs
- Audio models may expose
audio_modes, supported voices, and output formats - Related skills:
oatda-text-completion,oatda-generate-image,oatda-generate-video,oatda-generate-speech,oatda-transcribe-audio,oatda-translate-audio,oatda-vision-analysis