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

# Quickstart

> Create an API key, discover projects, submit a branded job, and fetch the final output.

# Quickstart

Use this flow when you want to go from a fresh API key to a completed branded asset as quickly as possible.

## Before you begin

* Base URL: `https://api.techforgeinnovate.com`
* Auth header: `x-api-key: YOUR_API_KEY`
* API keys are created in the TFI Studio app at `https://app.techforgeinnovate.com/api-access`
* Project-aware endpoints only return data that belongs to the account behind the API key

## 1. Confirm the key works

```bash theme={null}
curl "https://api.techforgeinnovate.com/auth/credits" \
  -H "x-api-key: $TFI_API_KEY"
```

Expected response:

```json theme={null}
{
  "credits": 1250
}
```

## 2. List active projects

Projects are reusable branded workflows inside TFI Studio. They define the template, instruction schema, scheduling window, and downstream handling for a render.

```bash theme={null}
curl "https://api.techforgeinnovate.com/api/provider/projects/active" \
  -H "x-api-key: $TFI_API_KEY"
```

Example response:

```json theme={null}
{
  "message": "Success",
  "data": [
    {
      "projectId": "468ea7a0-66e1-4357-a760-236e54167f3e",
      "projectName": "Spring campaign avatar video",
      "projectType": "ai_talking_video",
      "startDate": "2026-04-01T00:00:00.000Z",
      "endDate": null
    }
  ]
}
```

## 3. Inspect the mapping fields for a project

Mapping fields tell you which values the project expects. Use them to build the `values` object for a render job.

```bash theme={null}
curl "https://api.techforgeinnovate.com/api/provider/projects/468ea7a0-66e1-4357-a760-236e54167f3e/mapping-fields" \
  -H "x-api-key: $TFI_API_KEY"
```

Example response:

```json theme={null}
{
  "message": "Success",
  "data": {
    "projectId": "468ea7a0-66e1-4357-a760-236e54167f3e",
    "projectName": "Spring campaign avatar video",
    "projectType": "ai_talking_video",
    "fields": {
      "headline": {
        "label": "Headline",
        "instructionType": "text"
      },
      "voiceover": {
        "label": "Voiceover",
        "instructionType": "audio"
      }
    },
    "fetchedAt": "2026-04-16T12:00:00.000Z"
  }
}
```

## 4. Submit a job

`POST /jobs/v2` stores your request as job input, resolves the referenced project, queues the work, and returns the queued job record immediately.

```bash theme={null}
curl -X POST "https://api.techforgeinnovate.com/jobs/v2" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $TFI_API_KEY" \
  -d '{
    "template_id": "468ea7a0-66e1-4357-a760-236e54167f3e",
    "job_type": "ai_talking_video",
    "version": 2,
    "session_id": "fb8f8b96-cfef-4bf7-a819-a46d2afb4d1c",
    "values": {
      "headline": "Launch in minutes",
      "voiceover": {
        "audio_url": "https://cdn.example.com/audio/launch.mp3"
      },
      "avatar": {
        "image_url": "https://cdn.example.com/images/avatar.png"
      }
    }
  }'
```

Example response:

```json theme={null}
{
  "message": "Job update accepted and processing.",
  "job": {
    "uuid": "15a6331b-3837-4ae8-8fa7-d3ead3388d77",
    "job_status": "QUEUED",
    "job_type": "ai_talking_video",
    "template_id": "468ea7a0-66e1-4357-a760-236e54167f3e"
  }
}
```

## 5. Poll the job

```bash theme={null}
curl "https://api.techforgeinnovate.com/jobs/15a6331b-3837-4ae8-8fa7-d3ead3388d77" \
  -H "x-api-key: $TFI_API_KEY"
```

When the job finishes, check the `output` payload for the final storage path or output metadata produced by your workflow.

## 6. Turn the output path into a signed URL

```bash theme={null}
curl -G "https://api.techforgeinnovate.com/storage/generate-signed-path" \
  -H "x-api-key: $TFI_API_KEY" \
  --data-urlencode "path=ai-talking-videos/468ea7a0-66e1-4357-a760-236e54167f3e/outputs/15a6331b-3837-4ae8-8fa7-d3ead3388d77.mp4"
```

## Common next steps

* Use [getting-started/workflows](getting-started/workflows) to design your brand marketing pipeline.
* Use [api/provider-projects-active](api/provider-projects-active) and [api/provider-project-mapping-fields](api/provider-project-mapping-fields) to power project pickers inside your own app.
* Use [api/jobs-get](api/jobs-get) to poll queued work until it reaches `SUCCESS` or `FAILED`.
