Class: TemplateFox::AgentApi
- Inherits:
-
Object
- Object
- TemplateFox::AgentApi
- Defined in:
- lib/templatefox/api/agent_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#create_agent_template(create_agent_template_request, opts = {}) ⇒ AgentJobCreatedResponse
Create a template with the authoring agent Describe the image template you want; the TemplateFox agent authors it for you — valid HTML that renders deterministically AND stays editable in the visual editor, with every layer named and drivable through
/v1/image/createmodifications. -
#create_agent_template_with_http_info(create_agent_template_request, opts = {}) ⇒ Array<(AgentJobCreatedResponse, Integer, Hash)>
Create a template with the authoring agent Describe the image template you want; the TemplateFox agent authors it for you — valid HTML that renders deterministically AND stays editable in the visual editor, with every layer named and drivable through `/v1/image/create` modifications.
-
#get_agent_job(job_id, opts = {}) ⇒ AgentJobStatusResponse
Get authoring-agent job status Poll the status of an authoring-agent job.
-
#get_agent_job_with_http_info(job_id, opts = {}) ⇒ Array<(AgentJobStatusResponse, Integer, Hash)>
Get authoring-agent job status Poll the status of an authoring-agent job.
-
#initialize(api_client = ApiClient.default) ⇒ AgentApi
constructor
A new instance of AgentApi.
-
#revise_agent_template(template_id, revise_agent_template_request, opts = {}) ⇒ AgentJobCreatedResponse
Revise a template with the authoring agent Send natural-language feedback on an existing image template; the agent revises the draft while keeping layer names stable.
-
#revise_agent_template_with_http_info(template_id, revise_agent_template_request, opts = {}) ⇒ Array<(AgentJobCreatedResponse, Integer, Hash)>
Revise a template with the authoring agent Send natural-language feedback on an existing image template; the agent revises the draft while keeping layer names stable.
Constructor Details
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/templatefox/api/agent_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#create_agent_template(create_agent_template_request, opts = {}) ⇒ AgentJobCreatedResponse
Create a template with the authoring agent
Describe the image template you want; the TemplateFox agent authors it for you — valid HTML that renders deterministically AND stays editable in the visual editor, with every layer named and drivable through /v1/image/create modifications. The job is asynchronous: poll GET /v1/agent/jobs/{job_id}. When completed, the response always includes a preview_url (rendered PNG) plus the template_id. Iterate with POST /v1/agent/templates/{template_id}/revise. Authentication: API Key required (x-api-key header) ## Credits Creation costs 25 credits, deducted when the job is queued and fully refunded if the job fails. ## Canvas Pass a preset (instagram-square, instagram-story, og-image, twitter-card, pinterest-pin, square-512) or explicit width + height in px. ## Rate Limits Standard rate limits apply (60 req/min free, 120 req/min paid).
27 28 29 30 |
# File 'lib/templatefox/api/agent_api.rb', line 27 def create_agent_template(create_agent_template_request, opts = {}) data, _status_code, _headers = create_agent_template_with_http_info(create_agent_template_request, opts) data end |
#create_agent_template_with_http_info(create_agent_template_request, opts = {}) ⇒ Array<(AgentJobCreatedResponse, Integer, Hash)>
Create a template with the authoring agent Describe the image template you want; the TemplateFox agent authors it for you — valid HTML that renders deterministically AND stays editable in the visual editor, with every layer named and drivable through `/v1/image/create` modifications. The job is asynchronous: poll `GET /v1/agent/jobs/job_id`. When completed, the response always includes a preview_url (rendered PNG) plus the `template_id`. Iterate with `POST /v1/agent/templates/template_id/revise`. Authentication: API Key required (`x-api-key` header) ## Credits Creation costs 25 credits, deducted when the job is queued and fully refunded if the job fails. ## Canvas Pass a `preset` (instagram-square, instagram-story, og-image, twitter-card, pinterest-pin, square-512) or explicit `width` + `height` in px. ## Rate Limits Standard rate limits apply (60 req/min free, 120 req/min paid).
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/templatefox/api/agent_api.rb', line 37 def create_agent_template_with_http_info(create_agent_template_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: AgentApi.create_agent_template ...' end # verify the required parameter 'create_agent_template_request' is set if @api_client.config.client_side_validation && create_agent_template_request.nil? fail ArgumentError, "Missing the required parameter 'create_agent_template_request' when calling AgentApi.create_agent_template" end # resource path local_var_path = '/v1/agent/templates' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(create_agent_template_request) # return_type return_type = opts[:debug_return_type] || 'AgentJobCreatedResponse' # auth_names auth_names = opts[:debug_auth_names] || ['ApiKeyAuth'] = opts.merge( :operation => :"AgentApi.create_agent_template", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: AgentApi#create_agent_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#get_agent_job(job_id, opts = {}) ⇒ AgentJobStatusResponse
Get authoring-agent job status
Poll the status of an authoring-agent job. Authentication: API Key required (x-api-key header) ## Status Values | Status | Description | |--------|-------------| | pending | Job is queued | | processing | The agent is authoring (typically 30s-3min) | | completed | Done — template_id and preview_url are set | | failed | Job failed (see error_message); credits were refunded | Poll every 2-5 seconds. A job stuck in processing for more than 10 minutes is failed automatically and its credits refunded.
95 96 97 98 |
# File 'lib/templatefox/api/agent_api.rb', line 95 def get_agent_job(job_id, opts = {}) data, _status_code, _headers = get_agent_job_with_http_info(job_id, opts) data end |
#get_agent_job_with_http_info(job_id, opts = {}) ⇒ Array<(AgentJobStatusResponse, Integer, Hash)>
Get authoring-agent job status Poll the status of an authoring-agent job. Authentication: API Key required (`x-api-key` header) ## Status Values | Status | Description | |--------|-------------| | `pending` | Job is queued | | `processing` | The agent is authoring (typically 30s-3min) | | `completed` | Done — `template_id` and `preview_url` are set | | `failed` | Job failed (see error_message); credits were refunded | Poll every 2-5 seconds. A job stuck in `processing` for more than 10 minutes is failed automatically and its credits refunded.
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/templatefox/api/agent_api.rb', line 105 def get_agent_job_with_http_info(job_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: AgentApi.get_agent_job ...' end # verify the required parameter 'job_id' is set if @api_client.config.client_side_validation && job_id.nil? fail ArgumentError, "Missing the required parameter 'job_id' when calling AgentApi.get_agent_job" end # resource path local_var_path = '/v1/agent/jobs/{job_id}'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'AgentJobStatusResponse' # auth_names auth_names = opts[:debug_auth_names] || ['ApiKeyAuth'] = opts.merge( :operation => :"AgentApi.get_agent_job", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: AgentApi#get_agent_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#revise_agent_template(template_id, revise_agent_template_request, opts = {}) ⇒ AgentJobCreatedResponse
Revise a template with the authoring agent
Send natural-language feedback on an existing image template; the agent revises the draft while keeping layer names stable. Asynchronous — poll GET /v1/agent/jobs/{job_id}; the completed job always includes a fresh preview_url. Authentication: API Key required (x-api-key header) ## Credits A revision costs 10 credits, deducted when the job is queued and fully refunded if the job fails.
159 160 161 162 |
# File 'lib/templatefox/api/agent_api.rb', line 159 def revise_agent_template(template_id, revise_agent_template_request, opts = {}) data, _status_code, _headers = revise_agent_template_with_http_info(template_id, revise_agent_template_request, opts) data end |
#revise_agent_template_with_http_info(template_id, revise_agent_template_request, opts = {}) ⇒ Array<(AgentJobCreatedResponse, Integer, Hash)>
Revise a template with the authoring agent Send natural-language feedback on an existing image template; the agent revises the draft while keeping layer names stable. Asynchronous — poll `GET /v1/agent/jobs/job_id`; the completed job always includes a fresh preview_url. Authentication: API Key required (`x-api-key` header) ## Credits A revision costs 10 credits, deducted when the job is queued and fully refunded if the job fails.
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'lib/templatefox/api/agent_api.rb', line 170 def revise_agent_template_with_http_info(template_id, revise_agent_template_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: AgentApi.revise_agent_template ...' end # verify the required parameter 'template_id' is set if @api_client.config.client_side_validation && template_id.nil? fail ArgumentError, "Missing the required parameter 'template_id' when calling AgentApi.revise_agent_template" end # verify the required parameter 'revise_agent_template_request' is set if @api_client.config.client_side_validation && revise_agent_template_request.nil? fail ArgumentError, "Missing the required parameter 'revise_agent_template_request' when calling AgentApi.revise_agent_template" end # resource path local_var_path = '/v1/agent/templates/{template_id}/revise'.sub('{' + 'template_id' + '}', CGI.escape(template_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(revise_agent_template_request) # return_type return_type = opts[:debug_return_type] || 'AgentJobCreatedResponse' # auth_names auth_names = opts[:debug_auth_names] || ['ApiKeyAuth'] = opts.merge( :operation => :"AgentApi.revise_agent_template", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: AgentApi#revise_agent_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |