Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# [OPTIONAL] Free Pipelex Inference API key - Get yours on Discord: https://go.pipelex.com/discord
# No credit card required, limited time offer
PIPELEX_INFERENCE_API_KEY=
PIPELEX_GATEWAY_API_KEY=

# OpenAI: to use models like GPT-4o and GPT-5
OPENAI_API_KEY=
Expand All @@ -21,10 +21,6 @@ ANTHROPIC_API_KEY=
# To use Mistral models
MISTRAL_API_KEY=

# To use perplexity, including results from web search
PERPLEXITY_API_KEY=
PERPLEXITY_API_ENDPOINT=https://api.perplexity.ai

# To generate images from fal.ai, the service of Forest Labs
FAL_API_KEY=

Expand Down
43 changes: 36 additions & 7 deletions .pipelex/inference/backends.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,15 @@
#
####################################################################################################

[pipelex_inference]
display_name = "⭐ Pipelex Inference"
enabled = true
endpoint = "https://inference.pipelex.com/v1"
api_key = "${PIPELEX_INFERENCE_API_KEY}"
[pipelex_gateway]
display_name = "⭐ Pipelex Gateway"
enabled = true # Enable after accepting terms via `pipelex init config`
api_key = "${PIPELEX_GATEWAY_API_KEY}"

[anthropic]
enabled = false
api_key = "${ANTHROPIC_API_KEY}"
claude_4_tokens_limit = 8192
valued_constraints = { max_output_tokens_limit = 8192 }

[azure_openai]
display_name = "Azure OpenAI"
Expand Down Expand Up @@ -49,6 +48,17 @@ display_name = "Google AI"
enabled = false
api_key = "${GOOGLE_API_KEY}"

[groq]
display_name = "Groq"
enabled = false
endpoint = "https://api.groq.com/openai/v1"
api_key = "${GROQ_API_KEY}"

[huggingface]
display_name = "Hugging Face"
enabled = false
api_key = "${HF_TOKEN}"

[mistral]
display_name = "Mistral AI"
enabled = false
Expand All @@ -63,9 +73,21 @@ display_name = "OpenAI"
enabled = false
api_key = "${OPENAI_API_KEY}"

[portkey]
display_name = "Portkey"
enabled = false
endpoint = "https://api.portkey.ai/v1"
api_key = "${PORTKEY_API_KEY}"

[scaleway]
display_name = "Scaleway"
enabled = false
endpoint = "${SCALEWAY_ENDPOINT}"
api_key = "${SCALEWAY_API_KEY}"

[vertexai]
display_name = "Google Vertex AI"
enabled = false
enabled = false # This is the only one we disable beacuse setting it up requires internet access just to get credentials so it fails in CI sandboxes
gcp_project_id = "${GCP_PROJECT_ID}"
gcp_location = "${GCP_LOCATION}"
gcp_credentials_file_path = "${GCP_CREDENTIALS_FILE_PATH}"
Expand All @@ -78,3 +100,10 @@ api_key = "${XAI_API_KEY}"

[internal] # software-only backend, runs internally, without AI
enabled = true

# Deprecated
[pipelex_inference]
display_name = "🛑 Legacy Pipelex Inference"
enabled = false
endpoint = "https://inference.pipelex.com/v1"
api_key = "${PIPELEX_INFERENCE_API_KEY}"
9 changes: 9 additions & 0 deletions .pipelex/inference/backends/anthropic.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
model_type = "llm"
sdk = "anthropic"
prompting_target = "anthropic"
structure_method = "instructor/anthropic_tools"

################################################################################
# LANGUAGE MODELS
Expand Down Expand Up @@ -97,3 +98,11 @@ inputs = ["text", "images"]
outputs = ["text", "structured"]
max_prompt_images = 100
costs = { input = 1.0, output = 5.0 }

["claude-4.5-opus"]
model_id = "claude-opus-4-5-20251101"
max_tokens = 64000
inputs = ["text", "images"]
outputs = ["text", "structured"]
max_prompt_images = 100
costs = { input = 5.0, output = 25.0 }
100 changes: 99 additions & 1 deletion .pipelex/inference/backends/azure_openai.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@

