AI Video APIAI Video API


Claude Opus 4.6

Anthropic Claude Opus 4.6 — flagship reasoning model. Native /v1/messages protocol with streaming, tool use, and optional extended thinking.

Model

Model NameContext WindowReasoning
claude-opus-4-6200K tokensYes (optional thinkingFlag)

Pricing

Per-token billing:

TypeCredits / 1M tokensPrice / 1M tokens
Input500 credits$2.50
Output2500 credits$12.50

Endpoint

POST https://api.aivideoapi.ai/v1/messages

Compatible with the Anthropic Messages API. You can use @anthropic-ai/sdk directly by setting baseURL to https://api.aivideoapi.ai/v1.

Create Message

curl -X POST https://api.aivideoapi.ai/v1/messages \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4-6",
    "messages": [
      { "role": "user", "content": "Explain quantum computing in simple terms" }
    ],
    "stream": false
  }'

Request Body

FieldTypeRequiredDescription
modelstringYesMust be claude-opus-4-6
messagesarrayYesConversation messages
streambooleanNoEnable streaming (default: true)
toolsarrayNoCallable tools, each with name/description/input_schema
thinkingFlagbooleanNoEnable extended thinking

Messages

{
  "role": "user",
  "content": "Hello"
}

Or multimodal content blocks:

{
  "role": "user",
  "content": [
    { "type": "text", "text": "What is in this image?" },
    { "type": "image", "source": { "type": "url", "url": "https://example.com/photo.jpg" } }
  ]
}

Response (Non-Streaming)

{
  "role": "assistant",
  "type": "message",
  "id": "msg_bbb32326-155e-4dec-aa49-9899e2cada52",
  "model": "claude-opus-4-6",
  "stop_reason": "end_turn",
  "content": [
    { "type": "text", "text": "Quantum computing uses qubits..." }
  ],
  "usage": {
    "input_tokens": 20,
    "output_tokens": 661
  },
  "credits_consumed": 1.66
}
FieldTypeDescription
idstringUnique message identifier
typestringAlways message
rolestringAlways assistant
modelstringModel that produced the response
stop_reasonstringOne of end_turn, max_tokens, stop_sequence, tool_use
contentarrayResponse content blocks (text or tool_use)
usage.input_tokensintNumber of input tokens
usage.output_tokensintNumber of output tokens
credits_consumednumberCredits actually charged for this call (computed at this platform's rate, independent of upstream's internal value)

Response (Streaming)

When stream: true, returns SSE events:

event: message_start
data: {"type":"message_start","message":{"id":"msg_...","usage":{"input_tokens":12,"output_tokens":1}}}

event: content_block_delta
data: {"type":"content_block_delta","delta":{"type":"text_delta","text":"Quantum"}}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":86}}

event: message_stop
data: {"type":"message_stop"}

Examples

Function Calling

curl -X POST https://api.aivideoapi.ai/v1/messages \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4-6",
    "messages": [
      { "role": "user", "content": "What is the weather in Boston today?" }
    ],
    "tools": [
      {
        "name": "get_current_weather",
        "description": "Get the current weather in a given location",
        "input_schema": {
          "type": "object",
          "properties": {
            "location": { "type": "string", "description": "City and state, e.g. Boston, MA" }
          },
          "required": ["location"]
        }
      }
    ],
    "stream": false
  }'

Extended Thinking

curl -X POST https://api.aivideoapi.ai/v1/messages \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4-6",
    "messages": [
      { "role": "user", "content": "Prove there are infinitely many primes" }
    ],
    "thinkingFlag": true
  }'

Error Codes

When a request fails, the API returns a JSON error response:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Your credit balance is too low. Please top up.",
    "type": "billing_error"
  }
}

Error Reference

HTTP StatusCodeTypeDescription
400invalid_requestinvalid_request_errorMissing or invalid parameters
401invalid_api_keyauthentication_errorAPI key is invalid, disabled, or deleted
402insufficient_creditsbilling_errorCredit balance too low, please top up
403ip_not_allowedpermission_errorRequest IP not in the key's allowlist
404model_not_foundinvalid_request_errorModel does not exist or is inactive
404task_not_foundinvalid_request_errorTask ID does not exist
429rate_limit_exceededrate_limit_errorToo many requests, please slow down
429spend_limit_exceededbilling_errorKey spend limit reached (hourly/daily/total)
500internal_errorapi_errorUnexpected server error
503upstream_errorupstream_errorUpstream AI provider returned an error

Common Scenarios

invalid_request (400)

Returned when required fields are missing or invalid.

{
  "error": {
    "code": "invalid_request",
    "message": "'model' is required.",
    "type": "invalid_request_error"
  }
}

insufficient_credits (402)

Your balance is too low. Check your balance with GET /v1/credits and top up in Dashboard > Billing.

invalid_api_key (401)

Possible causes:

  • The key does not start with sk-
  • The key has been disabled or deleted
  • The user account has been banned

upstream_error (503)

The upstream AI provider returned an error. This may happen when:

  • The input contains sensitive or prohibited content
  • The provider is temporarily unavailable
  • The request parameters are not supported by the provider

Credits are automatically refunded when a task fails due to upstream errors.