Get Started
Developer Guide
- Supported Models
- Supported APIs
- Cost Tracking
MCP Server
- Overview of MCP
- Registration and Authentication
- MCP Server Chat API
- Playground
- MCP Gateway
- Example MCP Servers
Configure Gateway
- Access Control
- Rate Limiting
- Budget Limiting
- Load Balancing
- Fallback
- Guardrails
Observability
Deployment
Embeddings
Rerank
Responses
Audio
Moderations
Supported APIs
Responses API
This guide explains how to use the OpenAI client to interact with TrueFoundry’s responses endpoint for making inference requests.
Authentication
You’ll need a TrueFoundry API key to authenticate your requests. You can find authentication details from here.
You’ll also need to set the x-tfy-provider-name
header to the name of the provider integration you’re using.
For example, if you’re using an OpenAI provider integration named my-openai-provider
, you’ll set the x-tfy-provider-name
header to my-openai-provider
.
Copy
Ask AI
from openai import OpenAI
client = OpenAI(
base_url="http://{controlPlaneUrl}/api/llm",
api_key="your_truefoundry_api_key",
default_headers={"x-tfy-provider-name": "my-openai-provider"}
)
Text Completion
To get a text completion response:
Copy
Ask AI
response = client.responses.create(
model="my-openai-provider/gpt-3-5-turbo",
input=[{"role": "user", "content": "Your prompt here"}]
)
print(response)
Image Inputs
For tasks involving images:
Copy
Ask AI
response = client.responses.create(
model="my-openai-provider/gpt-4o",
input=[
{"role": "user", "content": "Your prompt here"},
{
"role": "user",
"content": [
{
"type": "input_image",
"image_url": "your_image_url"
}
]
}
]
)
response_id = response.id
Exprected Response
Copy
Ask AI
{
"id": "resp_6847fa2670f8819887e2d14c08bdc5a305d8dc9b22b6f0dd",
"created_at": 1749547558,
"error": null,
"incomplete_details": null,
"instructions": null,
"metadata": {},
"model": "gpt-4o-mini-2024-07-18",
"object": "response",
"output": [
{
"id": "msg_6847fa35e8c48198a5120ee3d38c353105d8dc9b22b6f0dd",
"content": [
{
"annotations": [],
"text": "It seems you might be looking to start a discussion or ask a question! How can I assist you today?",
"type": "output_text"
}
],
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"temperature": 1,
"tool_choice": "auto",
"tools": [],
"top_p": 1,
"max_output_tokens": null,
"previous_response_id": null,
"reasoning": {
"effort": null,
"generate_summary": null,
"summary": null
},
"status": "completed",
"text": {
"format": {
"type": "text"
}
},
"truncation": "disabled",
"usage": {
"input_tokens": 10,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 23,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 33
},
"user": null,
"background": false,
"service_tier": "default",
"store": true,
"provider": "openai"
}
Managing Responses
Retrieve Response
Retrieve a response by id.
Copy
Ask AI
response = client.responses.retrieve(
response_id=response_id
)
print(response)
Expected Output
Copy
Ask AI
{
"id": "resp_6847fa2670f8819887e2d14c08bdc5a305d8dc9b22b6f0dd",
"created_at": 1749547558,
"error": null,
"incomplete_details": null,
"instructions": null,
"metadata": {},
"model": "gpt-4o-mini-2024-07-18",
"object": "response",
"output": [
{
"id": "msg_6847fa35e8c48198a5120ee3d38c353105d8dc9b22b6f0dd",
"content": [
{
"annotations": [],
"text": "It seems you might be looking to start a discussion or ask a question! How can I assist you today?",
"type": "output_text"
}
],
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"temperature": 1,
"tool_choice": "auto",
"tools": [],
"top_p": 1,
"max_output_tokens": null,
"previous_response_id": null,
"reasoning": {
"effort": null,
"generate_summary": null,
"summary": null
},
"status": "completed",
"text": {
"format": {
"type": "text"
}
},
"truncation": "disabled",
"usage": {
"input_tokens": 10,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 23,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 33
},
"user": null,
"background": false,
"service_tier": "default",
"store": true,
"provider": "openai"
}
Delete Response
Delete a response permanently
Copy
Ask AI
delete_result = client.responses.delete(
response_id=response_id
)
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.