메시지 배치 생성
POST/v1/messages/batches
메시지 생성 요청의 배치를 전송합니다.
Message Batches API를 사용하면 여러 Messages API 요청을 한 번에 처리할 수 있습니다. 메시지 배치가 생성되면 즉시 처리가 시작됩니다. 배치는 완료되는 데 최대 24시간이 소요될 수 있습니다.
Message Batches API에 대한 자세한 내용은 사용자 가이드를 참조하세요.
Parameters
Returns
메시지 배치 생성
BatchCreateParams parameters = new()
{
Requests =
[
new()
{
CustomID = "my-custom-id-1",
Params = new()
{
MaxTokens = 1024,
Messages =
[
new()
{
Content = "Hello, world",
Role = Role.User,
ClearAt = ClearAt.NextUserMessage,
OutputConfig = new() { Effort = Effort.Low },
},
],
Model = Model.ClaudeOpus5,
CacheControl = new() { Ttl = Ttl.Ttl5m },
Compaction = new() { Instructions = "instructions" },
Container = new BetaContainerParams()
{
ID = "id",
Skills =
[
new()
{
SkillID = "pdf",
Type = Type.Anthropic,
Version = "latest",
},
],
},
ContextManagement = new()
{
Edits =
[
new BetaClearToolUses20250919Edit()
{
ClearAtLeast = new(0),
ClearToolInputs = true,
ExcludeTools =
[
"string"
],
Keep = new(0),
Trigger = new BetaInputTokensTrigger(1),
},
],
},
Diagnostics = new()
{
PreviousMessageID = "previous_message_id"
},
FallbackCreditToken = "x",
Fallbacks = new Default(),
InferenceGeo = "inference_geo",
McpServers =
[
new()
{
Name = "name",
Url = "url",
AuthorizationToken = "authorization_token",
ToolConfiguration = new()
{
AllowedTools =
[
"string"
],
Enabled = true,
},
},
],
Metadata = new()
{
UserID = "13803d75-b4b5-4c3e-b2a2-6f21399b021b"
},
OutputConfig = new()
{
Effort = Effort.Low,
Format = new()
{
Schema = new Dictionary<string, JsonElement>()
{
{ "foo", JsonSerializer.SerializeToElement("bar") }
},
},
TaskBudget = new()
{
Total = 1024,
Remaining = 0,
},
},
OutputFormat = new()
{
Schema = new Dictionary<string, JsonElement>()
{
{ "foo", JsonSerializer.SerializeToElement("bar") }
},
},
ServiceTier = ServiceTier.Auto,
Speed = Speed.Standard,
StopSequences =
[
"string"
],
Stream = false,
System = new(
[
new BetaTextBlockParam()
{
Text = "Today's date is 2024-06-01.",
CacheControl = new() { Ttl = Ttl.Ttl5m },
Citations =
[
new BetaCitationCharLocationParam()
{
CitedText = "The grass is green. The sky is blue.",
DocumentIndex = 0,
DocumentTitle = "x",
EndCharIndex = 0,
StartCharIndex = 0,
},
],
},
]
),
Temperature = 1,
Thinking = new BetaThinkingConfigAdaptive()
{
BlockBinding = new()
{
PrefixMismatchBehavior = BetaThinkingPrefixMismatchBehavior.Error,
},
Display = Display.Summarized,
},
ToolChoice = new BetaToolChoiceAuto()
{
DisableParallelToolUse = true
},
Tools =
[
new BetaTool()
{
InputSchema = new()
{
Properties = new Dictionary<string, JsonElement>()
{
{ "location", JsonSerializer.SerializeToElement("bar") },
{ "unit", JsonSerializer.SerializeToElement("bar") },
},
Required =
[
"location"
],
},
Name = "name",
AllowedCallers =
[
AllowedCaller.Direct
],
CacheControl = new() { Ttl = Ttl.Ttl5m },
DeferLoading = true,
Description = "Get the current weather in a given location",
EagerInputStreaming = true,
InputExamples =
[
new Dictionary<string, JsonElement>()
{
{ "foo", JsonSerializer.SerializeToElement("bar") },
},
],
Strict = true,
Type = Type.Custom,
},
],
TopK = 5,
TopP = 0.7,
},
},
],
};
var betaMessageBatch = await client.Beta.Messages.Batches.Create(parameters);
Console.WriteLine(betaMessageBatch);Response 200
{
"id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
"archived_at": "2024-08-20T18:37:24.100435Z",
"cancel_initiated_at": "2024-08-20T18:37:24.100435Z",
"created_at": "2024-08-20T18:37:24.100435Z",
"ended_at": "2024-08-20T18:37:24.100435Z",
"expires_at": "2024-08-20T18:37:24.100435Z",
"processing_status": "in_progress",
"request_counts": {
"canceled": 10,
"errored": 30,
"expired": 10,
"processing": 100,
"succeeded": 50
},
"results_url": "https://api.anthropic.com/v1/messages/batches/msgbatch_013Zva2CMHLNnXjNJJKqJ2EF/results",
"type": "message_batch"
}Returns Examples
Response 200
{
"id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
"archived_at": "2024-08-20T18:37:24.100435Z",
"cancel_initiated_at": "2024-08-20T18:37:24.100435Z",
"created_at": "2024-08-20T18:37:24.100435Z",
"ended_at": "2024-08-20T18:37:24.100435Z",
"expires_at": "2024-08-20T18:37:24.100435Z",
"processing_status": "in_progress",
"request_counts": {
"canceled": 10,
"errored": 30,
"expired": 10,
"processing": 100,
"succeeded": 50
},
"results_url": "https://api.anthropic.com/v1/messages/batches/msgbatch_013Zva2CMHLNnXjNJJKqJ2EF/results",
"type": "message_batch"
}