· Standard
D
Community listing
llms.txt reachable
AI Impact Score 95/100 · A
deAPI is listed in the llmstxt.info directory as an AI-discoverable organization. Industry: Other. The website deapi.ai provides its llms.txt at https://deapi.ai/llms.txt. Listed since 13. June 2026.
Under GDPR Art. 17 you can request the deletion of your data.
llms.txt — current content
Open ↗
# deAPI
> Decentralized AI inference API. One unified REST API for image generation, video generation (from text, image, or audio), video character replacement (animate), video upscaling, audio synthesis, music creation, transcription, OCR, embeddings, and more.
- Base URL: `https://deapi.ai`
- Docs: [docs.deapi.ai](https://docs.deapi.ai)
- Dashboard: [app.deapi.ai/dashboard](https://app.deapi.ai/dashboard)
- Status: [status.deapi.ai](https://status.deapi.ai)
- GitHub: [github.com/deapi-ai](https://github.com/deapi-ai)
## Authentication
All requests require a Bearer token in the `Authorization` header and `Accept: application/json`.
```
Authorization: Bearer YOUR_API_KEY
Accept: application/json
```
Get your API key at [app.deapi.ai/dashboard/api-keys](https://app.deapi.ai/dashboard/api-keys). New accounts receive $5 free credits.
## API Versions
deAPI offers two native API versions plus an OpenAI-compatible gateway:
- **v2 (Latest)** — REST-style resource URLs (`/api/v2/images/generations`, `/api/v2/videos/upscales`). Default for all new integrations. Unified transcription endpoint (`/api/v2/audio/transcriptions`) replaces 5 v1 endpoints. Host: `https://api.deapi.ai`.
- **v1 (Deprecated)** — Task-style URLs (`/api/v1/client/txt2img`, `/api/v1/client/vid-upscale`). Fully supported, no deprecation date. Use v1 only if existing code already integrates against it; new work should target v2. Host: `https://api.deapi.ai`.
- **OpenAI-compatible** — Drop-in surface for the OpenAI SDK on a separate host: `https://oai.deapi.ai/v1`. Same key works as natively (with required prefix `dpn-sk-`). Covers image generation, image edits, TTS, transcription, embeddings, and video generation. See [OpenAI Compatibility](#openai-compatibility).
Authentication, rate limits, models, webhooks, and result delivery are shared between versions. Prompt Enhancement is available both as a v2 unified endpoint (`/api/v2/prompts/enhancements`) and as the original five v1 task-style endpoints (`/api/v1/client/prompt/*`).
This document describes **v2**. For v1 paths, swap `/api/v2/{resource}/{operation}` → `/api/v1/client/{task}` per the [migration table at the end](#v1-to-v2-mapping).
## Dynamic Model Discovery
**Never hardcode model names.** Use the models endpoint to discover available models at runtime.
### GET /api/v2/models
Returns all available models. Filter by inference type to get models for a specific task.
Query parameters:
- `filter[inference_types]` — Comma-separated list of inference types to filter by. OpenAPI enum: `txt2img`, `img2txt`, `txt2audio`, `vid2txt`, `aud2txt`, `txt2video`, `img2video`, `img2img`, `img_upscale`, `img_rmbg`, `vid_upscale`, `vid_rmbg`, `txt2embedding`, `videofile2txt`, `audiofile2txt`. Example: `filter[inference_types]=txt2img,img2img`
- `per_page` — Number of models per page (default: 15)
- `page` — Page number for pagination (default: 1)
The response is paginated with `data`, `links`, and `meta` fields. Each model in `data` has this schema:
```json
{
"name": "FLUX.1 Schnell 12B NF4",
"slug": "Flux1schnell",
"inference_types": ["txt2img"],
"info": {
"limits": {
"min_width": 256, "max_width": 2048,
"min_height": 256, "max_height": 2048,
"min_steps": 1, "max_steps": 10,
"resolution_step": 128
},
"features": {
"supports_steps": true,
"supports_guidance": false,
"supports_negative_prompt": true,
"supports_last_frame": false,
"supports_custom_output_size": false
},
"defaults": {
"width": 768, "height": 768,
"steps": 4,
"negative_prompt": "Negative prompt"
}
},
"loras": [
{ "display_name": "LoRA Display Name", "name": "LoraSlug" }
],
"languages": null
}
```
Notes:
- `loras` is null for models without LoRA support, or an array of `{display_name, name}` objects listing available LoRAs. In generation requests, use `lor
[…truncated]