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

# Introduction

> Meet Aspect Media Engine — index, analyze, and search your media with simple APIs and SDKs

## What is Aspect?

Aspect Media Engine is an API + SDK that turns raw media into structured, searchable data. Upload assets, run AI features like transcription and embeddings, stream optimized proxies/previews, and analyze images with simple calls.

<Columns cols={2}>
  <Card title="Sign up & get an API key" icon="key" href="https://playground.aspect.inc/api-keys">
    Create an account and grab your API key to authenticate requests.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Ingest your first asset and run search/analysis in minutes.
  </Card>

  <Card title="API reference" icon="terminal" href="/api-reference">
    Explore endpoints, payloads, and responses.
  </Card>

  <Card title="SDK reference" icon="code" href="/sdk-reference">
    Explore endpoints, payloads, and responses.
  </Card>
</Columns>

## Upload and search in minutes

<CodeGroup>
  ```typescript Node.js theme={null}
  import { Aspect } from 'aspect-sdk'

  const client = new Aspect({
    apiKey: 'YOUR_API_KEY'
  })

  // Create a place to organize assets
  const index = await client.indexes.create({
    name: 'Getting Started',
    features: ['visual']
  })

  // Add a video from a file path
  const { assetId } = await client.assets.create({
    indexId: index.id,
    name: 'video.mp4',
    assetFile: '/path/to/video.mp4',
    features: ['transcription'],
    saveOriginal: true,
  })

  // Search your indexed content
  const results = await client.search.run({
    indexId: index.id,
    query: "your-search-query",
  })
  console.log(results)
  ```

  ```python Python theme={null}
  from aspect_sdk import (
      Aspect, AspectConfig,
      IndexCreateRequest, AssetCreateRequest,
      SearchRequest,
  )

  client = Aspect(AspectConfig(
      api_key='YOUR_API_KEY',
  ))

  # Create a place to organize assets
  index = client.indexes.create(IndexCreateRequest(
      name='Getting Started',
      features=[CoreFeatureType.VISUAL]
  ))

  # Add a video from a file path
  resp = client.assets.create(AssetCreateRequest(
      index_id=index.id,
      name='video.mp4',
      asset_file='/path/to/video.mp4',
      features=[CoreFeatureType.TRANSCRIPTION],
      save_original=True,
  ))

  # Search your indexed content
  results = client.search.run(SearchRequest(
    index_id=index.id,
    query='your-search-query',
  ))
  print(results)
  ```
</CodeGroup>

## Core flows

<Columns cols={2}>
  <Card title="Create an index" icon="folder" href="/quickstart">
    Organize assets and set default features.
  </Card>

  <Card title="Upload assets" icon="upload" href="/quickstart">
    Add videos, images, or audio with a file or URL.
  </Card>

  <Card title="Run tasks" icon="gears" href="/quickstart">
    Queue transcription or embeddings and track progress.
  </Card>

  <Card title="Analyze images" icon="sparkles" href="/sdk-reference/node">
    Ask, point, or box queries for image understanding.
  </Card>

  <Card title="API reference" icon="terminal" href="/api-reference/introduction">
    Explore endpoints and schemas.
  </Card>
</Columns>

## Next steps

<Columns cols={2}>
  <Card title="Node.js SDK" icon="code" href="/sdk-reference/node">
    Install and use the Node.js SDK.
  </Card>

  <Card title="Python SDK" icon="code" href="/sdk-reference/python">
    Install and use the Python SDK.
  </Card>

  <Card title="Core concepts" icon="circle-info" href="/essentials/introduction">
    Learn indexes, assets, features, and tasks.
  </Card>

  <Card title="Webhooks" icon="bolt" href="/advanced/webhooks">
    Receive task updates in your app.
  </Card>
</Columns>
