Together Vision API
Multimodal vision and document understanding using models such as Qwen 3.5 (397B and 9B) and Kimi K2.5.
Multimodal vision and document understanding using models such as Qwen 3.5 (397B and 9B) and Kimi K2.5.
openapi: 3.1.0
info:
title: Together APIs
description: The Together REST API. Please see https://docs.together.ai for more details.
version: 2.0.0
termsOfService: https://www.together.ai/terms-of-service
contact:
name: Together Support
url: https://www.together.ai/contact
license:
name: MIT
url: https://github.com/togethercomputer/openapi/blob/main/LICENSE
servers:
- url: https://api.together.ai/v1
security:
- bearerAuth: []
paths:
/deployments:
get:
description: Get a list of all deployments in your project
summary: Get the list of deployments
tags:
- Deployments
responses:
'200':
description: List of deployments
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentListResponse'
'500':
description: Internal server error
content:
application/json:
schema:
type: object
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
deployments = client.beta.jig.list()
print(deployments)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployments = await client.beta.jig.list();
console.log(deployments);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployments = await client.beta.jig.list();
console.log(deployments);
- lang: Shell
label: cURL
source: |
curl -X GET \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
https://api.together.ai/v1/deployments
post:
description: Create a new deployment with specified configuration
summary: Create a new deployment
tags:
- Deployments
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
deployment = client.beta.jig.deploy(
name="my-deployment",
gpu_type="h100-80gb",
image="registry.together.ai/proj_abcdefg1234567890/my-image:latest"
)
print(deployment)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.deploy({
name: "my-deployment",
gpu_type: "h100-80gb",
image: "registry.together.ai/proj_abcdefg1234567890/my-image:latest"
});
console.log(deployment);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.deploy({
name: "my-deployment",
gpu_type: "h100-80gb",
image: "registry.together.ai/proj_abcdefg1234567890/my-image:latest"
});
console.log(deployment);
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDeploymentRequest'
description: Deployment configuration
required: true
responses:
'200':
description: Deployment created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentResponseItem'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
/deployments/{id}:
delete:
description: Delete an existing deployment
summary: Delete a deployment
tags:
- Deployments
parameters:
- name: id
in: path
required: true
schema:
description: Deployment ID or name
type: string
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
deployment = client.beta.jig.destroy("my-deployment")
print(deployment)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.destroy("my-deployment");
console.log(deployment);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.destroy("my-deployment");
console.log(deployment);
- lang: Shell
label: cURL
source: |
curl -X DELETE \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
https://api.together.ai/v1/deployments/my-deployment
responses:
'200':
description: Deployment deleted successfully
content:
application/json:
schema:
type: object
'404':
description: Deployment not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
get:
description: Retrieve details of a specific deployment by its ID or name
summary: Get a deployment by ID or name
tags:
- Deployments
parameters:
- name: id
in: path
required: true
schema:
description: Deployment ID or name
type: string
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
deployment = client.beta.jig.retrieve("my-deployment")
print(deployment)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.retrieve("my-deployment");
console.log(deployment);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.retrieve("my-deployment");
console.log(deployment);
responses:
'200':
description: Deployment details
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentResponseItem'
'404':
description: Deployment not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
patch:
description: Update an existing deployment configuration
summary: Update a deployment
tags:
- Deployments
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
deployment = client.beta.jig.update("my-deployment", gpu_count=2)
print(deployment)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: >
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.update("my-deployment", {
gpu_count: 2 });
console.log(deployment);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: >
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.update("my-deployment", {
gpu_count: 2 });
console.log(deployment);
- lang: Shell
label: cURL
source: |
curl -X PATCH \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
--data '{ "gpu_count": 2 }' \
https://api.together.ai/v1/deployments/my-deployment
parameters:
- name: id
in: path
required: true
schema:
description: Deployment ID or name
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDeploymentRequest'
description: Updated deployment configuration
required: true
responses:
'200':
description: Deployment updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentResponseItem'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
'404':
description: Deployment not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
/deployments/{id}/logs:
get:
description: Retrieve logs from a deployment, optionally filtered by replica ID.
summary: Get logs for a deployment
tags:
- Deployments
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
deployment = client.beta.jig.logs("my-deployment")
print(deployment)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.logs("my-deployment");
console.log(deployment);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const deployment = await client.beta.jig.logs("my-deployment");
console.log(deployment);
- lang: Shell
label: cURL
source: |
curl -X GET \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
https://api.together.ai/v1/deployments/my-deployment/logs
parameters:
- name: id
in: path
required: true
schema:
description: Deployment ID or name
type: string
- name: replica_id
in: query
required: false
schema:
description: Replica ID to filter logs
type: string
responses:
'200':
description: Deployment logs
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentLogs'
'404':
description: Deployment not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
/deployments/secrets:
get:
description: Retrieve all secrets in your project
summary: Get the list of project secrets
tags:
- Secrets
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
secrets = client.beta.jig.secrets.list()
print(secrets)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const secrets = await client.beta.jig.secrets.list();
console.log(secrets);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const secrets = await client.beta.jig.secrets.list();
console.log(secrets);
responses:
'200':
description: List of secrets
content:
application/json:
schema:
$ref: '#/components/schemas/ListSecretsResponse'
'500':
description: Internal server error
content:
application/json:
schema:
type: object
post:
description: Create a new secret to store sensitive configuration values
summary: Create a new secret
tags:
- Secrets
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
client.beta.jig.secrets.create(name="my-secret", value="my-value")
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: >
import Together from "together-ai";
const client = new Together();
await client.beta.jig.secrets.create({ name: "my-secret", value:
"my-value" });
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: >
import Together from "together-ai";
const client = new Together();
await client.beta.jig.secrets.create({ name: "my-secret", value:
"my-value" });
- lang: Shell
label: cURL
source: |
curl -X POST \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
--data '{ "name": "my-secret", "value": "my-value" }' \
https://api.together.ai/v1/deployments/secrets
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSecretRequest'
description: Secret configuration
required: true
responses:
'200':
description: Secret created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SecretResponseItem'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
/deployments/secrets/{id}:
delete:
description: Delete an existing secret
summary: Delete a secret
tags:
- Secrets
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
client.beta.jig.secrets.delete("my-secret")
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
await client.beta.jig.secrets.delete("my-secret");
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
await client.beta.jig.secrets.delete("my-secret");
- lang: Shell
label: cURL
source: |
curl -X DELETE \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
https://api.together.ai/v1/deployments/secrets/my-secret
parameters:
- name: id
in: path
required: true
schema:
description: Secret ID or name
type: string
responses:
'200':
description: Secret deleted successfully
content:
application/json:
schema:
type: object
'404':
description: Secret not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
get:
description: Retrieve details of a specific secret by its ID or name
summary: Get a secret by ID or name
tags:
- Secrets
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
secret = client.beta.jig.secrets.retrieve("my-secret")
print(secret)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const secret = await client.beta.jig.secrets.retrieve("my-secret");
console.log(secret);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const secret = await client.beta.jig.secrets.retrieve("my-secret");
console.log(secret);
- lang: Shell
label: cURL
source: |
curl -X GET \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
https://api.together.ai/v1/deployments/secrets/my-secret
parameters:
- name: id
in: path
required: true
schema:
description: Secret ID or name
type: string
responses:
'200':
description: Secret details
content:
application/json:
schema:
$ref: '#/components/schemas/SecretResponseItem'
'404':
description: Secret not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
patch:
description: Update an existing secret's value or metadata
summary: Update a secret
tags:
- Secrets
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
client.beta.jig.secrets.update("my-secret", value="my-new-value")
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: >
import Together from "together-ai";
const client = new Together();
await client.beta.jig.secrets.update("my-secret", { value:
"my-new-value" });
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: >
import Together from "together-ai";
const client = new Together();
await client.beta.jig.secrets.update("my-secret", { value:
"my-new-value" });
- lang: Shell
label: cURL
source: |
curl -X PATCH \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
--data '{ "value": "my-new-value" }' \
https://api.together.ai/v1/deployments/secrets/my-secret
parameters:
- name: id
in: path
required: true
schema:
description: Secret ID or name
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSecretRequest'
description: Updated secret configuration
required: true
responses:
'200':
description: Secret updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SecretResponseItem'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
'404':
description: Secret not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
/deployments/storage/{filename}:
get:
description: Download a file by redirecting to a signed URL
summary: Download a file
tags:
- DeploymentsStorage
parameters:
- name: filename
in: path
required: true
schema:
description: Filename
type: string
responses:
'307':
description: Redirect to signed download URL
content:
application/json:
schema:
type: string
'400':
description: Invalid request
content:
application/json:
schema:
additionalProperties:
type: string
type: object
'404':
description: File not found
content:
application/json:
schema:
additionalProperties:
type: string
type: object
'500':
description: Internal error
content:
application/json:
schema:
additionalProperties:
type: string
type: object
/deployments/storage/volumes:
get:
description: Retrieve all volumes in your project
summary: Get the list of project volumes
tags:
- DeploymentsVolumes
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
volumes = client.beta.jig.storage.volumes.list()
print(volumes)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together();
const volumes = await client.beta.jig.storage.volumes.list();
console.log(volumes);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together();
const volumes = await client.beta.jig.storage.volumes.list();
console.log(volumes);
- lang: Shell
label: cURL
source: |
curl -X GET \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
https://api.together.ai/v1/deployments/storage/volumes
responses:
'200':
description: List of volumes
content:
application/json:
schema:
$ref: '#/components/schemas/ListVolumesResponse'
'500':
description: Internal server error
content:
application/json:
schema:
type: object
post:
description: Create a new volume to preload files in deployments
summary: Create a new volume
tags:
- DeploymentsVolumes
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
from together import Together
client = Together()
volumes = client.beta.jig.volumes.create(name="my-volume")
print(volumes)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: >
import Together from "together-ai";
const client = new Together();
const volumes = await client.beta.jig.volumes.create({ name:
"my-volume" });
console.log(volumes);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: >
import Together from "together-ai";
const client = new Together();
const volumes = await client.beta.jig.volumes.create({ name:
"my-volume" });
console.log(volumes);
- lang: Shell
label: cURL
source: |
curl -X POST \
-H "Authorization: Bearer $TOGETHER_API_KEY" \
--data '{ "name": "my-volume" }' \
https://api.together.ai/v1/deployments/storage/volumes
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVolumeRequest'
description: Volume configuration
required: true
responses:
'200':
description: Volume created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeResponseItem'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
/deployments/storage/volumes/{id}:
delete:
description: Delete an existing volume
parameters:
- name: id
in: path
required: true
schema:
description: Volume ID or name
type: string
responses:
'200':
description: Volume deleted successfully
content:
application/json:
schema:
type: object
'404':
description: Volume not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
summary: Delete a volume
tags:
- Volumes
get:
description: Retrieve details of a specific volume by its ID or name
parameters:
- name: id
in: path
required: true
schema:
description: Volume ID or name
type: string
responses:
'200':
description: Volume details
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeResponseItem'
'404':
description: Volume not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
summary: Get a volume by ID or name
tags:
- Volumes
patch:
description: Update an existing volume's configuration or contents
parameters:
- name: id
in: path
required: true
schema:
description: Volume ID or name.
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVolumeRequest'
description: Updated volume configuration
required: true
responses:
'200':
description: Volume updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeResponseItem'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
'404':
description: Volume not found
content:
application/json:
schema:
type: object
'500':
description: Internal server error
content:
application/json:
schema:
type: object
summary: Update a volume
tags:
- Volumes
/voices:
get:
tags:
- Voices
summary: Fetch available voices for each model
description: Fetch available voices for each model
operationId: fetchVoices
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListVoicesResponse'
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
# Docs for v1 can be found by changing the above selector ^
from together import Together
import os
client = Together(
api_key=os.environ.get("TOGETHER_API_KEY"),
)
response = client.audio.voices.list()
print(response.data)
- lang: Python
label: Together AI SDK (v1)
source: |
from together import Together
import os
client = Together(
api_key=os.environ.get("TOGETHER_API_KEY"),
)
response = client.audio.voices.list()
print(response.data)
- lang: TypeScript
label: Together AI SDK (TypeScript)
source: |
import Together from "together-ai";
const client = new Together({
apiKey: process.env.TOGETHER_API_KEY,
});
const response = await client.audio.voices.list()
console.log(response.data);
- lang: JavaScript
label: Together AI SDK (JavaScript)
source: |
import Together from "together-ai";
const client = new Together({
apiKey: process.env.TOGETHER_API_KEY,
});
const response = await client.audio.voices.list()
console.log(response.data);
/videos/{id}:
get:
tags:
- Video
summary: Fetch video metadata
description: Fetch video metadata
servers:
- url: https://api.together.ai/v2
operationId: retrieveVideo
x-codeSamples:
- lang: Python
label: Together AI SDK (v2)
source: |
# Docs for v1 can be found by changing the above selector ^
from together import Together
import os
client = Together(
api_key=os.environ.get("TOGETHER_API_KEY"),
)
response = client.videos.retrieve(video_id)
print(response.id)
- lang: Python
label: Together AI SDK (v1)
source: |
from together import Together
import os
client = Together(
api_key=os.environ.get("TOGETHER_API_KEY"),
)
response = client.videos.retrieve(video_id)
print(response.id)
- lang: TypeScript
label: Together
# --- truncated at 32 KB (463 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/together-ai/refs/heads/main/openapi/together-ai-openapi.yml