Elvion Developer Suite
Integrated, high-performance endpoints. Power your applications with advanced reasoning chat, multimodal vision, cinematic frame rendering, studio audio synthesis, and image generation.
Developer Key Sync
Paste your developer API key here. It will automatically synchronize across all interactive playgrounds on this page so you don't have to keep re-entering it.
Introduction
Welcome to Elvion AI's programmatic B2B Gateway.
This documentation contains complete API specifications and interactive testing consoles for all core developer endpoints. All endpoints share a single base URL:
Agentic Reasoning
Philadelphia handles multi-turn agentic thinking natively. Outclasses basic completion models for strategy, logic, and planning.
Philadelphia Video
Power high-resolution Text-to-Video, Image-to-Video, and Subject Consistency generation directly in your workflows.
Studio Audio Suite
Generate fully composed music tracks or remarkably realistic voice recordings with custom Seraphina voice models.
Quick Start
Initiate your first API call to Philadelphia Chat in under 60 seconds.
1. Generate Your Credentials
Log into the Developer Dashboard, go to API Management, and allocate an API key (costing 100 credits).
2. Call Philadelphia Chat
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/philadelphia/chat" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Give me a 3-step action plan to launch a coffee brand in Lagos.",
"system_prompt": "You are a helpful business advisor."
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/philadelphia/chat"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"message": "Give me a 3-step action plan to launch a coffee brand in Lagos."
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/philadelphia/chat";
const apiKey = "YOUR_API_KEY";
async function getPlan() {
const res = await fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
message: "Give me a 3-step action plan to launch a coffee brand in Lagos."
})
});
const json = await res.json();
console.log(json);
}
Authentication
All developer API calls must authenticate using your project API keys.
Incorporate your active key in the HTTP Authorization header for every single request:
Authorization: Bearer elv_sec_yourPrivateKeyHere
Pricing & Credit Mechanics
Predictable pay-as-you-go credit billing built for high scaling.
Scale Price
- ₦1,000 top-up minimum
- Automatic billing transitions
- Safe payment routing
Core API Costs
- Philadelphia Chat — 3 Credits
- Bobby Chat — 3 Credits
- Vision Analysis — 3 Credits
- Philadelphia V1 Image — 12 Credits
- Philadelphia V2 Image — 18 Credits
- Background Removal — 4 Credits
- Music Generation — 30 Credits
- Seraphina Voice — 30 Credits
- Philadelphia Video — 32 Credits / sec
Free credits
- Try Elvion with free credits on your dashboard
- Request extra test credits via email: elvionailabs@gmail.com
- Or WhatsApp: API GIFT
Philadelphia Chat
Philadelphia is an elite reasoning engine. Chats like a pro, is exceptionally skilled at writing code structures, stays fully current with events, and naturally searches the live web to generate highly accurate responses.
Request Payload
| Field | Type | Description |
|---|---|---|
| messageRequired | string | Latest user prompt or request. |
| historyOptional | array | List of previous message objects containing role ("user"/"assistant") and content. |
| system_promptOptional | string | Custom system instruction to steer the AI's persona. |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/philadelphia/chat" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Write a 3-step action plan to launch a coffee brand in Lagos.",
"system_prompt": "You are a helpful business advisor."
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/philadelphia/chat"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"message": "Write a 3-step action plan to launch a coffee brand in Lagos."
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/philadelphia/chat";
const apiKey = "YOUR_API_KEY";
async function callPhiladelphia() {
const res = await fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
message: "Write a 3-step action plan to launch a coffee brand in Lagos."
})
});
const data = await res.json();
console.log(data);
}
Playground: Philadelphia Chat
Bobby Chat
Bobby is your friendly, steady, and dependeable swift AI companion. A reliable partner for ideation, general reflection, coding and brainstorming.
Request Payload
| Field | Type | Description |
|---|---|---|
| promptRequired | string | Instructions or questions for Bobby. |
| systemPromptOptional | string | Overriding behavioral guidelines. |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/bobby/chat" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Write a short sci-fi story about an offline robot in a high-tech city.",
"systemPrompt": "You are a creative author."
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/bobby/chat"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"prompt": "Write a short sci-fi story about an offline robot in a high-tech city."
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/bobby/chat";
const apiKey = "YOUR_API_KEY";
async function callBobby() {
const res = await fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "Write a short sci-fi story about an offline robot in a high-tech city."
})
});
const data = await res.json();
console.log(data);
}
Playground: Bobby Chat
Vision Analysis
Expose a secure multi-modal vision gateway to inspect images or videos natively. This engine evaluates frame pixels directly to provide deep analysis.
Form Data Payload
| Key | Type | Description |
|---|---|---|
| fileRequired | binary file | The media asset to upload (Images or Videos only). Non-media files will return a 400 Bad Request. |
| promptOptional | string | Analyze prompt instructions. Defaults to "Analyze this media in detail." |
Code Examples (Multipart Form Data)
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/vision/analyze" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "prompt=Describe the items in this image." \
-F "file=@/path/to/your/image.jpg"
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/vision/analyze"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"prompt": "Describe the items in this image."}
with open("image.jpg", "rb") as file:
files = {"file": file}
response = requests.post(url, headers=headers, data=data, files=files)
print(response.json())
const fs = require('fs');
const FormData = require('form-data');
const url = "https://web-production-9a18.up.railway.app/api/developer/vision/analyze";
const apiKey = "YOUR_API_KEY";
const form = new FormData();
form.append("prompt", "Describe the items in this image.");
form.append("file", fs.createReadStream("image.jpg"));
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`
},
body: form
}).then(res => res.json()).then(console.log);
Playground: Vision
Image Generation
Seamlessly trigger base64 image generation payloads. Choose Philadelphia V1 for highly stylized artistic concepts, or Philadelphia V2 for photorealism and fine detail. With how breathtaking V1 is with images, especially with text on images, you may not even need V2.
Request Payload
| Field | Type | Description |
|---|---|---|
| promptRequired | string | Creative text description of the image asset. |
| use_minimaxOptional | boolean | Set true to use Philadelphia V2 (costs 18 credits) instead of Philadelphia V1 (costs 12 credits). |
| modelOptional | string | Philadelphia V1 model ID. Options: v6, photoreal, movie, anime, anime_core, illustration, realistic, max, ultra, pro, v8, v7, portrait, photoreal2, animereal, radiant, animecinematic, noir, nyx, pixel, rewave, analog, pastel, toonish, apex. |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/generate-image" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A futuristic city in the clouds, digital art",
"use_minimax": false,
"model": "v6"
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/generate-image"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {
"prompt": "A futuristic city in the clouds, digital art",
"use_minimax": False,
"model": "v6"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/generate-image";
const apiKey = "YOUR_API_KEY";
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "A futuristic city in the clouds, digital art",
use_minimax: false,
model: "v6"
})
}).then(res => res.json()).then(console.log);
Playground: Image Gen
Remove Background
Instantly extract transparent background assets for developer integration.
Form Data Payload
| Key | Type | Description |
|---|---|---|
| fileRequired | binary file | The target image file. Returns a base64 PNG payload. |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/remove-background" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@/path/to/your/image.jpg"
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/remove-background"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
with open("image.jpg", "rb") as file:
files = {"file": file}
response = requests.post(url, headers=headers, files=files)
print(response.json())
const fs = require('fs');
const FormData = require('form-data');
const url = "https://web-production-9a18.up.railway.app/api/developer/remove-background";
const apiKey = "YOUR_API_KEY";
const form = new FormData();
form.append("file", fs.createReadStream("image.jpg"));
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`
},
body: form
}).then(res => res.json()).then(console.log);
Playground: Remove BG
Music Generation
Compose highly expressive, rich, and professionally mastered music tracks programmatically.
Request Payload
| Field | Type | Description |
|---|---|---|
| promptRequired | string | The genre, instrumentation, and overall vibe of the song. |
| lyricsOptional | string | Optional lyrics to embed inside the song. |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/generate-music" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "An upbeat Afrobeats summer track with heavy saxophone",
"lyrics": "Oya dance for me now"
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/generate-music"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
data = {
"prompt": "An upbeat Afrobeats summer track with heavy saxophone",
"lyrics": "Oya dance for me now"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/generate-music";
const apiKey = "YOUR_API_KEY";
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "An upbeat Afrobeats summer track with heavy saxophone",
lyrics: "Oya dance for me now"
})
}).then(res => res.json()).then(console.log);
Playground: Create Music
Seraphina Voice Gen
Synthesize unbelievably realistic speech with premium vocals using the specialized Seraphina audio engine. Supports over 40 languages. Type in Hindi, French, or Chinese—the engine pronounces excellently.
Request Payload
| Field | Type | Description |
|---|---|---|
| textRequired | string | The actual script to vocalize into speech. |
| voice_idOptional | string | Select voice style (e.g., ceo, narrator, anime, movie, elder, knight, sweet, lovely, casual, gentle, hero, cute, boy, elegant, friendly, inspire). |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/seraphina/voice" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Welcome to Elvion AI, the future of intelligence.",
"voice_id": "ceo"
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/seraphina/voice"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
data = {
"text": "Welcome to Elvion AI, the future of intelligence.",
"voice_id": "ceo"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/seraphina/voice";
const apiKey = "YOUR_API_KEY";
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
text: "Welcome to Elvion AI, the future of intelligence.",
voice_id: "ceo"
})
}).then(res => res.json()).then(console.log);
Playground: Seraphina Voice
Text to Video (T2V)
Render text descriptions into cinematic, seamless, and high-fidelity motion sequences using the Philadelphia Video Engine.
Request Payload
| Field | Type | Description |
|---|---|---|
| promptRequired | string | The motion scene description. |
| durationOptional | integer | Length in seconds (6 or 10). Defaults to 6. |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/generate-video-from-text" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cinematic pan of a golden eagle soaring",
"duration": 6
}'
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/generate-video-from-text"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
data = {
"prompt": "A cinematic pan of a golden eagle soaring",
"duration": 6
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://web-production-9a18.up.railway.app/api/developer/generate-video-from-text";
const apiKey = "YOUR_API_KEY";
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "A cinematic pan of a golden eagle soaring",
duration: 6
})
}).then(res => res.json()).then(console.log);
Playground: Text to Video
Image to Video (I2V)
Inject starting frame images to direct cinematic animations via the Philadelphia Video Engine.
Form Data Payload
| Key | Type | Description |
|---|---|---|
| fileRequired | binary file | Starting image asset file (PNG/JPG). |
| promptRequired | string | Motion directions (e.g. "make the background stars twinkle, camera zoom in"). |
Code Examples
curl -X POST "https://web-production-9a18.up.railway.app/api/developer/generate-video-from-image" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "prompt=Make the background stars twinkle" \
-F "duration=6" \
-F "file=@/path/to/your/image.jpg"
import requests
url = "https://web-production-9a18.up.railway.app/api/developer/generate-video-from-image"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"prompt": "Make the background stars twinkle", "duration": 6}
with open("image.jpg", "rb") as file:
files = {"file": file}
response = requests.post(url, headers=headers, data=data, files=files)
print(response.json())
const fs = require('fs');
const FormData = require('form-data');
const url = "https://web-production-9a18.up.railway.app/api/developer/generate-video-from-image";
const apiKey = "YOUR_API_KEY";
const form = new FormData();
form.append("prompt", "Make the background stars twinkle");
form.append("duration", "6");
form.append("file", fs.createReadStream("image.jpg"));
fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`
},
body: form
}).then(res => res.json()).then(console.log);
Playground: Image to Video
Frame Interpolation (FL2V)
Interpolate movements smoothly by specifying the exact first and last frame image files.
Subject Consistency (S2V)
Generate dynamic video loops locked strictly to a custom character subject photo.
Universal Video Status Poller
Diligently poll progress on video tasks returned by the endpoints above. No cost is charged for status polls.
Code Examples
curl -X GET "https://web-production-9a18.up.railway.app/api/video/status?task_id=YOUR_TASK_ID"
import requests
task_id = "YOUR_TASK_ID"
url = f"https://web-production-9a18.up.railway.app/api/video/status?task_id={task_id}"
response = requests.get(url)
print(response.json())
const taskId = "YOUR_TASK_ID";
const url = `https://web-production-9a18.up.railway.app/api/video/status?task_id=${taskId}`;
fetch(url)
.then(res => res.json())
.then(console.log);
Playground: Video Status
Error Handling
Predictable error payloads designed to ease logging integration layers.
| Status Code | Reason | Description |
|---|---|---|
| 400 | Bad Request | Payload missing mandatory parameters or contains unsupported media extensions. |
| 401 | Unauthorized | Authentication key is invalid or lacks necessary bearer structure. |
| 402 | Payment Required | User credit balance is lower than the active endpoint call requirements. |
FAQ
General questions from builders integrating our APIs.
- What is the difference between Philadelphia and Bobby Chat?
Philadelphia is our flagship model. Chats like a pro, is exceptionally skilled with writing code architectures, stays fully current with real-time events, and naturally searches the live web for accurate context. Bobby is no less, your friendly, dependable casual companion with an incredibly swift response. - Are images or videos generated via the API watermarked?
No. Unlike images generated through the public studio platform, all media generated via the Developer Suite API is completely unwatermarked for seamless white-label integration into your own products. - What file formats does the Vision API support?
The Vision Analysis endpoint supports images (JPEG, PNG, WEBP) and videos (MP4, MOV). It will reject other file formats. - How long does Video Generation usually take?
It depends on server load, but standard Philadelphia Video tasks (6 seconds) usually take between 2 to 4 minutes to render completely. Always implement the `/api/video/status` poller using a loop with a 15-20 second delay. - Do credits expire?
No. Generated developer credits remain inside your balance pools permanently until spent. - Can I use these APIs for commercial purposes?
Yes! You are completely free to build commercial SaaS applications, tools, and platforms on top of the Elvion Developer Suite. - How can I obtain free test credits?
Send an email request directly to our labs team at elvionailabs@gmail.com. - Are there additional benefits?
Yes! Free credits upon funding wallet, discounted offers, access to support anytime, access to BETA new features first.