Create a meeting session artifact
Requests asynchronous generation of one artifact: summary, action_items, decisions, topics, open_questions, or custom. Each request produces one artifact. custom is answered from a prompt you supply, which is required for custom and rejected on the five named types. Generation requires transcript content and configured inference and currently reads at most the first 10,000 segments, so exceptionally long transcripts may produce incomplete artifacts or fail model limits. Not idempotent, and every call is billed: each request is a separate inference run, so a retry or a duplicate POST produces a second artifact and a second charge. Guard the call rather than relying on the service to collapse it. The automatic summarize_on_end attempt is billed on the same basis.
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
const MeetingSessionArtifact = await client.meetingSessions.artifacts.create('id');
console.log(MeetingSessionArtifact.data);import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
meeting_session_artifact = client.meeting_sessions.artifacts.create(
id="id",
)
print(meeting_session_artifact.data)
package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
artifact, err := client.MeetingSessions.Artifacts.New(
context.TODO(),
"id",
telnyx.MeetingSessionArtifactNewParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", artifact.Data)
}
package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.meetingSessions.artifacts.ArtifactCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
ArtifactCreateParams params = ArtifactCreateParams.builder()
.build();
var response = client.meetingSessions().artifacts().create("id", params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
meeting_session_artifact = telnyx.meeting_sessions.artifacts.create("id")
puts(meeting_session_artifact)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$meeting_session_artifact = $client->meetingSessions->artifacts->create(
'id',
);
var_dump($meeting_session_artifact);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx meeting-sessions:artifacts create \
--api-key 'My API Key' \
--id idcurl --request POST \
--url https://api.telnyx.com/v2/meeting_sessions/{id}/artifacts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "summary"
}
'{
"data": {
"id": "mtgart_550e8400-e29b-41d4-a716-446655440000",
"session_id": "mtgsess_550e8400-e29b-41d4-a716-446655440001",
"type": "action_items",
"status": "pending",
"content": null,
"model_provenance": null,
"failure_reason": null,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z",
"prompt": null
}
}{
"error": {
"code": "invalid_request",
"message": "request is invalid"
}
}{
"error": {
"code": "unauthorized",
"message": "invalid or missing credentials"
}
}{
"error": {
"code": "forbidden",
"message": "credential is not permitted"
}
}{
"error": {
"code": "not_found",
"message": "meeting session not found"
}
}{
"error": {
"code": "invalid_state",
"message": "only scheduled sessions can be updated"
}
}{
"error": {
"code": "invalid_request",
"message": "request body too large"
}
}{
"error": {
"code": "auth_overloaded",
"message": "authentication temporarily overloaded"
}
}{
"error": {
"code": "internal_error",
"message": "internal server error"
}
}{
"error": {
"code": "not_configured",
"message": "artifact generation is not configured"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier for the meeting session.
"mtgsess_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Body
- Named artifact
- Custom artifact
One of two shapes: a named type on its own, or custom with the prompt it answers.
What to generate from the transcript. custom is answered from a prompt you supply; the five named types need none.
summary, action_items, decisions, topics, open_questions Response
Artifact creation accepted and is being processed asynchronously.
Show child attributes
Show child attributes
{
"id": "mtgart_550e8400-e29b-41d4-a716-446655440000",
"session_id": "mtgsess_550e8400-e29b-41d4-a716-446655440001",
"type": "action_items",
"status": "pending",
"content": null,
"model_provenance": null,
"failure_reason": null,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z",
"prompt": null
}
{
"id": "mtgart_550e8400-e29b-41d4-a716-446655440002",
"session_id": "mtgsess_550e8400-e29b-41d4-a716-446655440001",
"type": "summary",
"status": "completed",
"content": {
"text": "The team reviewed project goals and agreed on next steps."
},
"model_provenance": {
"model": "example-model",
"provider": "example-provider"
},
"failure_reason": null,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:31:00Z",
"prompt": null
}
Was this page helpful?
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
const MeetingSessionArtifact = await client.meetingSessions.artifacts.create('id');
console.log(MeetingSessionArtifact.data);import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
meeting_session_artifact = client.meeting_sessions.artifacts.create(
id="id",
)
print(meeting_session_artifact.data)
package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
artifact, err := client.MeetingSessions.Artifacts.New(
context.TODO(),
"id",
telnyx.MeetingSessionArtifactNewParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", artifact.Data)
}
package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.meetingSessions.artifacts.ArtifactCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
ArtifactCreateParams params = ArtifactCreateParams.builder()
.build();
var response = client.meetingSessions().artifacts().create("id", params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
meeting_session_artifact = telnyx.meeting_sessions.artifacts.create("id")
puts(meeting_session_artifact)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$meeting_session_artifact = $client->meetingSessions->artifacts->create(
'id',
);
var_dump($meeting_session_artifact);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx meeting-sessions:artifacts create \
--api-key 'My API Key' \
--id idcurl --request POST \
--url https://api.telnyx.com/v2/meeting_sessions/{id}/artifacts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "summary"
}
'{
"data": {
"id": "mtgart_550e8400-e29b-41d4-a716-446655440000",
"session_id": "mtgsess_550e8400-e29b-41d4-a716-446655440001",
"type": "action_items",
"status": "pending",
"content": null,
"model_provenance": null,
"failure_reason": null,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z",
"prompt": null
}
}{
"error": {
"code": "invalid_request",
"message": "request is invalid"
}
}{
"error": {
"code": "unauthorized",
"message": "invalid or missing credentials"
}
}{
"error": {
"code": "forbidden",
"message": "credential is not permitted"
}
}{
"error": {
"code": "not_found",
"message": "meeting session not found"
}
}{
"error": {
"code": "invalid_state",
"message": "only scheduled sessions can be updated"
}
}{
"error": {
"code": "invalid_request",
"message": "request body too large"
}
}{
"error": {
"code": "auth_overloaded",
"message": "authentication temporarily overloaded"
}
}{
"error": {
"code": "internal_error",
"message": "internal server error"
}
}{
"error": {
"code": "not_configured",
"message": "artifact generation is not configured"
}
}