Introduction
The Bumi Digital API lets you generate images, videos, and audio, and upscale media using state-of-the-art AI models. Every request is authenticated with an API key and follows a consistent request/response shape, making it straightforward to integrate into any language or framework.
Base URL
All endpoints share a single base URL. Prepend it to every path in this documentation.
https://bumi.digitalAvailable Model Families
Bumi Digital exposes four model families, each with its own endpoint:
- Image Generation — text-to-image and reference-image models. See Image API.
- Video Generation — text-to-video and image-to-video. See Video API.
- Audio Generation — TTS, music, and speech. See Audio API.
- Upscale — image and video upscaling. See Upscale API.
Workflow
A typical integration follows these four steps:
1. Create an API Key
Open Settings → Profile and click New API Key to generate a unique key. Give it a descriptive name (e.g. "Production App", "Development", "Testing"), then copy the generated key — the format is bd_xxxxxxxxxxxx. Store it securely and never share it publicly.
2. Authenticate Your Requests
Include the key in the Authorization header on every request:
Authorization: Bearer YOUR_API_KEYSee Authentication for full details.
3. Upload Reference Files (Optional)
If a model needs an image, video, or audio reference, upload the file first to receive a URL you can pass into the model parameters. See Upload Files.
4. Call a Generation Endpoint
Send a POST request to the appropriate generation endpoint with a model_id and parameters payload. Generation is asynchronous — read Webhooks to learn how to receive the result.
Public Community Workflows API
All active API keys can use published workflows, even while the Community Workflows and Creator Studio dashboard UI is restricted. Every endpoint requires Authorization: Bearer bd_YOUR_API_KEY. Creator/draft operations are not public.
GET /api/v1/workflows— approved workflows from approved creators; optionallimit(1–50) andfinal_output_type.GET /api/v1/workflows/WORKFLOW_ID— metadata and input nodes; use each node'sconfig.input.keyas the input property.POST /api/v1/workflows/WORKFLOW_ID/execute— start a run with a requiredIdempotency-Keyheader (oridempotency_keybody property).GET /api/v1/workflow-runs/RUN_ID— poll your run without starting the next stage.POST /api/v1/workflow-runs/RUN_ID/continue— explicitly start the next stage when the current stage has completed.
curl -X POST "https://bumi.digital/api/v1/workflows/WORKFLOW_ID/execute" \
-H "Authorization: Bearer bd_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-workflow-request-001" \
-d '{"input":{"prompt":"A tropical landscape"}}'Use the input keys from the workflow detail response, not necessarily prompt. The response contains workflow_run and status_url; active execution returns HTTP 202. Poll until a stage finishes, then call continue to proceed, repeating until the run is COMPLETED or FAILED. Output entries contain generation_id, status, output_url, and text. Only the API key owner's runs can be retrieved. Reusing the same key and input does not create another run; changing input with the same key returns 409. The creator-test: prefix is reserved. Credits are reserved per stage and failed-stage reservations are refunded by the shared workflow engine. Estimated prices are not a guaranteed final charge. No workflow webhooks, rerun, or text-edit endpoints are provided by this API.
Pricing
Every model costs a fixed or parameter-dependent amount of credits per generation. The full price list is available programmatically via the Models & Pricing endpoint, and you can check your live credit balance at any time using the Credits & Balance endpoint.