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.

All services running smoothly

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:

https://web-production-9a18.up.railway.app

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
B2B Safety Rule: Never run these calls on client-side layers (like your frontend HTML, client iOS/Android applications, etc.). Always route API calls through your secure backend proxy to keep your private key hidden.

Pricing & Credit Mechanics

Predictable pay-as-you-go credit billing built for high scaling.

Scale Price

$0.005
per credit (₦5 = 1 Credit)
  • ₦1,000 top-up minimum
  • Automatic billing transitions
  • Safe payment routing

Free credits

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.

POST /api/developer/philadelphia/chat 3 Credits

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.

POST /api/developer/bobby/chat 3 Credits

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.

POST /api/developer/vision/analyze 3 Credits

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.

POST /api/developer/generate-image 12 - 18 Credits

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.

POST /api/developer/remove-background 4 Credits

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.

POST /api/developer/generate-music 30 Credits

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.

POST /api/developer/seraphina/voice 30 Credits

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.

POST /api/developer/generate-video-from-text 32 Credits / sec

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.

POST /api/developer/generate-video-from-image 32 Credits / sec

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.

POST /api/developer/generate-video-from-frames 192 Credits (6s)

Subject Consistency (S2V)

Generate dynamic video loops locked strictly to a custom character subject photo.

POST /api/developer/generate-video-subject 192 Credits (6s)

Universal Video Status Poller

Diligently poll progress on video tasks returned by the endpoints above. No cost is charged for status polls.

GET /api/video/status?task_id=YOUR_TASK_ID 0 Credits

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.