> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shareofmodel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Estimate Video Analysis Cost

> Price a selection of videos before analyzing them: the cost of each video in Generations (one per started 20 minutes, minimum one), the total, the workspace's remaining balance, and whether that balance covers the selection. Nothing is created or charged. Videos the platform does not know are skipped. Already-analyzed videos are priced like any other -- they cost nothing at trigger time, so a quote can exceed what is finally charged. Readable by any workspace member.



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger-sos.json post /v1/organizations/{organization_id}/workspaces/{workspace_id}/search/video-analyses/cost
openapi: 3.0.3
info:
  title: Share Of Model API
  version: v1
  description: >-
    ## Search



    The Share of Search API provides visibility, presence, and ranking metrics
    for tracked

    search and AI engine sources. Use it to analyse how a project performs
    across keywords,

    thematics, competitors, and ranked URLs over time.


    For the previous version of the API, see the [v1
    documentation](https://api.shareofsearch.jplus.io/docs/v1).
servers:
  - description: Search - Production API
    url: https://api.shareofsearch.jplus.io/
security: []
tags:
  - name: Projects
    description: >-
      Manage analyses (projects) within a workspace. Create new analyses and
      list existing ones.
  - name: Collects
    description: >-
      Access data collection runs and their raw results. List collect runs for
      an analysis, or retrieve the raw data captured during each run: domain
      rankings, brand mentions, keyword insights, and LLM/SERP responses.
  - name: Overview Metrics
    description: >-
      High-level, aggregated metrics that summarise the overall performance of
      an analysis. Use these endpoints to get a quick picture of visibility,
      presence, andranking across all keywords and sources.
  - name: Metrics
    description: >-
      Detailed, per-entity metrics for deep-diving into specific aspects of an
      analysis. Break down performance by domain, brand, keyword, URL, or
      competitor.
  - name: Insights
    description: >-
      Cross-project KPIs aggregated at the workspace or organization level.
      These endpoints consolidate metrics from all active projects within a
      workspace, or across every workspace of an organization, to provide a
      unified view of visibility, mentions, citations, sentiment, and ranking.
  - name: Shopping
    description: >-
      Shopping-specific metrics for analyses that track product listings in
      shopping engines. Measure product visibility, pricing, merchant coverage,
      and share of shelf across all tracked keywords and sources.
  - name: Ads
    description: >-
      Sponsored-ad performance across tracked prompts and engines, including
      coverage, advertiser diversity, brand presence, and share of ad voice.
  - name: Creators
    description: >-
      YouTube creators cited as sources in AI-engine search results, enriched
      with channel metrics and an Influence Score. Browse creators across every
      project in a workspace, narrowed by country, engine, brand, category,
      analysis, and persona filters.
  - name: Video Analyses
    description: >-
      On-demand LLM analysis of an already-cited YouTube video: why it works as
      a citation source, the brands it treats, and an internal creator
      pre-brief. Price a selection before committing to it, trigger the
      analyses, and read the results.
  - name: Creator Briefs
    description: >-
      Partnership briefs written for shortlisted YouTube creators: a markdown
      document with its brand context, saved and edited by the user, with one
      version recorded per save and the diff into each version stored at write
      time.
  - name: CSV Export
    description: >-
      Generic CSV export gateway shared across features. `export_type` selects
      which dataset to export; each feature registers its own export types and
      usecases on the same CsvExportUsecase base rather than duplicating the
      CSV-writing/validation mechanics.
paths:
  /v1/organizations/{organization_id}/workspaces/{workspace_id}/search/video-analyses/cost:
    post:
      tags:
        - Video Analyses
      summary: Estimate Video Analysis Cost
      description: >-
        Price a selection of videos before analyzing them: the cost of each
        video in Generations (one per started 20 minutes, minimum one), the
        total, the workspace's remaining balance, and whether that balance
        covers the selection. Nothing is created or charged. Videos the platform
        does not know are skipped. Already-analyzed videos are priced like any
        other -- they cost nothing at trigger time, so a quote can exceed what
        is finally charged. Readable by any workspace member.
      operationId: estimate_video_analysis_cost
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            title: Organization Id
        - name: workspace_id
          in: path
          required: true
          schema:
            type: string
            title: Workspace Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoAnalysisCostRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoAnalysisCostResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    VideoAnalysisCostRequest:
      properties:
        creator_video_ids:
          items:
            type: string
          type: array
          title: Creator Video Ids
          description: >-
            The videos to price. Ids the workspace does not know are skipped
            rather than rejected, so a stale selection still gets a price for
            the rest of it.
      type: object
      required:
        - creator_video_ids
      title: VideoAnalysisCostRequest
    VideoAnalysisCostResponse:
      properties:
        videos:
          items:
            $ref: '#/components/schemas/VideoAnalysisCostItemResponse'
          type: array
          title: Videos
        total_cost:
          type: integer
          title: Total Cost
          description: Generations the whole selection would cost.
        available_generations:
          type: integer
          title: Available Generations
          description: Generations currently left in the workspace.
        is_affordable:
          type: boolean
          title: Is Affordable
          description: >-
            True when the workspace balance covers the total. A selection
            holding videos that were already analyzed is still priced in full
            here -- the trigger, not this endpoint, decides what is actually
            charged.
      type: object
      required:
        - videos
        - total_cost
        - available_generations
        - is_affordable
      title: VideoAnalysisCostResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    VideoAnalysisCostItemResponse:
      properties:
        creator_video_id:
          type: string
          title: Creator Video Id
        youtube_video_id:
          type: string
          title: Youtube Video Id
        title:
          type: string
          nullable: true
          title: Title
        duration_seconds:
          type: integer
          nullable: true
          title: Duration Seconds
          description: >-
            Video duration as enriched by the creator pipeline. Absent when it
            has not been enriched yet, in which case the analysis is priced at
            the one-Generation floor.
        cost:
          type: integer
          title: Cost
          description: >-
            Generations this video would cost: one per started 20 minutes,
            minimum one.
      type: object
      required:
        - creator_video_id
        - youtube_video_id
        - cost
      title: VideoAnalysisCostItemResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.