[defaults]
model_type = "llm"
sdk = "azure_openai"
sdk = "azure_openai_responses"
prompting_target = "openai"
structure_method = "instructor/openai_responses_tools"

################################################################################
# LANGUAGE MODELS
Expand Down Expand Up @@ -67,46 +68,143 @@ model_id = "o1-mini-2024-09-12"
inputs = ["text"]
outputs = ["text", "structured"]
costs = { input = 3.0, output = 12.0 }
valued_constraints = { fixed_temperature = 1 }

[o1]
model_id = "o1-2024-12-17"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 15.0, output = 60.0 }
valued_constraints = { fixed_temperature = 1 }

[o3-mini]
model_id = "o3-mini-2025-01-31"
inputs = ["text"]
outputs = ["text", "structured"]
costs = { input = 1.1, output = 4.4 }
valued_constraints = { fixed_temperature = 1 }

[o3]
model_id = "o3-2025-04-16"
inputs = ["text"]
outputs = ["text", "structured"]
costs = { input = 2, output = 8 }
valued_constraints = { fixed_temperature = 1 }

# --- GPT-5 Series -------------------------------------------------------------
[gpt-5-mini]
model_id = "gpt-5-mini-2025-08-07"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 0.25, output = 2.0 }
valued_constraints = { fixed_temperature = 1 }

[gpt-5-nano]
model_id = "gpt-5-nano-2025-08-07"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 0.05, output = 0.4 }
valued_constraints = { fixed_temperature = 1 }

[gpt-5-chat]
model_id = "gpt-5-chat-2025-08-07"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.25, output = 10.0 }
valued_constraints = { fixed_temperature = 1 }

[gpt-5]
model_id = "gpt-5-2025-08-07"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.25, output = 10.0 }
valued_constraints = { fixed_temperature = 1 }

# --- GPT-5.1 Series -------------------------------------------------------------
["gpt-5.1"]
model_id = "gpt-5.1-2025-11-13"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.25, output = 10.0 }
valued_constraints = { fixed_temperature = 1 }

["gpt-5.1-chat"]
model_id = "gpt-5.1-chat-2025-11-13"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.25, output = 10.0 }
valued_constraints = { fixed_temperature = 1 }

["gpt-5.1-codex"]
model_id = "gpt-5.1-codex-2025-11-13"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.25, output = 10.0 }
valued_constraints = { fixed_temperature = 1 }

# --- GPT-5.2 Series -------------------------------------------------------------
["gpt-5.2"]
model_id = "gpt-5.2-2025-12-11"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.75, output = 14.0 }

["gpt-5.2-chat"]
model_id = "gpt-5.2-chat-2025-12-11"
inputs = ["text", "images"]
outputs = ["text", "structured"]
costs = { input = 1.25, output = 10.0 }
valued_constraints = { fixed_temperature = 1 }

################################################################################
# IMAGE GENERATION MODELS
################################################################################

# --- OpenAI Image Generation --------------------------------------------------
[gpt-image-1]
sdk = "azure_rest_img_gen"
model_type = "img_gen"
model_id = "gpt-image-1-2025-04-15"
inputs = ["text"]
outputs = ["image"]
costs = { input = 10, output = 40 }

[gpt-image-1.rules]
num_images = "gpt"
aspect_ratio = "gpt"
background = "gpt"
inference = "gpt"
safety_checker = "unavailable"
output_format = "gpt"

[gpt-image-1-mini]
sdk = "azure_rest_img_gen"
model_type = "img_gen"
model_id = "gpt-image-1-mini-2025-10-06"
inputs = ["text"]
outputs = ["image"]
costs = { input = 2.5, output = 8 }

[gpt-image-1-mini.rules]
num_images = "gpt"
aspect_ratio = "gpt"
background = "gpt"
inference = "gpt"
safety_checker = "unavailable"
output_format = "gpt"

["gpt-image-1.5"]
sdk = "azure_rest_img_gen"
model_type = "img_gen"
model_id = "gpt-image-1.5-2025-12-16"
inputs = ["text"]
outputs = ["image"]
costs = { input = 8, output = 32 }

