---
title: "Audio speeches"
method: GET
path: "/organization/usage/audio_speeches"
tags: ["Usage"]
---

# Audio speeches

`GET /organization/usage/audio_speeches`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/organization/usage/audio_speeches`
- Auth: HTTP bearer

Get audio speeches usage details for the organization.

## Query parameters

- `start_time` integer, required
- `end_time` integer
- `bucket_width` '1m' | '1h' | '1d'
- `project_ids` string[]
- `user_ids` string[]
- `api_key_ids` string[]
- `models` string[]
- `group_by` string[]
- `limit` integer
- `page` string

## Response `200`

Usage data retrieved successfully.

- UsageResponse
  - `object` 'page', required
  - `data` UsageTimeBucket[], required
    - `object` 'bucket', required
    - `start_time` integer, required
    - `end_time` integer, required
    - `results` union[], required
      - union
        - UsageCompletionsResult: The aggregated completions usage details of the specific time bucket.
          - `api_source` 'agents_api' | 'unlabeled', nullable: When grouped by `api_source`, `agents_api` identifies attributed Agents API activity and `unlabeled` includes all records without published source attribution, including historical and unknown origins. Unlabeled does not imply direct API usage. Without source grouping, this field is null.
          - `object` 'organization.usage.completions.result', required
          - `input_tokens` integer, required: The aggregated number of input tokens used, including cached and cache-write tokens. This includes text, audio, and image tokens. For customers subscribed to Scale Tier, this includes Scale Tier tokens.
          - `input_cached_tokens` integer: The aggregated number of cached input tokens used across text, audio, and image inputs. For customers subscribed to Scale Tier, this includes Scale Tier tokens.
          - `input_cache_write_tokens` integer: The aggregated number of input tokens written to the cache across 30-minute and 12-hour retention periods.
          - `input_cache_write_30m_tokens` integer, nullable: The aggregated number of input tokens written to the cache with a 30-minute retention period. May be absent or null for older responses.
          - `input_cache_write_12h_tokens` integer: The aggregated number of input tokens written to the cache with a 12-hour retention period.
          - `input_uncached_tokens` integer: The aggregated number of uncached input tokens used across text, audio, and image inputs, excluding cache-write tokens.
          - `output_tokens` integer, required: The aggregated number of output tokens used across text, audio, and image outputs. For customers subscribed to Scale Tier, this includes Scale Tier tokens.
          - `input_text_tokens` integer: The aggregated number of uncached text input tokens used, excluding cache-write tokens.
          - `output_text_tokens` integer: The aggregated number of text output tokens used.
          - `input_cached_text_tokens` integer: The aggregated number of cached text input tokens used.
          - `input_audio_tokens` integer: The aggregated number of uncached audio input tokens used.
          - `input_cached_audio_tokens` integer: The aggregated number of cached audio input tokens used.
          - `output_audio_tokens` integer: The aggregated number of audio output tokens used.
          - `input_image_tokens` integer: The aggregated number of uncached image input tokens used.
          - `input_cached_image_tokens` integer: The aggregated number of cached image input tokens used.
          - `output_image_tokens` integer: The aggregated number of image output tokens used.
          - `num_model_requests` integer, required: The count of requests made to the model.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
          - `batch` boolean, nullable: When `group_by=batch`, this field tells whether the grouped usage result is batch or not.
          - `service_tier` string, nullable: When `group_by=service_tier`, this field provides the service tier of the grouped usage result.
        - UsageEmbeddingsResult: The aggregated embeddings usage details of the specific time bucket.
          - `object` 'organization.usage.embeddings.result', required
          - `input_tokens` integer, required: The aggregated number of input tokens used.
          - `num_model_requests` integer, required: The count of requests made to the model.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
        - UsageModerationsResult: The aggregated moderations usage details of the specific time bucket.
          - `object` 'organization.usage.moderations.result', required
          - `input_tokens` integer, required: The aggregated number of input tokens used.
          - `num_model_requests` integer, required: The count of requests made to the model.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
        - UsageImagesResult: The aggregated images usage details of the specific time bucket.
          - `object` 'organization.usage.images.result', required
          - `images` integer, required: The number of images processed.
          - `num_model_requests` integer, required: The count of requests made to the model.
          - `source` string, nullable: When `group_by=source`, this field provides the source of the grouped usage result, possible values are `image.generation`, `image.edit`, `image.variation`.
          - `size` string, nullable: When `group_by=size`, this field provides the image size of the grouped usage result.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
        - UsageAudioSpeechesResult: The aggregated audio speeches usage details of the specific time bucket.
          - `object` 'organization.usage.audio_speeches.result', required
          - `characters` integer, required: The number of characters processed.
          - `num_model_requests` integer, required: The count of requests made to the model.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
        - UsageAudioTranscriptionsResult: The aggregated audio transcriptions usage details of the specific time bucket.
          - `object` 'organization.usage.audio_transcriptions.result', required
          - `seconds` integer, required: The number of seconds processed.
          - `num_model_requests` integer, required: The count of requests made to the model.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
        - UsageVectorStoresResult: The aggregated vector stores usage details of the specific time bucket.
          - `object` 'organization.usage.vector_stores.result', required
          - `usage_bytes` integer, required: The vector stores usage in bytes.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
        - UsageCodeInterpreterSessionsResult: The aggregated code interpreter sessions usage details of the specific time bucket.
          - `object` 'organization.usage.code_interpreter_sessions.result', required
          - `num_sessions` integer, required: The number of code interpreter sessions.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
        - UsageFileSearchCallsResult: The aggregated file search calls usage details of the specific time bucket.
          - `object` 'organization.usage.file_searches.result', required
          - `num_requests` integer, required: The count of file search calls.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `vector_store_id` string, nullable: When `group_by=vector_store_id`, this field provides the vector store ID of the grouped usage result.
        - UsageWebSearchCallsResult: The aggregated web search calls usage details of the specific time bucket.
          - `api_source` 'agents_api' | 'unlabeled', nullable: When grouped by `api_source`, `agents_api` identifies attributed Agents API activity and `unlabeled` includes all records without published source attribution, including historical and unknown origins. Unlabeled does not imply direct API usage. Without source grouping, this field is null.
          - `object` 'organization.usage.web_searches.result', required
          - `num_model_requests` integer, required: The count of model requests.
          - `num_requests` integer, required: The count of web search calls.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped usage result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped usage result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API key ID of the grouped usage result.
          - `model` string, nullable: When `group_by=model`, this field provides the model name of the grouped usage result.
          - `context_level` string, nullable: When `group_by=context_level`, this field provides the search context size of the grouped usage result.
        - CostsResult: The aggregated costs details of the specific time bucket.
          - `api_source` 'agents_api' | 'unlabeled', nullable: When grouped by `api_source`, `agents_api` identifies attributed Agents API activity and `unlabeled` includes all records without published source attribution, including historical and unknown origins. Unlabeled does not imply direct API usage. Without source grouping, this field is null.
          - `object` 'organization.costs.result', required
          - `amount` object: The monetary value in its associated currency.
            - `value` number: The numeric value of the cost.
            - `currency` string: Lowercase ISO-4217 currency e.g. "usd"
          - `line_item` string, nullable: When `group_by=line_item`, this field provides the line item of the grouped costs result.
          - `project_id` string, nullable: When `group_by=project_id`, this field provides the project ID of the grouped costs result.
          - `user_id` string, nullable: When `group_by=user_id`, this field provides the user ID of the grouped costs result.
          - `api_key_id` string, nullable: When `group_by=api_key_id`, this field provides the API Key ID of the grouped costs result.
          - `quantity` number, nullable: When `group_by=line_item`, this field provides the quantity of the grouped costs result.
          - `quantity_unit` union: The unit of the `quantity` value. If no single supported unit applies to the result, this field is `null`.
            - string
            - 'tokens' | '1000_tokens' | 'duration_seconds' | 'duration_minutes' | 'duration_hours' | 'gibibyte_hours' | 'images' | 'characters'
  - `has_more` boolean, required
  - `next_page` string, nullable, required

## Other responses

- `400`: The request parameters are invalid or the requested operation cannot be performed.
- `403`: The caller does not have permission to perform this operation.
- `429`: The request was rejected because a rate limit was exceeded.

## Changes

- **2026-10-19** `c09eea21c178`: 1 info
  - added the optional property `data/items/results/items/oneOf[#/components/schemas/UsageCompletionsResult]/input_cache_write_30m_tokens` to the response with the `200` status
- **2026-10-06** `487892d3954e`: 3 info
  - added the optional property `error/anyOf[#/components/schemas/Error]/misalignment/review_target` to the response with the `403` status
  - added the optional property `error/misalignment/review_target` to the response with the `400` status
  - added the optional property `error/misalignment/review_target` to the response with the `429` status
- **2026-10-05** `7f654af7f94f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/organization/usage/audio_speeches/get.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
