const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
provider_options: {},
model: '<string>',
prompts: ['<string>'],
items: [{}],
system: '<string>',
max_tokens: 123,
temperature: 123,
input_file_id: '<string>',
requests: [
{
body: JSON.stringify({}),
custom_id: '<string>',
method: 'POST',
url: '<string>'
}
],
completion_window: '<string>',
metadata: {},
session_id: '<string>',
webhook_endpoint_id: '<string>',
debug: {
enabled: true,
return_upstream_request: true,
return_upstream_response: true,
trace: true
},
provider: {
order: ['<string>'],
only: ['<string>'],
ignore: ['<string>'],
include_alpha: true,
allow_fallbacks: true,
require_parameters: true,
required_execution_region: '<string>',
required_data_region: '<string>',
require_zero_data_retention: true,
zdr: true,
enforce_distillable_text: true,
quantizations: ['<string>'],
sort: '<string>',
max_price: {prompt: 123, completion: 123, image: 123, audio: 123, request: 123},
preferred_min_throughput: 123,
preferred_max_latency: 123
}
})
};
fetch('https://api.phaseo.app/v1/batches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.phaseo.app/v1/batches"
payload = {
"provider_options": {},
"model": "<string>",
"prompts": ["<string>"],
"items": [{}],
"system": "<string>",
"max_tokens": 123,
"temperature": 123,
"input_file_id": "<string>",
"requests": [
{
"body": {},
"custom_id": "<string>",
"method": "POST",
"url": "<string>"
}
],
"completion_window": "<string>",
"metadata": {},
"session_id": "<string>",
"webhook_endpoint_id": "<string>",
"debug": {
"enabled": True,
"return_upstream_request": True,
"return_upstream_response": True,
"trace": True
},
"provider": {
"order": ["<string>"],
"only": ["<string>"],
"ignore": ["<string>"],
"include_alpha": True,
"allow_fallbacks": True,
"require_parameters": True,
"required_execution_region": "<string>",
"required_data_region": "<string>",
"require_zero_data_retention": True,
"zdr": True,
"enforce_distillable_text": True,
"quantizations": ["<string>"],
"sort": "<string>",
"max_price": {
"prompt": 123,
"completion": 123,
"image": 123,
"audio": 123,
"request": 123
},
"preferred_min_throughput": 123,
"preferred_max_latency": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.phaseo.app/v1/batches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"provider_options": {},
"model": "<string>",
"prompts": [
"<string>"
],
"items": [
{}
],
"system": "<string>",
"max_tokens": 123,
"temperature": 123,
"input_file_id": "<string>",
"requests": [
{
"body": {},
"custom_id": "<string>",
"method": "POST",
"url": "<string>"
}
],
"completion_window": "<string>",
"metadata": {},
"session_id": "<string>",
"webhook_endpoint_id": "<string>",
"debug": {
"enabled": true,
"return_upstream_request": true,
"return_upstream_response": true,
"trace": true
},
"provider": {
"order": [
"<string>"
],
"only": [
"<string>"
],
"ignore": [
"<string>"
],
"include_alpha": true,
"allow_fallbacks": true,
"require_parameters": true,
"required_execution_region": "<string>",
"required_data_region": "<string>",
"require_zero_data_retention": true,
"zdr": true,
"enforce_distillable_text": true,
"quantizations": [
"<string>"
],
"sort": "<string>",
"max_price": {
"prompt": 123,
"completion": 123,
"image": 123,
"audio": 123,
"request": 123
},
"preferred_min_throughput": 123,
"preferred_max_latency": 123
}
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.phaseo.app/v1/batches"
payload := strings.NewReader("{\n \"provider_options\": {},\n \"model\": \"<string>\",\n \"prompts\": [\n \"<string>\"\n ],\n \"items\": [\n {}\n ],\n \"system\": \"<string>\",\n \"max_tokens\": 123,\n \"temperature\": 123,\n \"input_file_id\": \"<string>\",\n \"requests\": [\n {\n \"body\": {},\n \"custom_id\": \"<string>\",\n \"method\": \"POST\",\n \"url\": \"<string>\"\n }\n ],\n \"completion_window\": \"<string>\",\n \"metadata\": {},\n \"session_id\": \"<string>\",\n \"webhook_endpoint_id\": \"<string>\",\n \"debug\": {\n \"enabled\": true,\n \"return_upstream_request\": true,\n \"return_upstream_response\": true,\n \"trace\": true\n },\n \"provider\": {\n \"order\": [\n \"<string>\"\n ],\n \"only\": [\n \"<string>\"\n ],\n \"ignore\": [\n \"<string>\"\n ],\n \"include_alpha\": true,\n \"allow_fallbacks\": true,\n \"require_parameters\": true,\n \"required_execution_region\": \"<string>\",\n \"required_data_region\": \"<string>\",\n \"require_zero_data_retention\": true,\n \"zdr\": true,\n \"enforce_distillable_text\": true,\n \"quantizations\": [\n \"<string>\"\n ],\n \"sort\": \"<string>\",\n \"max_price\": {\n \"prompt\": 123,\n \"completion\": 123,\n \"image\": 123,\n \"audio\": 123,\n \"request\": 123\n },\n \"preferred_min_throughput\": 123,\n \"preferred_max_latency\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.phaseo.app/v1/batches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"provider_options\": {},\n \"model\": \"<string>\",\n \"prompts\": [\n \"<string>\"\n ],\n \"items\": [\n {}\n ],\n \"system\": \"<string>\",\n \"max_tokens\": 123,\n \"temperature\": 123,\n \"input_file_id\": \"<string>\",\n \"requests\": [\n {\n \"body\": {},\n \"custom_id\": \"<string>\",\n \"method\": \"POST\",\n \"url\": \"<string>\"\n }\n ],\n \"completion_window\": \"<string>\",\n \"metadata\": {},\n \"session_id\": \"<string>\",\n \"webhook_endpoint_id\": \"<string>\",\n \"debug\": {\n \"enabled\": true,\n \"return_upstream_request\": true,\n \"return_upstream_response\": true,\n \"trace\": true\n },\n \"provider\": {\n \"order\": [\n \"<string>\"\n ],\n \"only\": [\n \"<string>\"\n ],\n \"ignore\": [\n \"<string>\"\n ],\n \"include_alpha\": true,\n \"allow_fallbacks\": true,\n \"require_parameters\": true,\n \"required_execution_region\": \"<string>\",\n \"required_data_region\": \"<string>\",\n \"require_zero_data_retention\": true,\n \"zdr\": true,\n \"enforce_distillable_text\": true,\n \"quantizations\": [\n \"<string>\"\n ],\n \"sort\": \"<string>\",\n \"max_price\": {\n \"prompt\": 123,\n \"completion\": 123,\n \"image\": 123,\n \"audio\": 123,\n \"request\": 123\n },\n \"preferred_min_throughput\": 123,\n \"preferred_max_latency\": 123\n }\n}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phaseo.app/v1/batches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'provider_options' => [
],
'model' => '<string>',
'prompts' => [
'<string>'
],
'items' => [
[
]
],
'system' => '<string>',
'max_tokens' => 123,
'temperature' => 123,
'input_file_id' => '<string>',
'requests' => [
[
'body' => [
],
'custom_id' => '<string>',
'method' => 'POST',
'url' => '<string>'
]
],
'completion_window' => '<string>',
'metadata' => [
],
'session_id' => '<string>',
'webhook_endpoint_id' => '<string>',
'debug' => [
'enabled' => true,
'return_upstream_request' => true,
'return_upstream_response' => true,
'trace' => true
],
'provider' => [
'order' => [
'<string>'
],
'only' => [
'<string>'
],
'ignore' => [
'<string>'
],
'include_alpha' => true,
'allow_fallbacks' => true,
'require_parameters' => true,
'required_execution_region' => '<string>',
'required_data_region' => '<string>',
'require_zero_data_retention' => true,
'zdr' => true,
'enforce_distillable_text' => true,
'quantizations' => [
'<string>'
],
'sort' => '<string>',
'max_price' => [
'prompt' => 123,
'completion' => 123,
'image' => 123,
'audio' => 123,
'request' => 123
],
'preferred_min_throughput' => 123,
'preferred_max_latency' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.phaseo.app/v1/batches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"provider_options\": {},\n \"model\": \"<string>\",\n \"prompts\": [\n \"<string>\"\n ],\n \"items\": [\n {}\n ],\n \"system\": \"<string>\",\n \"max_tokens\": 123,\n \"temperature\": 123,\n \"input_file_id\": \"<string>\",\n \"requests\": [\n {\n \"body\": {},\n \"custom_id\": \"<string>\",\n \"method\": \"POST\",\n \"url\": \"<string>\"\n }\n ],\n \"completion_window\": \"<string>\",\n \"metadata\": {},\n \"session_id\": \"<string>\",\n \"webhook_endpoint_id\": \"<string>\",\n \"debug\": {\n \"enabled\": true,\n \"return_upstream_request\": true,\n \"return_upstream_response\": true,\n \"trace\": true\n },\n \"provider\": {\n \"order\": [\n \"<string>\"\n ],\n \"only\": [\n \"<string>\"\n ],\n \"ignore\": [\n \"<string>\"\n ],\n \"include_alpha\": true,\n \"allow_fallbacks\": true,\n \"require_parameters\": true,\n \"required_execution_region\": \"<string>\",\n \"required_data_region\": \"<string>\",\n \"require_zero_data_retention\": true,\n \"zdr\": true,\n \"enforce_distillable_text\": true,\n \"quantizations\": [\n \"<string>\"\n ],\n \"sort\": \"<string>\",\n \"max_price\": {\n \"prompt\": 123,\n \"completion\": 123,\n \"image\": 123,\n \"audio\": 123,\n \"request\": 123\n },\n \"preferred_min_throughput\": 123,\n \"preferred_max_latency\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"native_batch_id": "<string>",
"object": "<string>",
"endpoint": "<string>",
"errors": {},
"input_file_id": "<string>",
"completion_window": "<string>",
"status": "<string>",
"lifecycle_status": "pending",
"progress": 50,
"polling_url": "<string>",
"websocket_url": "<string>",
"cancel_url": "<string>",
"results_url": "<string>",
"output_file_id": "<string>",
"error_file_id": "<string>",
"created_at": 123,
"in_progress_at": 123,
"expires_at": 123,
"finalizing_at": 123,
"completed_at": 123,
"failed_at": 123,
"expired_at": 123,
"cancelling_at": 123,
"cancelled_at": 123,
"request_counts": {
"total": 123,
"completed": 123,
"failed": 123
},
"metadata": {},
"request_id": "<string>",
"provider": "<string>",
"session_id": "<string>",
"webhook": {
"url": "<string>",
"events": [
"<string>"
],
"has_secret": true,
"delivery": {
"total_attempts": 123,
"delivered_events": 123,
"delivered_event_types": [
"video.completed"
],
"pending_retries": 123,
"next_retry_at": "<string>",
"last_attempt_at": "<string>",
"last_attempt_status": "delivered",
"last_response_status": 123,
"last_delivered_at": "<string>",
"last_failure_at": "<string>",
"last_error_message": "<string>"
},
"attempts": [
{
"id": "<string>",
"delivery_key": "video.completed",
"event_type": "video.completed",
"status": "delivered",
"attempt_number": 123,
"max_attempts": 123,
"tried_at": "<string>",
"delivered_at": "<string>",
"next_retry_at": "<string>",
"response_status": 123,
"error_message": "<string>",
"response_body_preview": "<string>"
}
]
},
"next_webhook_retry_at": "<string>",
"last_webhook_progress": 123,
"last_webhook_progress_at": "<string>",
"last_webhook_dispatched_at": "<string>",
"finalized_at": "<string>",
"pricing_lines": [
{}
],
"usage": {
"requests": 123,
"input_tokens": 123,
"output_tokens": 123,
"total_tokens": 123,
"cost_nanos": 123,
"cost_usd": 123,
"currency": "<string>"
},
"billing": {
"currency": "<string>",
"billed": true,
"charged": true,
"reason": "<string>",
"state": "pending",
"reservation_id": "<string>",
"reservation_status": "<string>",
"estimated_provider_cost": "<string>",
"estimated_user_cost": "<string>",
"settled_provider_cost": "<string>",
"settled_user_cost": "<string>",
"estimated_nanos": 123,
"reserved_nanos": 123,
"estimation_truncated": true,
"estimation_sample_size": 123,
"estimation_total_rows": 123,
"total_nanos": 123,
"cost_nanos": 123,
"cost_usd": 123,
"finalized_at": "<string>",
"pricing_breakdown": {}
}
}{
"error": "error_type",
"ok": false,
"message": "Human-readable error message",
"description": "Additional error details.",
"generation_id": "G-abc123",
"status_code": 502,
"error_type": "system",
"error_origin": "upstream",
"reason": "all_candidates_failed",
"attempt_count": 2,
"failed_providers": [
"google-ai-studio",
"openai"
],
"failed_statuses": [
403,
429
],
"upstream_error": {
"code": "PERMISSION_DENIED",
"message": "The caller does not have permission.",
"description": "<string>",
"param": "<string>"
},
"failure_sample": [
{
"provider": "<string>",
"type": "<string>",
"status": 123,
"upstream_error_code": "<string>",
"upstream_error_message": "<string>",
"upstream_error_description": "<string>",
"upstream_error_param": "<string>",
"upstream_payload_preview": "<string>",
"retryable": true
}
],
"provider_failure_diagnostics": {
"category": "credentials_not_configured",
"hint": "<string>",
"provider": "<string>"
},
"routing_diagnostics": {
"filterStages": [
{
"stage": "<string>",
"beforeCount": 123,
"afterCount": 123,
"droppedProviders": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
}
]
},
"provider_candidate_diagnostics": {
"totalProviders": 123,
"supportsEndpointCount": 123,
"candidateCount": 123,
"droppedUnsupportedEndpoint": [
"<string>"
],
"droppedMissingAdapter": [
{
"providerId": "<string>",
"endpoint": "<string>"
}
]
},
"provider_enablement": {
"capability": "<string>",
"providersBefore": [
"<string>"
],
"providersAfter": [
"<string>"
],
"dropped": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
},
"missing_pricing_providers": [
"<string>"
],
"provider_payment_required_provider": "openai",
"provider_payment_required_support_notice": "Our upstream provider billing appears to be unavailable. If this persists, contact support.",
"details": [
{}
]
}إنشاء دفعة
ينشئ مهمة دفعة غير متزامنة ويرجع كائن الدفعة لدى المزوّد الأعلى. يدعم الإنشاء OpenAI وAnthropic وGoogle Gemini وMistral وxAI وGroq وTogether AI عبر model المطلوب. تستنتج البوابة المزوّد من النموذج وتقبل أيضاً session_id وwebhook لقابلية الرصد والإشعارات غير المتزامنة. استخدم provider فقط كقيد توجيه متقدم.
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
provider_options: {},
model: '<string>',
prompts: ['<string>'],
items: [{}],
system: '<string>',
max_tokens: 123,
temperature: 123,
input_file_id: '<string>',
requests: [
{
body: JSON.stringify({}),
custom_id: '<string>',
method: 'POST',
url: '<string>'
}
],
completion_window: '<string>',
metadata: {},
session_id: '<string>',
webhook_endpoint_id: '<string>',
debug: {
enabled: true,
return_upstream_request: true,
return_upstream_response: true,
trace: true
},
provider: {
order: ['<string>'],
only: ['<string>'],
ignore: ['<string>'],
include_alpha: true,
allow_fallbacks: true,
require_parameters: true,
required_execution_region: '<string>',
required_data_region: '<string>',
require_zero_data_retention: true,
zdr: true,
enforce_distillable_text: true,
quantizations: ['<string>'],
sort: '<string>',
max_price: {prompt: 123, completion: 123, image: 123, audio: 123, request: 123},
preferred_min_throughput: 123,
preferred_max_latency: 123
}
})
};
fetch('https://api.phaseo.app/v1/batches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.phaseo.app/v1/batches"
payload = {
"provider_options": {},
"model": "<string>",
"prompts": ["<string>"],
"items": [{}],
"system": "<string>",
"max_tokens": 123,
"temperature": 123,
"input_file_id": "<string>",
"requests": [
{
"body": {},
"custom_id": "<string>",
"method": "POST",
"url": "<string>"
}
],
"completion_window": "<string>",
"metadata": {},
"session_id": "<string>",
"webhook_endpoint_id": "<string>",
"debug": {
"enabled": True,
"return_upstream_request": True,
"return_upstream_response": True,
"trace": True
},
"provider": {
"order": ["<string>"],
"only": ["<string>"],
"ignore": ["<string>"],
"include_alpha": True,
"allow_fallbacks": True,
"require_parameters": True,
"required_execution_region": "<string>",
"required_data_region": "<string>",
"require_zero_data_retention": True,
"zdr": True,
"enforce_distillable_text": True,
"quantizations": ["<string>"],
"sort": "<string>",
"max_price": {
"prompt": 123,
"completion": 123,
"image": 123,
"audio": 123,
"request": 123
},
"preferred_min_throughput": 123,
"preferred_max_latency": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.phaseo.app/v1/batches \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"provider_options": {},
"model": "<string>",
"prompts": [
"<string>"
],
"items": [
{}
],
"system": "<string>",
"max_tokens": 123,
"temperature": 123,
"input_file_id": "<string>",
"requests": [
{
"body": {},
"custom_id": "<string>",
"method": "POST",
"url": "<string>"
}
],
"completion_window": "<string>",
"metadata": {},
"session_id": "<string>",
"webhook_endpoint_id": "<string>",
"debug": {
"enabled": true,
"return_upstream_request": true,
"return_upstream_response": true,
"trace": true
},
"provider": {
"order": [
"<string>"
],
"only": [
"<string>"
],
"ignore": [
"<string>"
],
"include_alpha": true,
"allow_fallbacks": true,
"require_parameters": true,
"required_execution_region": "<string>",
"required_data_region": "<string>",
"require_zero_data_retention": true,
"zdr": true,
"enforce_distillable_text": true,
"quantizations": [
"<string>"
],
"sort": "<string>",
"max_price": {
"prompt": 123,
"completion": 123,
"image": 123,
"audio": 123,
"request": 123
},
"preferred_min_throughput": 123,
"preferred_max_latency": 123
}
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.phaseo.app/v1/batches"
payload := strings.NewReader("{\n \"provider_options\": {},\n \"model\": \"<string>\",\n \"prompts\": [\n \"<string>\"\n ],\n \"items\": [\n {}\n ],\n \"system\": \"<string>\",\n \"max_tokens\": 123,\n \"temperature\": 123,\n \"input_file_id\": \"<string>\",\n \"requests\": [\n {\n \"body\": {},\n \"custom_id\": \"<string>\",\n \"method\": \"POST\",\n \"url\": \"<string>\"\n }\n ],\n \"completion_window\": \"<string>\",\n \"metadata\": {},\n \"session_id\": \"<string>\",\n \"webhook_endpoint_id\": \"<string>\",\n \"debug\": {\n \"enabled\": true,\n \"return_upstream_request\": true,\n \"return_upstream_response\": true,\n \"trace\": true\n },\n \"provider\": {\n \"order\": [\n \"<string>\"\n ],\n \"only\": [\n \"<string>\"\n ],\n \"ignore\": [\n \"<string>\"\n ],\n \"include_alpha\": true,\n \"allow_fallbacks\": true,\n \"require_parameters\": true,\n \"required_execution_region\": \"<string>\",\n \"required_data_region\": \"<string>\",\n \"require_zero_data_retention\": true,\n \"zdr\": true,\n \"enforce_distillable_text\": true,\n \"quantizations\": [\n \"<string>\"\n ],\n \"sort\": \"<string>\",\n \"max_price\": {\n \"prompt\": 123,\n \"completion\": 123,\n \"image\": 123,\n \"audio\": 123,\n \"request\": 123\n },\n \"preferred_min_throughput\": 123,\n \"preferred_max_latency\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.phaseo.app/v1/batches")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"provider_options\": {},\n \"model\": \"<string>\",\n \"prompts\": [\n \"<string>\"\n ],\n \"items\": [\n {}\n ],\n \"system\": \"<string>\",\n \"max_tokens\": 123,\n \"temperature\": 123,\n \"input_file_id\": \"<string>\",\n \"requests\": [\n {\n \"body\": {},\n \"custom_id\": \"<string>\",\n \"method\": \"POST\",\n \"url\": \"<string>\"\n }\n ],\n \"completion_window\": \"<string>\",\n \"metadata\": {},\n \"session_id\": \"<string>\",\n \"webhook_endpoint_id\": \"<string>\",\n \"debug\": {\n \"enabled\": true,\n \"return_upstream_request\": true,\n \"return_upstream_response\": true,\n \"trace\": true\n },\n \"provider\": {\n \"order\": [\n \"<string>\"\n ],\n \"only\": [\n \"<string>\"\n ],\n \"ignore\": [\n \"<string>\"\n ],\n \"include_alpha\": true,\n \"allow_fallbacks\": true,\n \"require_parameters\": true,\n \"required_execution_region\": \"<string>\",\n \"required_data_region\": \"<string>\",\n \"require_zero_data_retention\": true,\n \"zdr\": true,\n \"enforce_distillable_text\": true,\n \"quantizations\": [\n \"<string>\"\n ],\n \"sort\": \"<string>\",\n \"max_price\": {\n \"prompt\": 123,\n \"completion\": 123,\n \"image\": 123,\n \"audio\": 123,\n \"request\": 123\n },\n \"preferred_min_throughput\": 123,\n \"preferred_max_latency\": 123\n }\n}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phaseo.app/v1/batches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'provider_options' => [
],
'model' => '<string>',
'prompts' => [
'<string>'
],
'items' => [
[
]
],
'system' => '<string>',
'max_tokens' => 123,
'temperature' => 123,
'input_file_id' => '<string>',
'requests' => [
[
'body' => [
],
'custom_id' => '<string>',
'method' => 'POST',
'url' => '<string>'
]
],
'completion_window' => '<string>',
'metadata' => [
],
'session_id' => '<string>',
'webhook_endpoint_id' => '<string>',
'debug' => [
'enabled' => true,
'return_upstream_request' => true,
'return_upstream_response' => true,
'trace' => true
],
'provider' => [
'order' => [
'<string>'
],
'only' => [
'<string>'
],
'ignore' => [
'<string>'
],
'include_alpha' => true,
'allow_fallbacks' => true,
'require_parameters' => true,
'required_execution_region' => '<string>',
'required_data_region' => '<string>',
'require_zero_data_retention' => true,
'zdr' => true,
'enforce_distillable_text' => true,
'quantizations' => [
'<string>'
],
'sort' => '<string>',
'max_price' => [
'prompt' => 123,
'completion' => 123,
'image' => 123,
'audio' => 123,
'request' => 123
],
'preferred_min_throughput' => 123,
'preferred_max_latency' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.phaseo.app/v1/batches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"provider_options\": {},\n \"model\": \"<string>\",\n \"prompts\": [\n \"<string>\"\n ],\n \"items\": [\n {}\n ],\n \"system\": \"<string>\",\n \"max_tokens\": 123,\n \"temperature\": 123,\n \"input_file_id\": \"<string>\",\n \"requests\": [\n {\n \"body\": {},\n \"custom_id\": \"<string>\",\n \"method\": \"POST\",\n \"url\": \"<string>\"\n }\n ],\n \"completion_window\": \"<string>\",\n \"metadata\": {},\n \"session_id\": \"<string>\",\n \"webhook_endpoint_id\": \"<string>\",\n \"debug\": {\n \"enabled\": true,\n \"return_upstream_request\": true,\n \"return_upstream_response\": true,\n \"trace\": true\n },\n \"provider\": {\n \"order\": [\n \"<string>\"\n ],\n \"only\": [\n \"<string>\"\n ],\n \"ignore\": [\n \"<string>\"\n ],\n \"include_alpha\": true,\n \"allow_fallbacks\": true,\n \"require_parameters\": true,\n \"required_execution_region\": \"<string>\",\n \"required_data_region\": \"<string>\",\n \"require_zero_data_retention\": true,\n \"zdr\": true,\n \"enforce_distillable_text\": true,\n \"quantizations\": [\n \"<string>\"\n ],\n \"sort\": \"<string>\",\n \"max_price\": {\n \"prompt\": 123,\n \"completion\": 123,\n \"image\": 123,\n \"audio\": 123,\n \"request\": 123\n },\n \"preferred_min_throughput\": 123,\n \"preferred_max_latency\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"native_batch_id": "<string>",
"object": "<string>",
"endpoint": "<string>",
"errors": {},
"input_file_id": "<string>",
"completion_window": "<string>",
"status": "<string>",
"lifecycle_status": "pending",
"progress": 50,
"polling_url": "<string>",
"websocket_url": "<string>",
"cancel_url": "<string>",
"results_url": "<string>",
"output_file_id": "<string>",
"error_file_id": "<string>",
"created_at": 123,
"in_progress_at": 123,
"expires_at": 123,
"finalizing_at": 123,
"completed_at": 123,
"failed_at": 123,
"expired_at": 123,
"cancelling_at": 123,
"cancelled_at": 123,
"request_counts": {
"total": 123,
"completed": 123,
"failed": 123
},
"metadata": {},
"request_id": "<string>",
"provider": "<string>",
"session_id": "<string>",
"webhook": {
"url": "<string>",
"events": [
"<string>"
],
"has_secret": true,
"delivery": {
"total_attempts": 123,
"delivered_events": 123,
"delivered_event_types": [
"video.completed"
],
"pending_retries": 123,
"next_retry_at": "<string>",
"last_attempt_at": "<string>",
"last_attempt_status": "delivered",
"last_response_status": 123,
"last_delivered_at": "<string>",
"last_failure_at": "<string>",
"last_error_message": "<string>"
},
"attempts": [
{
"id": "<string>",
"delivery_key": "video.completed",
"event_type": "video.completed",
"status": "delivered",
"attempt_number": 123,
"max_attempts": 123,
"tried_at": "<string>",
"delivered_at": "<string>",
"next_retry_at": "<string>",
"response_status": 123,
"error_message": "<string>",
"response_body_preview": "<string>"
}
]
},
"next_webhook_retry_at": "<string>",
"last_webhook_progress": 123,
"last_webhook_progress_at": "<string>",
"last_webhook_dispatched_at": "<string>",
"finalized_at": "<string>",
"pricing_lines": [
{}
],
"usage": {
"requests": 123,
"input_tokens": 123,
"output_tokens": 123,
"total_tokens": 123,
"cost_nanos": 123,
"cost_usd": 123,
"currency": "<string>"
},
"billing": {
"currency": "<string>",
"billed": true,
"charged": true,
"reason": "<string>",
"state": "pending",
"reservation_id": "<string>",
"reservation_status": "<string>",
"estimated_provider_cost": "<string>",
"estimated_user_cost": "<string>",
"settled_provider_cost": "<string>",
"settled_user_cost": "<string>",
"estimated_nanos": 123,
"reserved_nanos": 123,
"estimation_truncated": true,
"estimation_sample_size": 123,
"estimation_total_rows": 123,
"total_nanos": 123,
"cost_nanos": 123,
"cost_usd": 123,
"finalized_at": "<string>",
"pricing_breakdown": {}
}
}{
"error": "error_type",
"ok": false,
"message": "Human-readable error message",
"description": "Additional error details.",
"generation_id": "G-abc123",
"status_code": 502,
"error_type": "system",
"error_origin": "upstream",
"reason": "all_candidates_failed",
"attempt_count": 2,
"failed_providers": [
"google-ai-studio",
"openai"
],
"failed_statuses": [
403,
429
],
"upstream_error": {
"code": "PERMISSION_DENIED",
"message": "The caller does not have permission.",
"description": "<string>",
"param": "<string>"
},
"failure_sample": [
{
"provider": "<string>",
"type": "<string>",
"status": 123,
"upstream_error_code": "<string>",
"upstream_error_message": "<string>",
"upstream_error_description": "<string>",
"upstream_error_param": "<string>",
"upstream_payload_preview": "<string>",
"retryable": true
}
],
"provider_failure_diagnostics": {
"category": "credentials_not_configured",
"hint": "<string>",
"provider": "<string>"
},
"routing_diagnostics": {
"filterStages": [
{
"stage": "<string>",
"beforeCount": 123,
"afterCount": 123,
"droppedProviders": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
}
]
},
"provider_candidate_diagnostics": {
"totalProviders": 123,
"supportsEndpointCount": 123,
"candidateCount": 123,
"droppedUnsupportedEndpoint": [
"<string>"
],
"droppedMissingAdapter": [
{
"providerId": "<string>",
"endpoint": "<string>"
}
]
},
"provider_enablement": {
"capability": "<string>",
"providersBefore": [
"<string>"
],
"providersAfter": [
"<string>"
],
"dropped": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
},
"missing_pricing_providers": [
"<string>"
],
"provider_payment_required_provider": "openai",
"provider_payment_required_support_notice": "Our upstream provider billing appears to be unavailable. If this persists, contact support.",
"details": [
{}
]
}التفويضات
المصادقة باستخدام رمز Bearer
الجسم
امتدادات محددة بمعرّف المزوّد الأساسي. يقبل OpenAI الحقل output_expires_after ويقبل Mistral الحقل metadata. تُطبق خيارات المزوّد المحدد فقط. لا تكرر خياراً في المستوى الأعلى. لا يمكن للخيارات تجاوز الصفوف المُسعّرة أو النماذج أو الملفات.
Show child attributes
Show child attributes
معرّف النموذج المستخدم لاستنتاج مزوّد الدفعة الأعلى. قد تتضمن صفوف الطلب أيضاً body.model؛ ويُفضّل النموذج في المستوى الأعلى.
صيغة مختصرة لموجه بسيط. يحوّل Phaseo كل موجه إلى صف دفعة أصلي لدى المزوّد للنموذج المحدد.
صيغة مختصرة لموجه منظم. قد تتضمن العناصر id وcustom_id وprompt وmessages وinput وsystem وmax_tokens وtemperature أوbody متقدماً.
تعليمة نظام اختيارية تُطبق على صفوف الموجهات المختصرة.
حد أقصى اختياري للرموز يُطبق على صفوف الموجهات المختصرة.
درجة حرارة أخذ عينات اختيارية تُطبق على صفوف الموجهات المختصرة.
معرّف ملف موجود لدى المزوّد لإنشاء دفعة عبر رفع ملف.
صفوف طلبات دفعات متقدمة. قدم واحداً فقط من prompts أوitems أوrequests أوinput_file_id.
Show child attributes
Show child attributes
صيغة الطلب الموجهة للمستدعي. يستخدم كل طلب في الدفعة نقطة النهاية هذه. عند الإغفال يختار Phaseo قيمة افتراضية أصلية لدى المزوّد بناءً على النموذج.
/v1/chat/completions, /v1/responses, /v1/messages, /v1/embeddings, /v1/generateContent معرّف فريد لتجميع الطلبات المرتبطة (مثل محادثة أو سير عمل وكيل) لأغراض قابلية المراقبة.
256Show child attributes
Show child attributes
اسم بديل ملائم لـwebhook.endpoint_id.
عناصر تحكم تصحيح أخطاء البوابة. لا تُمرر هذه العلامات إلى المزوّد مطلقًا.
Show child attributes
Show child attributes
قيد توجيه متقدم. ينبغي لمعظم الطلبات الاعتماد على استنتاج المزوّد بناءً على النموذج.
Show child attributes
Show child attributes
الاستجابة
استجابة حالة الدفعة
معرّف الدفعة الأصلي لدى المزوّد عندما يختلف عن معرّف البوابة.
حالة دورة الحياة غير المتزامنة الموحدة لمستهلكي الاستطلاع وWebSocket وwebhook.
pending, running, completed, failed, cancelled, expired نسبة إكمال تقريبية للدفعة مشتقة من أعداد طلبات المزوّد عند توفرها. تبلغ الدفعات المكتملة عن 100.
0 <= x <= 100عنوان WebSocket للاشتراك في تحديثات دورة الحياة الموحدة للمهام غير المتزامنة.
محجوز للتوافق؛ قيمته حالياً null دائماً.
عنوان تنزيل Phaseo JSONL يتطلب المصادقة للدفعات المدعومة في حالة نهائية. يكون null أثناء المعالجة. قد لا يكون للدفعة النهائية ناتج. استخدم مفتاح API من مساحة العمل المالكة؛ تنطبق حدود الاحتفاظ لدى المزوّد.
Show child attributes
Show child attributes
إعداد webhook غير المتزامن بعد تنقيح البيانات الحساسة مع حالة التسليم. لا تُرجع الأسرار أبداً؛ يشير has_secret إلى تفعيل عمليات التسليم الموقّعة. تتضمن عمليات التسليم الموقّعة ترويسات x-phaseo-signature وx-phaseo-timestamp وx-phaseo-event-id وx-phaseo-event-type وx-phaseo-delivery-key وx-phaseo-attempt وx-phaseo-max-attempts.
Show child attributes
Show child attributes
الاستخدام والتكلفة الإجمالية الموحدة بعد الإنهاء.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
هل كانت هذه الصفحة مفيدة؟