["gpt-image-1.5".rules]
num_images = "gpt"
aspect_ratio = "gpt"
background = "gpt"
inference = "gpt"
safety_checker = "unavailable"
output_format = "gpt"
9 changes: 9 additions & 0 deletions .pipelex/inference/backends/bedrock.toml
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,12 @@ inputs = ["text", "images"]
outputs = ["text", "structured"]
max_prompt_images = 100
costs = { input = 1.0, output = 5.0 }

["claude-4.5-opus"]
sdk = "bedrock_anthropic"
model_id = "global.anthropic.claude-opus-4-5-20251101-v1:0"
max_tokens = 8192
inputs = ["text", "images"]
outputs = ["text", "structured"]
max_prompt_images = 100
costs = { input = 5.0, output = 25.0 }
27 changes: 18 additions & 9 deletions .pipelex/inference/backends/blackboxai.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
[defaults]
model_type = "llm"
sdk = "openai"
structure_method = "instructor/openai_tools"

################################################################################
# LANGUAGE MODELS
Expand Down Expand Up @@ -145,7 +146,7 @@ costs = { input = 0.12, output = 0.39 }
["qwen2.5-vl-72b-instruct"]
model_id = "blackboxai/qwen/qwen2.5-vl-72b-instruct"
inputs = ["text", "images"]
outputs = ["text", "structured"]
outputs = ["text"]
costs = { input = 0.25, output = 0.75 }

# --- Amazon Nova Models -------------------------------------------------------
Expand All @@ -166,13 +167,13 @@ costs = { input = 0.06, output = 0.24 }
################################################################################

# --- DeepSeek Free Models -----------------------------------------------------
[deepseek-chat-free]
[deepseek-chat]
model_id = "blackboxai/deepseek/deepseek-chat:free"
inputs = ["text"]
outputs = ["text", "structured"]
costs = { input = 0.00, output = 0.00 }

[deepseek-r1-free]
[deepseek-r1]
model_id = "blackboxai/deepseek/deepseek-r1:free"
inputs = ["text"]
outputs = ["text", "structured"]
Expand All @@ -192,40 +193,48 @@ costs = { input = 0.00, output = 0.00 }

[flux-pro]
model_type = "img_gen"
sdk = "openai_alt_img_gen"
sdk = "blackboxai_img_gen"
model_id = "blackboxai/black-forest-labs/flux-pro"
inputs = ["text"]
outputs = ["image"]
costs = { input = 0.0, output = 0.04 }

["flux-pro/v1.1"]
model_type = "img_gen"
sdk = "openai_alt_img_gen"
sdk = "blackboxai_img_gen"
model_id = "blackboxai/black-forest-labs/flux-1.1-pro"
inputs = ["text"]
outputs = ["image"]
costs = { input = 0.0, output = 0.04 }

["flux-pro/v1.1-ultra"]
model_type = "img_gen"
sdk = "openai_alt_img_gen"
sdk = "blackboxai_img_gen"
model_id = "blackboxai/black-forest-labs/flux-1.1-pro-ultra"
inputs = ["text"]
outputs = ["image"]
costs = { input = 0.0, output = 0.06 }

["fast-lightning-sdxl"]
[fast-lightning-sdxl]
model_type = "img_gen"
sdk = "openai_alt_img_gen"
sdk = "blackboxai_img_gen"
model_id = "blackboxai/bytedance/sdxl-lightning-4step"
inputs = ["text"]
outputs = ["image"]
costs = { input = 0.0, output = 0.0014 }

[nano-banana]
model_type = "img_gen"
sdk = "openai_alt_img_gen"
sdk = "blackboxai_img_gen"
model_id = "blackboxai/google/nano-banana"
inputs = ["text"]
outputs = ["image"]
costs = { input = 0.0, output = 0.039 }

[nano-banana-pro]
model_type = "img_gen"
sdk = "blackboxai_img_gen"
model_id = "blackboxai/google/nano-banana-pro"
inputs = ["text"]
outputs = ["image"]
costs = { input = 0.0, output = 0.039 }
Loading
Loading