# emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD > emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD This file is intended for AI coding agents wiring an application to this specific Chutes model. ## Important URLs - Model page: https://chutes.ai/app/chute/emg-120-002-emglab-ai-affine-5cjsndes5wtk7jtdb8r1mxsdbmv7a - Model llms.txt: https://chutes.ai/app/chute/emg-120-002-emglab-ai-affine-5cjsndes5wtk7jtdb8r1mxsdbmv7a/llms.txt - Global Chutes llms.txt: https://chutes.ai/llms.txt - Full Chutes docs export: https://chutes.ai/llms-full.txt - OpenAPI schema: https://api.chutes.ai/openapi.json ## Model Identifiers - Name: `emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD` - Chute ID: `5cec4a7f-8b02-5571-b780-1c3441d7474f` - Slug: `emg-120-002-emglab-ai-affine-5cjsndes5wtk7jtdb8r1mxsdbmv7a` - Owner: `emg_120_002` ## Authentication - Use `Authorization: Bearer $CHUTES_API_KEY` for inference calls. - Send JSON request bodies with `Content-Type: application/json` unless the endpoint documentation says otherwise. - The request body is FLAT — send the request fields at the top level (no `input_args`/`args` wrapper). - This model is served on the shared OpenAI-compatible gateway. Set the request `model` field to the exact Name above (`emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD`), and use base URL `https://llm.chutes.ai/v1`. - For base64 media fields, send raw base64 strings in API requests. The web playground may use temporary Blob upload references internally for large files before proxying to Chutes. ## Endpoints ### 1. POST /v1/chat/completions - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` - Streaming: yes Request fields: - `seed` (integer, optional) Default: 42. - `model` (string, optional) Default: "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD". - `stream` (boolean, optional) Default: true. - `messages` (array, optional) Default: [{"role":"user","content":""}]. - `max_tokens` (integer, optional) Default: 1024. - `temperature` (number, optional) Default: 0.7. Example call: ```bash curl -X POST "https://llm.chutes.ai/v1/chat/completions" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD", "messages": [ { "role": "user", "content": "Hello!" } ], "stream": true, "max_tokens": 1024, "temperature": 0.7 }' ``` ### 2. POST /v1/completions - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` - Streaming: yes Request fields: - `seed` (integer, optional) Default: 42. - `model` (string, optional) Default: "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD". - `prompt` (string, required) - `stream` (boolean, optional) Default: true. - `max_tokens` (integer, optional) Default: 1024. - `temperature` (number, optional) Default: 0.7. Example call: ```bash curl -X POST "https://llm.chutes.ai/v1/completions" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "seed": 42, "model": "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD", "prompt": "a serene mountain lake at sunset", "stream": false, "max_tokens": 1024, "temperature": 0.7, "min_p": 0, "top_k": -1, "top_p": 1, "logprobs": false, "ignore_eos": false, "min_tokens": 0, "top_logprobs": 0, "length_penalty": 1, "use_beam_search": false, "presence_penalty": 0, "frequency_penalty": 0, "repetition_penalty": 1, "skip_special_tokens": true, "include_stop_str_in_output": false, "spaces_between_special_tokens": true }' ``` ### 3. POST /v1/chat/completions - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` Request fields: - `seed` (integer, optional) Default: 42. - `model` (string, optional) Default: "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD". - `stream` (boolean, optional) Default: false. - `messages` (array, optional) Default: [{"role":"user","content":""}]. - `max_tokens` (integer, optional) Default: 1024. - `temperature` (number, optional) Default: 0.7. Example call: ```bash curl -X POST "https://llm.chutes.ai/v1/chat/completions" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD", "messages": [ { "role": "user", "content": "Hello!" } ], "stream": false, "max_tokens": 1024, "temperature": 0.7 }' ``` ### 4. POST /tokenize - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` Request fields: - `seed` (integer, optional) Default: null. - `stop` (array, optional) - `min_p` (number, optional) Default: 0. - `model` (string, required) - `top_k` (integer, optional) Default: -1. - `top_p` (number, optional) Default: 1. - `prompt` (string, required) - `stream` (boolean, optional) Default: false. - `best_of` (integer, optional) Default: null. - `logprobs` (boolean, optional) Default: false. - `ignore_eos` (boolean, optional) Default: false. - `logit_bias` (object, optional) Default: null. - `max_tokens` (integer, optional) Default: null. - `min_tokens` (integer, optional) Default: 0. - `temperature` (number, optional) Default: 0.7. - `top_logprobs` (integer, optional) Default: 0. - `length_penalty` (number, optional) Default: 1. - `stop_token_ids` (array, optional) - `prompt_logprobs` (integer, optional) Default: null. - `response_format` (object, optional) Default: null. - `use_beam_search` (boolean, optional) Default: false. - `presence_penalty` (number, optional) Default: 0. - `frequency_penalty` (number, optional) Default: 0. - `add_special_tokens` (boolean, required) - `repetition_penalty` (number, optional) Default: 1. - `skip_special_tokens` (boolean, optional) Default: true. - `include_stop_str_in_output` (boolean, optional) Default: false. - `spaces_between_special_tokens` (boolean, optional) Default: true. Example call: ```bash curl -X POST "https://llm.chutes.ai/tokenize" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "seed": 42, "min_p": 0, "model": "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD", "top_k": -1, "top_p": 1, "prompt": "a serene mountain lake at sunset", "stream": false, "logprobs": false, "ignore_eos": false, "max_tokens": 1024, "min_tokens": 0, "temperature": 0.7, "top_logprobs": 0, "length_penalty": 1, "use_beam_search": false, "presence_penalty": 0, "frequency_penalty": 0, "add_special_tokens": false, "repetition_penalty": 1, "skip_special_tokens": true, "include_stop_str_in_output": false, "spaces_between_special_tokens": true }' ``` ### 5. POST /detokenize - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` Request fields: - `seed` (integer, optional) Default: null. - `stop` (array, optional) - `min_p` (number, optional) Default: 0. - `model` (string, required) - `top_k` (integer, optional) Default: -1. - `top_p` (number, optional) Default: 1. - `stream` (boolean, optional) Default: false. - `tokens` (array, required) - `best_of` (integer, optional) Default: null. - `logprobs` (boolean, optional) Default: false. - `ignore_eos` (boolean, optional) Default: false. - `logit_bias` (object, optional) Default: null. - `max_tokens` (integer, optional) Default: null. - `min_tokens` (integer, optional) Default: 0. - `temperature` (number, optional) Default: 0.7. - `top_logprobs` (integer, optional) Default: 0. - `length_penalty` (number, optional) Default: 1. - `stop_token_ids` (array, optional) - `prompt_logprobs` (integer, optional) Default: null. - `response_format` (object, optional) Default: null. - `use_beam_search` (boolean, optional) Default: false. - `presence_penalty` (number, optional) Default: 0. - `frequency_penalty` (number, optional) Default: 0. - `repetition_penalty` (number, optional) Default: 1. - `skip_special_tokens` (boolean, optional) Default: true. - `include_stop_str_in_output` (boolean, optional) Default: false. - `spaces_between_special_tokens` (boolean, optional) Default: true. Example call: ```bash curl -X POST "https://llm.chutes.ai/detokenize" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "seed": 42, "min_p": 0, "model": "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD", "top_k": -1, "top_p": 1, "stream": false, "tokens": [ 1 ], "logprobs": false, "ignore_eos": false, "max_tokens": 1024, "min_tokens": 0, "temperature": 0.7, "top_logprobs": 0, "length_penalty": 1, "use_beam_search": false, "presence_penalty": 0, "frequency_penalty": 0, "repetition_penalty": 1, "skip_special_tokens": true, "include_stop_str_in_output": false, "spaces_between_special_tokens": true }' ``` ### 6. POST /v1/completions - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` Request fields: - `seed` (integer, optional) Default: 42. - `model` (string, optional) Default: "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD". - `prompt` (string, required) - `stream` (boolean, optional) Default: false. - `max_tokens` (integer, optional) Default: 1024. - `temperature` (number, optional) Default: 0.7. Example call: ```bash curl -X POST "https://llm.chutes.ai/v1/completions" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "seed": 42, "model": "emglab-ai/Affine-5CJsNdES5WTK7JtdB8r1MXsDbmv7AZAQwk3jAWFa5UswySzD", "prompt": "a serene mountain lake at sunset", "stream": false, "max_tokens": 1024, "temperature": 0.7, "min_p": 0, "top_k": -1, "top_p": 1, "logprobs": false, "ignore_eos": false, "min_tokens": 0, "top_logprobs": 0, "length_penalty": 1, "use_beam_search": false, "presence_penalty": 0, "frequency_penalty": 0, "repetition_penalty": 1, "skip_special_tokens": true, "include_stop_str_in_output": false, "spaces_between_special_tokens": true }' ``` ### 7. GET /v1/models - Base URL: `https://llm.chutes.ai` - Output content type: `application/json` Request fields: Example call: ```bash curl -X GET "https://llm.chutes.ai/v1/models" \ -H "Authorization: Bearer $CHUTES_API_KEY" \ -H "Content-Type: application/json" \ -d '{}' ``` ## Agent Integration Checklist - Pick the endpoint path that matches the desired task. - Set `CHUTES_API_KEY` in the server-side environment only. - Validate required fields before sending requests. - For media models, keep file upload, base64 conversion, and output preview/download handling explicit in the app UI.