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

# Primeros pasos

> De cero a tu primera solicitud que ejecuta el nivel más económico y aun así regresa a tiempo.

Envía una solicitud a través de FlexInference con tu clave de proveedor existente. Dirige tu cliente compatible con OpenAI a FlexInference, añade `start_within`, y FlexInference intentará el nivel flex más económico antes de escalar al estándar. Funciona con OpenAI, Gemini y Anthropic, y puedes fijar una [ruta en la nube](/es/models) para servir el mismo modelo a través de Amazon Bedrock o Google Vertex AI. En una solicitud flex, FlexInference cobra el 20% de los ahorros, y no cobra nada cuando no hay ahorros.

## Requisitos previos

* Una [clave de API de OpenAI](https://platform.openai.com/api-keys) con crédito disponible. FlexInference usa tu clave como BYOK, y OpenAI te factura directamente.
* Una terminal con `curl`, o Python 3.9+, o Node.js 18+.

## Primeros pasos

<Steps>
  <Step title="Crear una cuenta de FlexInference">
    Ve al [panel de control](https://www.flexinference.com/dashboard) e inicia sesión. Tu cuenta es su propia organización. Es propietaria de tus claves de API y rastrea el uso, manteniendo tus claves y facturas separadas de otras organizaciones.
  </Step>

  <Step title="Crear una clave de API">
    En el panel de control, crea una clave. Comienza con `flex_live_...` y aparece solo una vez. Guárdala ahora. Envía esta clave a FlexInference en lugar de tu clave de OpenAI.
  </Step>

  <Step title="Añadir tu clave de OpenAI (BYOK)">
    Pega tu clave de OpenAI en el panel de control. FlexInference la almacena cifrada y la usa solo para las solicitudes realizadas en tu nombre; no la envías por cada solicitud. Consulta [Autenticación](/es/authentication) para más detalles.
  </Step>

  <Step title="Realizar tu primera solicitud">
    Dirige tu cliente a `https://api.flexinference.com/v1` y añade `start_within`. Aquí `00h-00m-30s` significa que la solicitud puede esperar hasta 30 segundos para comenzar. FlexInference intenta primero el nivel flex de OpenAI porque cuesta menos pero puede ponerse en cola. Si flex no comienza en 30 segundos, FlexInference ejecuta el nivel estándar normal en su lugar. Estándar es el nivel de precio completo y comienza de inmediato.

    Flex es el nivel más económico y puede esperar en una cola antes de comenzar. Estándar es el nivel normal de precio completo y comienza de inmediato. FlexInference sube de precio, no baja de calidad: comienza con flex y usa estándar solo cuando flex no cumpliría tu límite de tiempo.

    `start_within` es el tiempo máximo de espera antes de que comience la solicitud. Escríbelo como una duración, por ejemplo `00h-00m-30s` para 30 segundos. Un valor mayor le da a flex más tiempo para comenzar, lo que puede ahorrar más dinero. Un valor menor mueve la solicitud a estándar antes. El ejemplo de Claude pasa `default` en lugar de una duración porque Anthropic no tiene un nivel flex para competir, por lo que la solicitud va directamente a estándar. El valor limita el tiempo de inicio, no el tiempo total de generación. Consulta la página de enrutamiento para ver la lista completa de valores.

    <CodeGroup>
      ```bash curl theme={null}
      curl https://api.flexinference.com/v1/responses \
        -H "Authorization: Bearer $FLEX_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "gpt-5-nano",
          "input": "Write a haiku about cheap GPUs.",
          "start_within": "00h-00m-30s"
        }'
      ```

      ```python Python (openai SDK) theme={null}
      from openai import OpenAI

      client = OpenAI(
          base_url="https://api.flexinference.com/v1",
          api_key="flex_live_...",  # your FlexInference key
      )

      resp = client.responses.create(
          model="gpt-5-nano",
          input="Write a haiku about cheap GPUs.",
          extra_body={"start_within": "00h-00m-30s"},
      )
      print(resp.output_text)
      ```

      ```typescript Node (openai SDK) theme={null}
      import OpenAI from "openai";

      const client = new OpenAI({
        baseURL: "https://api.flexinference.com/v1",
        apiKey: "flex_live_...", // your FlexInference key
      });

      const resp = await client.responses.create({
        model: "gpt-5-nano",
        input: "Write a haiku about cheap GPUs.",
        // start_within is a FlexInference extension; cast to pass it through.
        start_within: "00h-00m-30s",
      } as any);

      console.log(resp.output_text);
      ```

      ```bash curl (Gemini, Interactions) theme={null}
      curl https://api.flexinference.com/v1/interactions \
        -H "Authorization: Bearer $FLEX_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "gemini-3.5-flash",
          "input": "Write a haiku about cheap GPUs.",
          "start_within": "00h-00m-30s"
        }'
      ```

      ```bash curl (Claude, Messages) theme={null}
      curl https://api.flexinference.com/v1/messages \
        -H "Authorization: Bearer $FLEX_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "claude-opus-4-8",
          "max_tokens": 1024,
          "messages": [{ "role": "user", "content": "Write a haiku about cheap GPUs." }],
          "start_within": "default"
        }'
      ```
    </CodeGroup>
  </Step>
</Steps>

<Check>
  Una respuesta `200` con `"service_tier": "flex"` significa que flex comenzó a tiempo y
  ahorró dinero en esta llamada. `"service_tier": "default"` significa que FlexInference usó
  estándar porque flex no cumpliría tu límite de tiempo. Los encabezados de respuesta
  `x-flexinference-flex-applied` y `x-flexinference-flex-reason` exponen el
  mismo resultado para el código. De cualquier manera, la solicitud se completa a tiempo.
</Check>

<Note>
  Si tu primera solicitud falla, lee el cuerpo del error. Los errores de FlexInference indican
  qué salió mal, por qué sucedió, cómo solucionarlo e incluyen un ejemplo funcional.
  Si no has añadido tu clave de OpenAI en el panel de control, el error lo indicará
  y te dirigirá a la página que lo soluciona. Los errores del proveedor se transmiten
  con su estado y cuerpo originales. Consulta la página de errores para ver la lista completa.
</Note>

## Qué probar a continuación

<CardGroup cols={2}>
  <Card title="Establece tu límite de tiempo" icon="hourglass-half" href="/es/deadline-routing">
    Aprende los valores de `start_within` y la regla que mueve las solicitudes de flex
    a estándar.
  </Card>

  <Card title="Streaming, herramientas, visión" icon="code" href="/es/sdks">
    Usa streaming, herramientas y visión en OpenAI, Gemini y Anthropic.
  </Card>
</CardGroup>
