Our API is OpenAI Compatible, which means that you can plug it into hundreds of third party tools like Claude Code and OpenWebUI, even with non-OpenAI models. To check on costs, see Account Activity.
For questions or support, please use the chat widget in the bottom right!
For AI agents and coding assistants, see our llms.txt.
No API keys found. Create your first API key
https://api.ppq.aiThis is the URL you want to set if plugging into a third party tool or software
POST https://api.ppq.ai/chat/completionsThis is the URL you want to set if you are calling our Chat API from custom code you've written.
Model Name | Model ID | Provider | Max Context | Date Added | Input Rate | Output Rate | Average Cost | Prompts / $1 |
|---|---|---|---|---|---|---|---|---|
| No models available | ||||||||
Model Name | Model ID | Provider | Max Context | Date Added | Input Rate | Output Rate | Average Cost | Prompts / $1 |
|---|---|---|---|---|---|---|---|---|
| No models available | ||||||||
A list of our current models, model attributes, and pricing.
import requests
url = "https://api.ppq.ai/v1/models"
response = requests.get(url)
print(response.json())import requests
api_key = "YOUR_API_KEY"
url = "https://api.ppq.ai/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
data = {
"model": "claude-3.5-sonnet",
"messages": [{"role": "user", "content": "Hello, how are you?"}]
}
response = requests.post(url, json=data, headers=headers)
print(response.json())Any model can be given real-time web access by including a plugins array in your request. Before your query reaches the AI model, a web search is performed and the results are injected into the prompt, giving the model real-time context to work with.
plugins array to your request body with the web plugin:id*Plugin identifier. Use "web" for web search.max_resultsNumber of web search results to retrieve and inject into the model's context (default: 5). More results provide broader context but increase token usage.The search engine used depends on the model:
curl -X POST https://api.ppq.ai/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer null" \
-d '{
"model": "claude-sonnet-4-5",
"plugins": [{"id": "web", "max_results": 5}],
"messages": [{"role": "user", "content": "What is the weather in Omaha, Nebraska right now?"}]
}'Convert audio to text using our OpenAI-compatible transcription API. Powered by Deepgram Nova-3 for high-quality, accurate transcriptions.
POST https://ppq.ai/api/v1/audio/transcriptionsmp3, mp4, mpeg, mpga, m4a, wav, webm (max 25MB)
file*The audio file to transcribemodelModel to use: "nova-3" (default) or "nova-2"response_formatFormat: json, text, srt, vtt, or verbose_json (default: json)languageLanguage code (e.g., "en", "es", "fr") or "multi" for auto-detectpromptOptional text to guide the model's stylefrom openai import OpenAI
# Initialize client with PayPerQ API
client = OpenAI(
api_key="null",
base_url="https://ppq.ai/api/v1"
)
# Transcribe audio file
with open("audio.mp3", "rb") as audio_file:
transcription = client.audio.transcriptions.create(
model="nova-3", # Deepgram Nova-3
file=audio_file,
response_format="json" # Options: json, text, srt, vtt, verbose_json
)
print(transcription.text)Convert text to natural-sounding speech using our OpenAI-compatible TTS API. Powered by DeepGram Aura for high-quality voice synthesis.
POST https://ppq.ai/api/v1/audio/speechinput*The text to convert to speech (max 2000 characters)modelModel to use: "deepgram_aura_2" (default)voiceDeepGram Aura voice ID (default: aura-2-arcas-en)aura-2-arcas-enArcas - Natural, Smooth, Clearaura-2-thalia-enThalia - Clear, Confident, Energeticaura-2-andromeda-enAndromeda - Casual, Expressiveaura-2-helena-enHelena - Caring, Natural, Friendlyaura-2-apollo-enApollo - Confident, Comfortableaura-2-aries-enAries - Warm, Energetic, Caringfrom openai import OpenAI
# Initialize client with PayPerQ API
client = OpenAI(
api_key="null",
base_url="https://ppq.ai/api/v1"
)
# Generate speech from text
response = client.audio.speech.create(
model="deepgram_aura_2",
voice="aura-2-arcas-en", # Natural, Smooth, Clear
input="Hello, welcome to PayPerQ!"
)
# Save to file
response.stream_to_file("output.mp3")The PayPerQ API allows users to programmatically create deposit invoices and top up their account balances using various payment methods including Bitcoin (Lightning), Bitcoin (on-chain), Monero, Litecoin, and Liquid Bitcoin.
Create a topup invoice for the specified payment method.
Methods: btc-lightning, btc, ltc, lbtc, xmr
curl -X POST https://api.ppq.ai/topup/create/btc-lightning \
-H "Authorization: Bearer null" \
-H "Content-Type: application/json" \
-d '{"amount": 1000, "currency": "SATS"}' # Also supports "BTC" and "USD" as currencyCheck the status of a topup invoice.
curl -X GET https://api.ppq.ai/topup/status/BTCPayInvoiceId123 \
-H "Authorization: Bearer null"Get a list of all supported payment methods with their limits and supported currencies.
curl -X GET https://api.ppq.ai/topup/payment-methodsCreate a new account, which returns a new credit_id and an api_key.
curl -X POST https://api.ppq.ai/accounts/createGet the current credit balance for your account.
curl -X POST "https://api.ppq.ai/credits/balance" \
-H "Content-Type: application/json" \
-d '{"credit_id":"4af59b9d-f6ec-4531-82f7-ce776d49e207"}'curl -X POST https://api.ppq.ai/topup/create/btc \
-H "api-key: null" \
-H "Content-Type: application/json" \
-d '{"amount": 0.001, "currency": "BTC"}'curl -X POST https://api.ppq.ai/topup/create/xmr \
-H "Authorization: Bearer null" \
-H "Content-Type: application/json" \
-d '{"amount": 50.00, "currency": "USD"}'